Odd network packet counts being reported by NetXen 10G driver

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

 



I was running some network tests taking samples every 10 seconds on an nfs server connected to high-speed storage and a 10G NIC. The data was read with collectl, which reads the data from /proc/net/dev. When I look at the average packet sizes I come up with over 6K and jumbo frames are not enabled. Naturally my first suspicion was collectl's math so I went back to the original numbers and here's what I collected - the 'Net' at the beginning of each line is something I preface each line with so I can tell which file it came from as I collect data from lots of places. Anyhow, here are a couple of samples (don't know how they'll show up after terminal wrapping):

Inter-| Receive | Transmit face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed Net eth2:1033991246323 770657768 0 885 0 0 0 0 209226011736 398954938 0 0 0 0 0 0 Net eth2:1034142397679 773022462 0 885 0 0 0 0 215709166026 399913993 0 0 0 0 0 0 Net eth2:1034294532107 775402505 0 886 0 0 0 0 222234389176 400880022 0 0 0 0 0 0

If I do the math for the first 2 samples it comes out as 215709166026-209226011736=6483154290 bytes and 399913993-398954938=959055 packets. The result of 6483154290/959055=6760 bytes/packet. And this is not just for a couple of samples. Here's an example of collectl's output:

# Num Name InPck InErr OutPck OutErr Mult ICmp OCmp IKB OKB 13:00:00 3 eth2: 236469 0 95905 0 0 0 0 14760 633120 13:00:10 3 eth2: 238004 0 96602 0 0 0 0 14856 637228 13:00:20 3 eth2: 238796 0 92460 0 0 0 0 14906 639296 13:00:29 3 eth2: 230974 0 93103 0 0 0 0 14419 618655 13:00:40 3 eth2: 234701 0 93414 0 0 0 0 14651 628492 13:00:50 3 eth2: 236121 0 94527 0 0 0 0 14739 632191 13:00:59 3 eth2: 237001 0 92259 0 0 0 0 14795 634433

note that these numbers as reported as KBs/sec and so have been divided by 10 from the raw numbers shown in /proc/net/dev. If I take a look at an earlier part of the same test when I'm doing writes (the system sees them as InPck/IKB I see:

# Num Name InPck InErr OutPck OutErr Mult ICmp OCmp IKB OKB 12:30:00 3 eth2: 268813 0 142581 0 0 0 0 383735 9100 12:30:10 3 eth2: 258240 0 136903 0 0 0 0 368605 8734 12:30:20 3 eth2: 283324 0 150269 0 0 0 0 404486 9587 12:30:30 3 eth2: 278165 0 147478 0 0 0 0 396937 9405 12:30:40 3 eth2: 280848 0 148938 0 0 0 0 400896 9506

and if I do the math on IKB (383735*1024/268813)=1462 which makes a whole lot more sense. Any ideas as to what would cause the driver incorrectly count the packets? I know the byte counts are correct because this is an nfs server and the disk i/o rates are consistent with the network rates.

-mark

--
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux