[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <52C62A52.8050003@huawei.com>
Date: Fri, 3 Jan 2014 11:11:14 +0800
From: Libo Chen <clbchenlibo.chen@...wei.com>
To: David Miller <davem@...emloft.net>
CC: <edumazet@...gle.com>, <kaber@...sh.net>, <peterz@...radead.org>,
<honkiko@...il.com>, <netdev@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>, <cgroups@...r.kernel.org>,
<containers@...ts.linux-foundation.org>, <jhs@...atatu.com>,
Li Zefan <lizefan@...wei.com>,
Serge Hallyn <serge.hallyn@...ntu.com>
Subject: [RFC PATCH net-next 3/4] veth: backup classid befor switch net_ns
dev_forward_skb will clear skb->sk, so we need save classid
before that, otherwise the skb can not be under control by
net_cls.
Signed-off-by: Libo Chen <clbchenlibo.chen@...wei.com>
---
drivers/net/veth.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/net/veth.c b/drivers/net/veth.c
index 2ec2041..ce43a2d 100644
--- a/drivers/net/veth.c
+++ b/drivers/net/veth.c
@@ -18,6 +18,7 @@
#include <net/xfrm.h>
#include <linux/veth.h>
#include <linux/module.h>
+#include <net/cls_cgroup.h>
#define DRV_NAME "veth"
#define DRV_VERSION "1.0"
@@ -123,6 +124,12 @@ static netdev_tx_t veth_xmit(struct sk_buff *skb, struct net_device *dev)
rcv->features & NETIF_F_RXCSUM)
skb->ip_summed = CHECKSUM_UNNECESSARY;
+ /**
+ * dev_forward_sbk will clear skb->sk, so save
+ * skb->sk->sk_classid for Qos
+ */
+ bk_cls_classid(skb);
+
if (likely(dev_forward_skb(rcv, skb) == NET_RX_SUCCESS)) {
struct pcpu_vstats *stats = this_cpu_ptr(dev->vstats);
--
1.8.2.2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists