[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
|