浏览代码

openvswitch: Drop packets when interdev is not up

If the internal device is not up, it should drop received
packets. Sometimes it receive the broadcast or multicast
packets, and the ip protocol stack will casue more cpu
usage wasted.

Signed-off-by: Chunhe Li <lichunhe@huawei.com>
Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Chunhe Li 11 年之前
父节点
当前提交
e1f9c356d2
共有 1 个文件被更改,包括 5 次插入0 次删除
  1. 5 0
      net/openvswitch/vport-internal_dev.c

+ 5 - 0
net/openvswitch/vport-internal_dev.c

@@ -224,6 +224,11 @@ static int internal_dev_recv(struct vport *vport, struct sk_buff *skb)
 	struct net_device *netdev = netdev_vport_priv(vport)->dev;
 	struct net_device *netdev = netdev_vport_priv(vport)->dev;
 	int len;
 	int len;
 
 
+	if (unlikely(!(netdev->flags & IFF_UP))) {
+		kfree_skb(skb);
+		return 0;
+	}
+
 	len = skb->len;
 	len = skb->len;
 
 
 	skb_dst_drop(skb);
 	skb_dst_drop(skb);