Thread (1 message) 1 message, 1 author, 2014-05-21

Re: [PATCH v2.57] datapath: Add basic MPLS support to kernel

From: Jesse Gross <hidden>
Date: 2014-05-21 23:53:37

On Wednesday, May 21, 2014, Simon Horman [off-list ref] wrote:
On Wed, May 21, 2014 at 01:31:55PM -0700, Jesse Gross wrote:
quoted
On Wed, May 21, 2014 at 8:31 AM, Simon Horman <horms-/R6kz+dDXgpPR4JQBCEnsQ@public.gmane.org<javascript:;>>
wrote:
quoted
quoted
On Tue, May 20, 2014 at 07:30:38PM -0700, Jesse Gross wrote:
quoted
On Thu, May 15, 2014 at 4:07 PM, Simon Horman <horms-/R6kz+dDXgpPR4JQBCEnsQ@public.gmane.org<javascript:;>>
wrote:
quoted
quoted
quoted
quoted
diff --git a/datapath/linux/compat/include/linux/netdevice.h
b/datapath/linux/compat/include/linux/netdevice.h
quoted
quoted
quoted
quoted
index d726390..0381002 100644
--- a/datapath/linux/compat/include/linux/netdevice.h
+++ b/datapath/linux/compat/include/linux/netdevice.h
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
 #define netif_skb_features rpl_netif_skb_features
 netdev_features_t rpl_netif_skb_features(struct sk_buff *skb);
Currently this function doesn't look at mpls_features. Should it for
things other than TSO?
It seems to me that rpl_netif_skb_features is only used by
rpl_dev_queue_xmit().

If that is the case then I don't think it is necessary to examine
mpls_features, which was introduced in v3.11, as rpl_dev_queue_xmit()
only exists for older kernel versions.
Sorry, I actually meant for upstream. I agree that the compatibility
code reflects current kernels as written.

It seems like the checks in dev_hard_start_xmit() won't take
mpls_features (or the presence of MPLS) into account when deciding
whether to emulate the offload or pass the skb directly to the NIC. In
the GSO code itself, we look at mpls_features but if we never get
there then it will be too late.
I am reasonably sure that when I merged the MPLS GSO code into mainline
that it worked for the case where a non-MPLS GSO packet became an MPLS GSO
packet (due to a push MPLS action). But that was a while ago and looking
over the code its not obvious to my why that case would work.

I'll do some testing an analysis and propose a fix if necessary.

Would that address your concern?
Yes, that's fine.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help