On 15/02/16 16:49, Jiri Benc wrote: > On Thu, 11 Feb 2016 19:57:06 +0000, Brian Russell wrote: >> +skip_l2: >> skb_reset_network_header(skb); >> + >> /* In flow-based mode, GBP is carried in dst_metadata */ >> - if (!(vs->flags & VXLAN_F_COLLECT_METADATA)) >> + if (!(vs->flags & VXLAN_F_COLLECT_METADATA) && >> + !(vs->flags & VXLAN_F_GPE)) >> skb->mark = md->gbp; > > This is completely wrong. You cannot return a packet with a garbage in > place of the Ethernet header from ARPHRD_ETHER interface. For proper > VXLAN-GPE support, the vxlan interface needs to be in L3 mode, e.g. > ARPHRD_NONE. >
Yes, I see that, thanks for the clarification. (I was "getting away with" the broken code in my test as I was diverting packets bound for another interface onto the vxlan via a netfilter target.) > To support L3 mode, the vxlan driver needs *tons* of cleanups (or tons > of duplicate code). This is exactly what I've done and what I'm in > process of merging. The number of patches is too big to be submitted as > a single patchset, hence I'm submitting in parts. The first one has > been already merged (net-next commit 19f76f63507f). For the full code, > look at: > https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_jbenc_linux-2Dvxlan_commits_master&d=CwICAg&c=IL_XqQWOjubgfqINi2jTzg&r=Doie302MT-sezztwQymkPQ3_4X5Q3a0mKbiZzzoNm-0&m=dDreCW0fBOYAR9o10-A-Ifd5jVGfykbZGpkzbN11nMc&s=qdPcZavap7kJQOuN2Udz-h-CDNkP4GiV_CYrQwXD_Kg&e= > > > Comments are welcome. > This looks great so I'll drop my vxlan-gpe patch. I'd like to add the NSH capability on top of your patchset which I see is currently under review. Or did you have plans to roll out NSH soon also? Thanks, Brian > Jiri >
