public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH net-next 3/4] veth: backup classid befor switch net_ns
@ 2014-01-03  3:11 Libo Chen
  2014-01-03 10:45 ` Sergei Shtylyov
  0 siblings, 1 reply; 3+ messages in thread
From: Libo Chen @ 2014-01-03  3:11 UTC (permalink / raw)
  To: David Miller
  Cc: edumazet, kaber, peterz, honkiko, netdev, LKML, cgroups,
	containers, jhs, Li Zefan, Serge Hallyn


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@huawei.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



^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-01-06  2:18 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-03  3:11 [RFC PATCH net-next 3/4] veth: backup classid befor switch net_ns Libo Chen
2014-01-03 10:45 ` Sergei Shtylyov
2014-01-06  2:16   ` Libo Chen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox