Thread (12 messages) flat view 12 messages, 2 authors, 2015-01-15

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help