diff options
author | Ethan Jackson <ethan@nicira.com> | 2012-06-07 15:27:22 -0700 |
---|---|---|
committer | Ethan Jackson <ethan@nicira.com> | 2012-06-07 17:25:30 -0700 |
commit | 38f7147c3e7310ab3ea87420e120e2b1f2268975 (patch) | |
tree | 20ce212d7b85adf155c5f7f8358ac9fc58d4af9d /vswitchd/INTERNALS | |
parent | ca435eb9112e873853d3cf201ee3f0c5c76bf89f (diff) | |
download | openvswitch-38f7147c3e7310ab3ea87420e120e2b1f2268975.tar.gz |
packets: Use RARPs for learning packets.
Traditionally Open vSwitch had used 802.2 SNAP packets to update
upstream switch learning tables when necessary. This approach had
advantages in that debugging information could be embedded in the
packet helping hapless admins figure out what's going on. However,
since both qemu and VMware use RARP for this purpose, it seems
appropriate to fall in line with the defacto standard.
Requested-by: Ben Basler <bbasler@nicira.com>
Signed-off-by: Ethan Jackson <ethan@nicira.com>
Diffstat (limited to 'vswitchd/INTERNALS')
-rw-r--r-- | vswitchd/INTERNALS | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/vswitchd/INTERNALS b/vswitchd/INTERNALS index 645752d0c..7aa3c2967 100644 --- a/vswitchd/INTERNALS +++ b/vswitchd/INTERNALS @@ -57,14 +57,15 @@ enabled all output packets are blackholed anyway. When a slave becomes disabled, the vswitch immediately chooses a new output port for traffic that was destined for that slave (see -bond_enable_slave()). It also sends a "gratuitous learning packet" on -the bond port (on the newly chosen slave) for each MAC address that -the vswitch has learned on a port other than the bond (see -bond_send_learning_packets()), to teach the physical switch that the -new slave should be used in place of the one that is now disabled. -(This behavior probably makes sense only for a vswitch that has only -one port (the bond) connected to a physical switch; vswitchd should -probably provide a way to disable or configure it in other scenarios.) +bond_enable_slave()). It also sends a "gratuitous learning packet", +specifically a RARP, on the bond port (on the newly chosen slave) for +each MAC address that the vswitch has learned on a port other than the +bond (see bond_send_learning_packets()), to teach the physical switch +that the new slave should be used in place of the one that is now +disabled. (This behavior probably makes sense only for a vswitch that +has only one port (the bond) connected to a physical switch; vswitchd +should probably provide a way to disable or configure it in other +scenarios.) Bond Packet Input ----------------- |