On Wed, Sep 2, 2015 at 8:55 AM, Jesse Gross <je...@nicira.com> wrote: > On Wed, Sep 2, 2015 at 6:44 AM, Jesse Gross <je...@nicira.com> wrote: >> On Tue, Sep 1, 2015 at 7:14 PM, Pravin Shelar <pshe...@nicira.com> wrote: >>> On Tue, Sep 1, 2015 at 4:56 PM, Ben Pfaff <b...@nicira.com> wrote: >>>> I think I've come across a bug in OVS native tunneling, or at any rate >>>> an important difference between Linux kernel and OVS native tunneling. >>>> In Linux kernel tunneling, a tunnel packet received by the kernel first >>>> passes through the kernel IP stack. Among other things, the IP stack >>>> drops packets that are not destined to the current host. It appears to >>>> me that the native tunneling code doesn't have any similar check, >>>> because I'm seeing it accept and packets flooded by the upstream switch >>>> that are not destined to an IP address of the host. This means in >>>> effect that the user of native tunneling must set "options:local_ip", >>>> whereas a user of Linux kernel tunneling doesn't (and probably >>>> shouldn't). >>>> >>> Right. Its bug. >>> >>>> I suspect that this behavior is unintentional; it isn't mentioned in >>>> README-native-tunneling.md or (as far as I can tell) anywhere else. >>>> >>>> I noticed this while testing OVN. If you configure a few hypervisors >>>> and send packets from only one of them, then the switch that connects >>>> them will flood all the packets to all of the rest (since it hasn't yet >>>> learned where they are). The result is that for N hypervisors, remote >>>> VIFs get N-1 copies of the packets instead of just one. I'm appending a >>>> patch that works around it, though I'd prefer to fix the tunneling code >>>> rather than apply this patch. >>>> >>> We can fix it adding the local ip-address to tnl-port-map. >>> I will send a patch. >> >> Presumably we also should use DMAC as well? > > And I realized no VLAN tag as well (since if it is an access port, the > tag should be stripped off as already). > ok. I incorporate it in the patch.
> This is a larger point but there's a bunch of things that are missing > from a typical IP stack implementation. Some that I immediately see > are verifying the IP header checksum and checking the header length. I > guess there are probably others as well. I think we can do this checking in tnl-pop action. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev