Re: [PATCH 1/5] vxlan: Group Policy extension
From: Tom Herbert <hidden>
Date: 2015-01-15 01:08:21
On Wed, Jan 14, 2015 at 4:23 PM, Thomas Graf [off-list ref] wrote:
On 01/14/15 at 04:18pm, Tom Herbert wrote:quoted
quoted
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index 99df0d7..06f7196 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c@@ -126,6 +126,7 @@ struct vxlan_dev { __u8 tos; /* TOS override */ __u8 ttl; u32 flags; /* VXLAN_F_* in vxlan.h */ + u32 exts; /* Enabled extensions */Thomas, why not just make a VXAM_F_GPB flag? Then this setting can be saved in the flags for vxlan_dev and vxlan_sock so no exts field.Because we need to compare enabled extensions in vxlan_find_sock() to make sure we are not sharing a VXLAN socket with extensions enabled with a user which does not have the same extensions enabled. However, we do not want vxlan_find_sock() to compare all flags. So we need a bitmap that is ignored during the share check (flags) and a bitmap that must match to allow sharing (exts). The RCO extension is currently suffering from this bug which is causing a compatibility issue. I explained in the thread of your patch. I was under the imrpession that you would either send a v2 or fix it in a follow-up.
As I mentioned, we would also need to match receive checksum settings which is not appropriately called an extension. A mask of interesting flags could be used to do the comparison in vxlan_find_sock.