bridge: Cache bridge Ethernet address in struct bridge.
authorEthan Jackson <ethan@nicira.com>
Wed, 26 Jan 2011 21:14:42 +0000 (13:14 -0800)
committerEthan Jackson <ethan@nicira.com>
Thu, 3 Feb 2011 20:24:13 +0000 (12:24 -0800)
This patch stores each bridge's Ethernet address in its handle so
that it may be used in future patches.

vswitchd/bridge.c

index 3637ec655b527c7cf836752e93437e4939e915cd..a6b312435a3dddf5513c73e7f8d56d7d7d0f1bc6 100644 (file)
@@ -188,6 +188,7 @@ struct bridge {
     struct list node;           /* Node in global list of bridges. */
     char *name;                 /* User-specified arbitrary name. */
     struct mac_learning *ml;    /* MAC learning table. */
+    uint8_t ea[ETH_ADDR_LEN];   /* Bridge Ethernet Address. */
     uint8_t default_ea[ETH_ADDR_LEN]; /* Default MAC. */
     const struct ovsrec_bridge *cfg;
 
@@ -753,6 +754,7 @@ bridge_reconfigure(const struct ovsrec_open_vswitch *ovs_cfg)
                             br->name, strerror(error));
             }
         }
+        memcpy(br->ea, ea, ETH_ADDR_LEN);
 
         dpid = bridge_pick_datapath_id(br, ea, hw_addr_iface);
         ofproto_set_datapath_id(br->ofproto, dpid);