All of lore.kernel.org
 help / color / mirror / Atom feed
From: annie li <annie.li@oracle.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Wei.Liu2@citrix.com, Ian Campbell <ian.campbell@citrix.com>,
	xen-devel@lists.xen.org, Paul Durrant <paul.durrant@citrix.com>,
	David Vrabel <david.vrabel@citrix.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>
Subject: Re: [PATCH net-next v2] xen-netfront: Add support for IPv6 offloads
Date: Tue, 26 Nov 2013 09:57:53 +0800	[thread overview]
Message-ID: <52940021.40606@oracle.com> (raw)
In-Reply-To: <20131125151926.GC6095@phenom.dumpdata.com>


On 2013/11/25 23:19, Konrad Rzeszutek Wilk wrote:
> On Fri, Nov 15, 2013 at 05:52:59PM +0000, Paul Durrant wrote:
>> This patch adds support for IPv6 checksum offload and GSO when those
>> features are available in the backend.
> Wei, Annie, thoughts?

Seems fine except for following two comments :-)

>> Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
>> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
>> Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
>> Cc: David Vrabel <david.vrabel@citrix.com>
>> Cc: Ian Campbell <ian.campbell@citrix.com>
>> ---
>>
>> v2:
>>   - Addressed comments raised by Ian Campbell
>>
>>   drivers/net/xen-netfront.c |  226 ++++++++++++++++++++++++++++++++++++++++----
>>   include/linux/ipv6.h       |    2 +
>>   2 files changed, 211 insertions(+), 17 deletions(-)
>>
>> diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
>> index dd1011e..afadfb5 100644
>> --- a/drivers/net/xen-netfront.c
>> +++ b/drivers/net/xen-netfront.c
>> @@ -616,7 +616,9 @@ static int xennet_start_xmit(struct sk_buff *skb, struct net_device *dev)
>>   		tx->flags |= XEN_NETTXF_extra_info;
>>   
>>   		gso->u.gso.size = skb_shinfo(skb)->gso_size;
>> -		gso->u.gso.type = XEN_NETIF_GSO_TYPE_TCPV4;
>> +		gso->u.gso.type = (skb_shinfo(skb)->gso_type & SKB_GSO_TCPV6) ?
>> +			          XEN_NETIF_GSO_TYPE_TCPV6 :
>> +			          XEN_NETIF_GSO_TYPE_TCPV4;
>>   		gso->u.gso.pad = 0;
>>   		gso->u.gso.features = 0;

...snip...

>>   static int handle_incoming_queue(struct net_device *dev,
>>   				 struct sk_buff_head *rxq)
>>   {
>> @@ -1232,6 +1392,15 @@ static netdev_features_t xennet_fix_features(struct net_device *dev,
>>   			features &= ~NETIF_F_SG;
>>   	}
>>   
>> +	if (features & NETIF_F_IPV6_CSUM) {
>> +		if (xenbus_scanf(XBT_NIL, np->xbdev->otherend,
>> +				 "feature-ipv6-csum-offload", "%d", &val) < 0)
>> +			val = 0;
>> +
>> +		if (!val)
>> +			features &= ~NETIF_F_IPV6_CSUM;
>> +	}
>> +
>>   	if (features & NETIF_F_TSO) {
>>   		if (xenbus_scanf(XBT_NIL, np->xbdev->otherend,
>>   				 "feature-gso-tcpv4", "%d", &val) < 0)
>> @@ -1241,6 +1410,15 @@ static netdev_features_t xennet_fix_features(struct net_device *dev,
>>   			features &= ~NETIF_F_TSO;
>>   	}
>>   
>> +	if (features & NETIF_F_TSO6) {
>> +		if (xenbus_scanf(XBT_NIL, np->xbdev->otherend,
>> +				 "feature-gso-tcpv6", "%d", &val) < 0)
>> +			val = 0;
>> +
>> +		if (!val)
>> +			features &= ~NETIF_F_TSO6;
>> +	}
>> +
>>   	return features;
>>   }
>>   
>> @@ -1373,7 +1551,9 @@ static struct net_device *xennet_create_dev(struct xenbus_device *dev)
>>   	netif_napi_add(netdev, &np->napi, xennet_poll, 64);
>>   	netdev->features        = NETIF_F_IP_CSUM | NETIF_F_RXCSUM |
>>   				  NETIF_F_GSO_ROBUST;
>> -	netdev->hw_features	= NETIF_F_IP_CSUM | NETIF_F_SG | NETIF_F_TSO;
>> +	netdev->hw_features	= NETIF_F_SG |
>> +		                  NETIF_F_IPV6_CSUM |

Are you missing NETIF_F_IP_CSUM here?

>> +		                  NETIF_F_TSO | NETIF_F_TSO6;
>>   
>>   	/*
>>            * Assume that all hw features are available for now. This set
>> @@ -1751,6 +1931,18 @@ again:
>>   		goto abort_transaction;
>>   	}
>>   
>> +	err = xenbus_printf(xbt, dev->nodename, "feature-gso-tcpv6", "%d", 1);
>> +	if (err) {
>> +		message = "writing feature-gso-tcpv6";
>> +		goto abort_transaction;
>> +	}
>> +
>> +	err = xenbus_printf(xbt, dev->nodename, "feature-ipv6-csum-offload", "%d", 1);
>> +	if (err) {
>> +		message = "writing feature-gso-tcpv6";

Change "feature-gso-tcpv6" to "feature-ipv6-csum-offload"?

Thanks
Annie

  parent reply	other threads:[~2013-11-26  1:57 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-15 17:52 [PATCH net-next v2] xen-netfront: Add support for IPv6 offloads Paul Durrant
2013-11-25 15:19 ` Konrad Rzeszutek Wilk
2013-11-25 15:37   ` Wei Liu
2013-11-25 15:51     ` Paul Durrant
2013-11-25 15:52     ` Wei Liu
2013-11-25 15:55       ` Paul Durrant
2013-11-26  1:57   ` annie li [this message]
2013-11-26  9:48     ` Paul Durrant
  -- strict thread matches above, loose matches on Subject: below --
2014-01-15 17:30 [PATCH net-next v2] xen-netfront: add " Paul Durrant
2014-01-17  0:23 ` David Miller
2014-01-17  0:23 ` David Miller
2014-01-15 17:30 Paul Durrant

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52940021.40606@oracle.com \
    --to=annie.li@oracle.com \
    --cc=Wei.Liu2@citrix.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=david.vrabel@citrix.com \
    --cc=ian.campbell@citrix.com \
    --cc=konrad.wilk@oracle.com \
    --cc=paul.durrant@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.