Message ID | 52C62A52.8050003@huawei.com |
---|---|
State | RFC, archived |
Delegated to: | David Miller |
Headers | show |
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
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 --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);
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(+)