Subject: Re: UDP-Lite and /proc/net/snmp

From: Eric Dumazet <[email-masked]>
Date: Sat, 10 Nov 2007 16:06:17 +0100

Herbert Xu a écrit :
> On Sat, Nov 10, 2007 at 11:48:54PM +0900, YOSHIFUJI Hideaki / 吉藤英明 wrote:
>> Hmm..... "netstat -s" from etch (i386) and etch (x86_64) work
>> fine for me.  Same version, same architecture.  Strange...
> 
> Interesting.  What does your /proc/net/snmp file look like?
> And what does netstat -s actually produce?
> 
> Thanks,

Quite easy :)

A failing one is > 1024 bytes :

Ip: Forwarding DefaultTTL InReceives InHdrErrors InAddrErrors ForwDatagrams 
InUnknownProtos InDiscards InDelivers OutRequests OutDiscards OutNoRoutes 
ReasmTimeout ReasmReqds ReasmOKs ReasmFails FragOKs FragFails FragCreates
Ip: 2 64 6954137412 0 23489 0 125 0 6790615249 6423886499 2706 0 13881 
164999330 1503683 34165124 1219558 188 54871924
Icmp: InMsgs InErrors InDestUnreachs InTimeExcds InParmProbs InSrcQuenchs 
InRedirects InEchos InEchoReps InTimestamps InTimestampReps InAddrMasks 
InAddrMaskReps OutMsgs OutErrors OutDestUnreachs OutTimeExcds OutParmProbs 
OutSrcQuenchs OutRedirects OutEchos OutEchoReps OutTimestamps OutTimestampReps 
OutAddrMasks OutAddrMaskReps
Icmp: 6392743 1256162 3894707 401904 83 20702 172602 1415531 0 3 0 3 0 
106773069 0 3894707 401904 83 20702 172602 1415531 0 3 0 3 0
IcmpMsg: InType3 InType4 InType5 InType8 InType11 InType12 InType13 InType17 
OutType0 OutType3 OutType11 OutType14
IcmpMsg: 3894707 20702 172602 1415531 401904 83 3 3 1414557 105347007 11502 3
Tcp: RtoAlgorithm RtoMin RtoMax MaxConn ActiveOpens PassiveOpens AttemptFails 
EstabResets CurrEstab InSegs OutSegs RetransSegs InErrs OutRsts
Tcp: 1 200 120000 -1 62967275 66063269 17969333 24912734 1278435 6041838336 
5717892916 279078174 361708 35913131
Udp: InDatagrams NoPorts InErrors OutDatagrams RcvbufErrors SndbufErrors
Udp: 640604836 101598293 193394 421746699 133903 0
UdpLite: InDatagrams NoPorts InErrors OutDatagrams RcvbufErrors SndbufErrors
UdpLite: 0 0 0 0 0 0

So netstat fails because line 344 in statistics.c :

buf1=TcpExt: SyncookiesSent SyncookiesRecv SyncookiesFailed EmbryonicRsts 
PruneCalled RcvPruned OfoPruned OutOfWindowIcmps LockDroppedIcmps ArpFilter TW 
TWRecycled TWKilled PAWSPassive PAWSActive PAWSEstab DelayedACKs 
DelayedACKLocked DelayedACKLost ListenOverflows ListenDrops TCPPrequeued 
TCPDirectCopyFromBacklog TCPDirectCopyFromPrequeue TCPPrequeueDropped 
TCPHPHits TCPHPHitsToUser TCPPureAcks TCPHPAcks TCPRenoRecovery 
TCPSackRecovery TCPSACKReneging TCPFACKReorder TCPSACKReorder TCPRenoReorder 
TCPTSReorder TCPFullUndo TCPPartialUndo TCPDSACKUndo TCPLossUndo TCPLoss 
TCPLostRetransmit TCPRenoFailures TCPSackFailures TCPLossFailures 
TCPFastRetrans TCPForwardRetrans TCPSlowStartRetrans TCPTimeouts 
TCPRenoRecoveryFail TCPSackRecoveryFail TCPSchedulerFailed TCPRcvCollapsed 
TCPDSACKOldSent TCPDSACKOfoSent TCPDSACKRecv TCPDSACKOfoRecv TCPAbortOnSyn 
TCPAbortOnData TCPAbortOnClose TCPAbortOnMemory TCPAbortOnTimeout 
TCPAbortOnLinger TCPAbortFailed TCPMemoryPressures TCPSACKDiscard 
TCPDSACKIgnoredOld TCPDSACKIgnoredNoUndo buf2= TCPSpuriousRTOs

So this is an existing kernel bug, not related to UDPlite