summaryrefslogtreecommitdiff
path: root/include/linux/netfilter.h
diff options
context:
space:
mode:
authorCambda Zhu <cambda@linux.alibaba.com>2023-06-26 12:33:47 +0300
committerPaolo Abeni <pabeni@redhat.com>2023-06-27 12:44:46 +0300
commit8a9922e7be6d042fa00f894c376473b17a162b66 (patch)
treeb8f6ece01e87b0775c6f73e2e44d890c37224c7a /include/linux/netfilter.h
parent6709d4b7bc2e079241fdef15d1160581c5261c10 (diff)
downloadlinux-8a9922e7be6d042fa00f894c376473b17a162b66.tar.xz
ipvlan: Fix return value of ipvlan_queue_xmit()
ipvlan_queue_xmit() should return NET_XMIT_XXX, but ipvlan_xmit_mode_l2/l3() returns rx_handler_result_t or NET_RX_XXX in some cases. ipvlan_rcv_frame() will only return RX_HANDLER_CONSUMED in ipvlan_xmit_mode_l2/l3() because 'local' is true. It's equal to NET_XMIT_SUCCESS. But dev_forward_skb() can return NET_RX_SUCCESS or NET_RX_DROP, and returning NET_RX_DROP(NET_XMIT_DROP) will increase both ipvlan and ipvlan->phy_dev drops counter. The skb to forward can be treated as xmitted successfully. This patch makes ipvlan_queue_xmit() return NET_XMIT_SUCCESS for forward skb. Fixes: 2ad7bf363841 ("ipvlan: Initial check-in of the IPVLAN driver.") Signed-off-by: Cambda Zhu <cambda@linux.alibaba.com> Link: https://lore.kernel.org/r/20230626093347.7492-1-cambda@linux.alibaba.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'include/linux/netfilter.h')
0 files changed, 0 insertions, 0 deletions