vxlan: Only bind to sockets with compatible flags enabled
A VXLAN net_device looking for an appropriate socket may only consider a socket which has a matching set of flags/extensions enabled. If incompatible flags are enabled, return a conflict to have the caller create a distinct socket with distinct port. The OVS VXLAN port is kept unaware of extensions at this point. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
3511494ce2
commit
ac5132d1a0
@@ -129,6 +129,9 @@ struct vxlan_sock {
|
||||
#define VXLAN_F_REMCSUM_RX 0x400
|
||||
#define VXLAN_F_GBP 0x800
|
||||
|
||||
/* These flags must match in order for a socket to be shareable */
|
||||
#define VXLAN_F_UNSHAREABLE VXLAN_F_GBP
|
||||
|
||||
struct vxlan_sock *vxlan_sock_add(struct net *net, __be16 port,
|
||||
vxlan_rcv_t *rcv, void *data,
|
||||
bool no_share, u32 flags);
|
||||
|
Reference in New Issue
Block a user