[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Xen-users] SG off drops packets
Here is an update:
the slots variable is calculated like this
599 slots = DIV_ROUND_UP(offset + len, PAGE_SIZE) +
600 xennet_count_skb_frag_slots(skb);
printk shows, that xennet_count_skb_frag_slots(skb) = 0. The length
is also correct (something small, e.g. 66). Interestingly, with all
the problematic packets the offset is 4032 (always the same). So
with a PAGE_SIZE of 4096 this causes the DIV_ROUND_UP to return 2,
which results in the packet being dropped (without notice).
Any help and/or pointer to help is highly appreciated :)
Lennart
On 21.05.2015 14:33, Lennart Schulte
wrote:
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
|