[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-users] SG off drops packets



Hi,
I'm running Debian Sid as dom0 (Debian 3.16.7-ckt7-1 (2015-03-01) x86_64 with Xen 4.4.1-7). I also bootstrapped Debian Sid for the domUs, but booting vanilla Linux kernel 3.19 (which is where the problem seems to be).
I have set up a virtual network with 3 nodes: sender router and receiver. Routes are statically set via ip route and scatter-gather (SG) is switched off on every node via ethtool.

I noticed that some small packets (pings as well as small TCP packets (< 200 bytes)) are being dropped apparently at random by the eth interface of the domU router (TX drop). Neither the tc queues on the node nor the corresponding vif interface on the dom0 show any abnormal packet drops.

Since xen-netfront is responsible for the sending of packets without offloading, I checked that part of the code and found the problem being caused by line 614 (sg is off, a printk showed slots = 2):

563 static int xennet_start_xmit(struct sk_buff *skb, struct net_device *dev)
564 {
ÂÂÂÂÂÂÂ ..
613ÂÂÂÂÂÂÂÂ if (unlikely(!netif_carrier_ok(dev) ||
614ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ (slots > 1 && !xennet_can_sg(dev)) ||
615ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ netif_needs_gso(dev, skb, netif_skb_features(skb)))) {
616ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ spin_unlock_irqrestore(&queue->tx_lock, flags);
617ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ goto drop;
618ÂÂÂÂÂÂÂÂ }
ÂÂÂÂÂÂÂ ..
693 }

I'm not too familiar with the xen code, therefore could someone explain what the slots variable is and maybe even why this line causes only some small packets to be dropped?

Thanks,
Lennart
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxx
http://lists.xen.org/xen-users

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.