[ovs-dev] [minor fixes 4/6] bridge: Reintroduce log message that was lost (and wrong).

Ethan Jackson ethan at nicira.com
Mon Apr 18 18:08:22 UTC 2011


Looks Good.

Ethan

On Mon, Apr 11, 2011 at 11:01 AM, Ben Pfaff <blp at nicira.com> wrote:
> Setting the 'mac' in the Interface record for a bridge's local port has
> always been ineffective, but the log message was suppressed because of a
> check at too high of a level.  This commit fixes the problem.  It also
> fixes the wording of the log message, which has been obsolete since the
> introduction of the database.
>
> Finally, it seems better to check for the local port before checking for a
> multicast address, so this reverses the order of the checks.
> ---
>  vswitchd/bridge.c |   16 ++++++++--------
>  1 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c
> index 1e5caf9..b2e55bd 100644
> --- a/vswitchd/bridge.c
> +++ b/vswitchd/bridge.c
> @@ -439,9 +439,7 @@ set_iface_properties(struct bridge *br OVS_UNUSED, struct iface *iface,
>
>     /* Set MAC address of internal interfaces other than the local
>      * interface. */
> -    if (iface->dp_ifidx != ODPP_LOCAL && !strcmp(iface->type, "internal")) {
> -        iface_set_mac(iface);
> -    }
> +    iface_set_mac(iface);
>
>     return true;
>  }
> @@ -3217,13 +3215,15 @@ iface_set_mac(struct iface *iface)
>  {
>     uint8_t ea[ETH_ADDR_LEN];
>
> -    if (iface->cfg->mac && eth_addr_from_string(iface->cfg->mac, ea)) {
> -        if (eth_addr_is_multicast(ea)) {
> +    if (!strcmp(iface->type, "internal")
> +        && iface->cfg->mac && eth_addr_from_string(iface->cfg->mac, ea)) {
> +        if (iface->dp_ifidx == ODPP_LOCAL) {
> +            VLOG_ERR("interface %s: ignoring mac in Interface record "
> +                     "(use Bridge record to set local port's mac)",
> +                     iface->name);
> +        } else if (eth_addr_is_multicast(ea)) {
>             VLOG_ERR("interface %s: cannot set MAC to multicast address",
>                      iface->name);
> -        } else if (iface->dp_ifidx == ODPP_LOCAL) {
> -            VLOG_ERR("ignoring iface.%s.mac; use bridge.%s.mac instead",
> -                     iface->name, iface->name);
>         } else {
>             int error = netdev_set_etheraddr(iface->netdev, ea);
>             if (error) {
> --
> 1.7.1
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
>



More information about the dev mailing list