[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [4/4] [NET] front: Zero negotiated bits in xen_set_features
Hi: [NET] front: Zero negotiated bits in xen_set_features When we reconnect to the backend we need to first zero all negotiated bits as the functions xen_set_sg and xen_set_tso do not (and are not supposed to) zero bits when they fail to set them. This patch also permanently enables the NETIF_F_GSO_ROBUST bit as we never parse any GSO fields ourselves (even if we did the backend could not trust us so it's wasted effort). Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- diff -r 8c5fd9867b3c -r 531033849420 linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c --- a/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c Mon Jul 03 14:35:47 2006 +1000 +++ b/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c Mon Jul 03 14:42:09 2006 +1000 @@ -1112,6 +1112,11 @@ static int xennet_set_tso(struct net_dev static void xennet_set_features(struct net_device *dev) { + /* Turn off all GSO bits except ROBUST. */ + dev->features &= (1 << NETIF_F_GSO_SHIFT) - 1; + dev->features |= NETIF_F_GSO_ROBUST; + xennet_set_sg(dev, 0); + if (!xennet_set_sg(dev, 1)) xennet_set_tso(dev, 1); } _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |