secchan: Various fixes to run in-band on non-"local" port
authorJustin Pettit <jpettit@nicira.com>
Wed, 8 Jul 2009 17:40:55 +0000 (10:40 -0700)
committerJustin Pettit <jpettit@nicira.com>
Wed, 8 Jul 2009 18:19:52 +0000 (11:19 -0700)
commit26d9fe3b2dba0dac81053f4584a59754565b6c34
treee4eeaa2dcc5581f79fb39933e4aaaf080cbf6025
parent79c720a8302aafcd471b535833e88dae0e653671
secchan: Various fixes to run in-band on non-"local" port

The in-band control code assumed that we would connect to the controller
over the datapath's "local" port.  If the switch had multiple datapaths,
and the controller was only available through one of them, the other
datapaths would fail to connect.  This is addressed by the following
changes:

    - The controller's MAC address is looked up through the connection's
      interface instead of the datapath's local one.

    - We allow ARP traffic to be sent by the connection's interface.

    - We allow ARP traffic to be sent to the controller's MAC address.
      This is necessary if the controller is running locally (e.g. in a VM).

Bug #1466
extras/ezio/ovs-switchui.c
secchan/in-band.c
secchan/in-band.h
secchan/ofproto.c