X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;ds=sidebyside;f=net%2F8021q%2Fvlan_core.c;h=2d6e405fc4981cf0189836ce3a163833269a2e8b;hb=aa4abc9bcce0d2a7ec189e897f8f8c58ca04643b;hp=70435af153f24c56b6dba620a0b44852e2580ad9;hpb=814c01dc7c533033b4e99981a2e24a6195bfb43c;p=firefly-linux-kernel-4.4.55.git diff --git a/net/8021q/vlan_core.c b/net/8021q/vlan_core.c index 70435af153f2..2d6e405fc498 100644 --- a/net/8021q/vlan_core.c +++ b/net/8021q/vlan_core.c @@ -1,12 +1,16 @@ #include #include #include +#include #include "vlan.h" /* VLAN rx hw acceleration helper. This acts like netif_{rx,receive_skb}(). */ int __vlan_hwaccel_rx(struct sk_buff *skb, struct vlan_group *grp, u16 vlan_tci, int polling) { + if (netpoll_rx(skb)) + return NET_RX_DROP; + if (skb_bond_should_drop(skb)) goto drop; @@ -102,6 +106,9 @@ int vlan_gro_receive(struct napi_struct *napi, struct vlan_group *grp, { skb_gro_reset_offset(skb); + if (netpoll_receive_skb(skb)) + return NET_RX_DROP; + return napi_skb_finish(vlan_gro_common(napi, grp, vlan_tci, skb), skb); } EXPORT_SYMBOL(vlan_gro_receive); @@ -114,6 +121,9 @@ int vlan_gro_frags(struct napi_struct *napi, struct vlan_group *grp, if (!skb) return NET_RX_DROP; + if (netpoll_receive_skb(skb)) + return NET_RX_DROP; + return napi_frags_finish(napi, skb, vlan_gro_common(napi, grp, vlan_tci, skb)); }