diff mbox

[RFC,net-next,3/4] veth: backup classid befor switch net_ns

Message ID 52C62A52.8050003@huawei.com
State RFC, archived
Delegated to: David Miller
Headers show

Commit Message

Libo Chen Jan. 3, 2014, 3:11 a.m. UTC
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(+)

Comments

Sergei Shtylyov Jan. 3, 2014, 10:45 a.m. UTC | #1
Hello.

On 03-01-2014 7:11, Libo Chen wrote:

> 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
[...]
> @@ -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;
>
> +	/**

    Why you're using kernel-doc style comments out of place? The format of 
multi-line comments  in the networking code is this:

/* bla
  * bla
  */

> +	 * dev_forward_sbk will clear skb->sk, so save
> +	 * skb->sk->sk_classid for Qos
> +	 */
> +	bk_cls_classid(skb);
> +

WBR, Sergei


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Libo Chen Jan. 6, 2014, 2:16 a.m. UTC | #2
On 2014/1/3 18:45, Sergei Shtylyov wrote:
> Hello.
> 
> On 03-01-2014 7:11, Libo Chen wrote:
> 
>> 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
> [...]
>> @@ -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;
>>
>> +    /**
> 
>    Why you're using kernel-doc style comments out of place? The format of multi-line comments  in the networking code is this:
> 
> /* bla
>  * bla
>  */

thank you

Libo

> 
>> +     * dev_forward_sbk will clear skb->sk, so save
>> +     * skb->sk->sk_classid for Qos
>> +     */
>> +    bk_cls_classid(skb);
>> +
> 
> WBR, Sergei
> 
> 
> 
> .
> 


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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);