Message ID | 871qluxzyy.fsf@laptop.lockywolf.net (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next,v1,1/1] vxlan: Make vxlan try without a local bypass, if bypass fails. | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Clearly marked for net-next |
netdev/apply | fail | Patch does not apply to net-next |
On Sun, 12 Mar 2023 14:07:05 +0800 Vladimir Nikishkin wrote: > From: Vladimir Nikishkin <vladimir@nikishkin.pw> > Date: Sun, 19 Feb 2023 21:24:49 +0800 > Subject: [PATCH net-next v1 1/1] vxlan: Make vxlan try without a local bypass, if bypass fails. > Signed-off-by: Vladimir Nikishkin <vladimir@nikishkin.pw> > From 8650e2e742b7a2cd6c35d1c034084b9f68e0f112 Mon Sep 17 00:00:00 2001 > In vxlan_core, if an fdb entry is pointing to a local > address with some port, the system tries to get the packet to > deliver the packet to the vxlan directly, bypassing the network > stack. Looks mangled, could you try resending with get send-email? Please make sure you CC the right people (scripts/get_maintainers)
diff --git a/drivers/net/vxlan/vxlan_core.c b/drivers/net/vxlan/vxlan_core.c index b1b179effe2a..0379902da766 100644 --- a/drivers/net/vxlan/vxlan_core.c +++ b/drivers/net/vxlan/vxlan_core.c @@ -2422,19 +2422,13 @@ static int encap_bypass_if_local(struct sk_buff *skb, struct net_device *dev, if (rt_flags & RTCF_LOCAL && !(rt_flags & (RTCF_BROADCAST | RTCF_MULTICAST))) { struct vxlan_dev *dst_vxlan; - - dst_release(dst); dst_vxlan = vxlan_find_vni(vxlan->net, dst_ifindex, vni, daddr->sa.sa_family, dst_port, vxlan->cfg.flags); if (!dst_vxlan) { - dev->stats.tx_errors++; - vxlan_vnifilter_count(vxlan, vni, NULL, - VXLAN_VNI_STATS_TX_ERRORS, 0); - kfree_skb(skb); - - return -ENOENT; + return 0; } + dst_release(dst); vxlan_encap_bypass(skb, vxlan, dst_vxlan, vni, true); return 1; }