David Miller <davem@xxxxxxxxxxxxx> writes: > From: Ido Schimmel <idosch@xxxxxxxxxxxx> > Date: Mon, 19 Nov 2018 16:11:07 +0000 > >> From: Petr Machata <petrm@xxxxxxxxxxxx> >> >> When a packet is trapped and the corresponding SKB marked as >> already-forwarded, it retains this marking even after it is forwarded >> across veth links into another bridge. There, since it ingresses the >> bridge over veth, which doesn't have offload_fwd_mark, it triggers a >> warning in nbp_switchdev_frame_mark(). >> >> Then nbp_switchdev_allowed_egress() decides not to allow egress from >> this bridge through another veth, because the SKB is already marked, and >> the mark (of 0) of course matches. Thus the packet is incorrectly >> blocked. >> >> Solve by resetting offload_fwd_mark() in skb_scrub_packet(). That >> function is called from tunnels and also from veth, and thus catches the >> cases where traffic is forwarded between bridges and transformed in a >> way that invalidates the marking. >> >> Signed-off-by: Petr Machata <petrm@xxxxxxxxxxxx> >> Suggested-by: Ido Schimmel <idosch@xxxxxxxxxxxx> >> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxxxx> > > As a bug fix this seems relevant for 'net' instead of 'net-next'. Sure, I'll send for net. Thanks, Petr