[ovs-discuss] ovs-vswitchd disconnecting UNIX socket

Ben Pfaff blp at ovn.org
Sat Apr 23 21:07:04 UTC 2016


On Sat, Apr 23, 2016 at 11:45:12AM -0700, Ben Warren wrote:
> Thanks for the explanations!
> > On Apr 23, 2016, at 10:15 AM, Ben Pfaff <blp at ovn.org> wrote:
> > 
> > On Fri, Apr 22, 2016 at 11:25:26PM -0700, Ben Warren wrote:
> >> As you can see, the disconnects happen when the datapath ID changes,
> >> presumably due to adding interfaces?  Only the addition of the first
> >> two interfaces seem to bring it down.
> > 
> > OVS disconnects OpenFlow connections when the datapath ID changes
> > because the datapath ID is important to some controllers and OpenFlow
> > provides no way for a switch to notify a controller that the datapath ID
> > has changed.
> > 
> OK, so what causes the datapath ID to change (Linux kernel 3.10
> datapath in this case)?  Does it come from the kernel or is it an OVS
> thing?

The datapath ID is an OpenFlow concept, and there's no connection to the
OVS concept of a "datapath", so the datapath in use doesn't matter.

By default, Open vSwitch uses the lowest-numbered Ethernet address of
any of the physical ports connected to a bridge as the bridge's datapath
ID.  You can override this with other-config:datapath-id, as documented,
but otherwise if the ports in the bridge change the datapath ID may
change as well.

> >> On the client side, I’m really confused.  As you can see, I re-open
> >> the connection with a HELLO message, and the HELLO response comes back
> >> with an earlier XID (0x80 vs. the expected 0x86).  Message 0x83 was a
> >> BARRIER response, and a valid BARRIER reply was received, so it would
> >> seem that messages after 0x80 were accepted:
> > 
> > HELLO is not a request/response message.  Rather, both sides of the
> > OpenFlow connection send a hello message at the initiation of the
> > connection.  Each side chooses its own xid as it wishes, so one cannot
> > expect the xids to match.  The xid for a hello message is only
> > significant for sending an OFPT_ERROR response, if necessary.
> 
> OK, is this understanding correct: for send/receive (GetConfig,
> Feature etc.) messages ovs-vswitchd will mirror back the XID of the
> request, 

OpenFlow requires that behavior.

> but for HELLO it keeps a static monotonically increasing counter?

That's the current implementation but there's certainly no guarantee
that it won't change.



More information about the discuss mailing list