[ovs-dev] [PATCH] tunneling: Track recursion levels across ARP generation.

Pravin Shelar pshelar at nicira.com
Thu Sep 17 21:42:52 UTC 2015


On Tue, Sep 15, 2015 at 8:48 PM, Jesse Gross <jesse at nicira.com> wrote:
> If a packet is output to a tunnel port when userspace tunneling is
> enabled, it will cause an ARP packet to be generated if the destination
> is unknown. This ARP packet is injected into the physical bridge as
> a new packet, where it is flooded.
>
> If there is a loop (such as if the tunnel destination is the same bridge),
> the result will be infinite recursion. Even though we currently track
> recursion limits, they are not effective here since each ARP packet is
> considered to be a new translation. This changes the behavior so that
> each ARP flow translation is initialized with the recursion counter of
> the previous flow. Note that the problem only applies to ARP - data
> packets in a loop will hit an existing recursion counter in the datapath.
>
> An additional side effect of this change is that ARP packets are no
> longer unconditionally flooded in the new bridge. They will now follow any
> flow rules in the new bridge that might apply to them, the same as with
> the kernel datapath.
>
> Reported-by: David Evans <davidjoshuaevans at gmail.com>
> Signed-off-by: Jesse Gross <jesse at nicira.com>

LGTM
Acked-by: Pravin B Shelar <pshelar at nicira.com>



More information about the dev mailing list