NETIF_F_SG not taking effect

From: Viswanath D <hidden>
Date: 2013-05-02 04:19:57

Hi,

I need help in NETIF_F_UFO to work. After reading several materials, I
have come to understand that UFO is dependent on NETIF_F_SG, which in
turn is dependent on NETIF_F_HW_CSUM and when I turn on all these
flags in ndev->features during probe, I should be seeing fragments in
skb in xmit function. Also, if the packets are UDP/TCP, then the first
fragment would the header (34/66 bytes) and the rest would be the data
pointer as given by application (iperf in this case).

But, when I print "skb_shinfo(skb)->nr_frags" in my xmit function, I
always find it zero. Also all the packet content (header + data) is
completely contained within skb->data. I also removed UFO (keeping
just SG and HW_CSUM) and the behavior remains the same.
But interestingly the checksum is not computed by the stack. I
confirmed it by dumping the UDP/TCP headers in xmit and wireshark on
receive side also reflects this.
These observations are leading me to think NETIF_F_SG flag is being
ignored by the stack for some reason.

Are there any compilation flag which can be enabled to see what is
going wrong. Could I please get some pointers on how to go about
debugging this problem. The kernel version I am using is 2.6.37.

Regards
Viswa
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help