Skip to contentSkip to conversation

/proc/net/dev is funky in 3.3.0

DISCUSSION Applied Ben Greear 4 participants 10 messages Apr 3, 2012

Subsystems (2)
lore
Share & tools
lore

Ben Greear

author
#0 lore raw

Not all entries are shown!

[root@lanner-i7 lanforge]# cat /proc/net/dev|grep sta59 [root@lanner-i7 lanforge]# ifconfig sta59
sta59 Link encap:Ethernet HWaddr 00:95:95:00:00:3C

          inet addr:10.111.9.39  Bcast:10.111.255.255  Mask:255.255.0.0
          inet6 addr: fe80::295:95ff:fe00:3c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:58103 errors:0 dropped:0 overruns:0 frame:0
          TX packets:26167 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:39494634 (37.6 MiB)  TX bytes:37095540 (35.3 MiB)

Thanks,
Ben

Signature · 2 lines
Ben Greear <[email protected]>
Candela Technologies Inc  http://www.candelatech.com
#1 lore raw
Quoted 13 lines · Ben Greear

Not all entries are shown!

[root@lanner-i7 lanforge]# cat /proc/net/dev|grep sta59 [root@lanner-i7 lanforge]# ifconfig sta59
sta59 Link encap:Ethernet HWaddr 00:95:95:00:00:3C

           inet addr:10.111.9.39  Bcast:10.111.255.255  Mask:255.255.0.0
           inet6 addr: fe80::295:95ff:fe00:3c/64 Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:58103 errors:0 dropped:0 overruns:0 frame:0
           TX packets:26167 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000
           RX bytes:39494634 (37.6 MiB)  TX bytes:37095540 (35.3 MiB)
Quoted 3 lines

Thanks,
Ben

Could you post "ip link" result ?

author
#2 lore raw
Quoted 14 lines · Eric Dumazet
Quoted 13 lines · Ben Greear

Not all entries are shown!

[root@lanner-i7 lanforge]# cat /proc/net/dev|grep sta59 [root@lanner-i7 lanforge]# ifconfig sta59
sta59 Link encap:Ethernet HWaddr 00:95:95:00:00:3C

            inet addr:10.111.9.39  Bcast:10.111.255.255  Mask:255.255.0.0
            inet6 addr: fe80::295:95ff:fe00:3c/64 Scope:Link
            UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
            RX packets:58103 errors:0 dropped:0 overruns:0 frame:0
            TX packets:26167 errors:0 dropped:0 overruns:0 carrier:0
            collisions:0 txqueuelen:1000
            RX bytes:39494634 (37.6 MiB)  TX bytes:37095540 (35.3 MiB)
Quoted 6 lines
Quoted 3 lines

Thanks,
Ben

Could you post "ip link" result ?

It is below. Looks like /proc/net/dev is missing 6 entries, sta69 being one of them. See end of the email for some grep and |wc results. Seems easily reproducible, so let me know if you want more info.

[root@lanner-i7 lanforge]# ip link show dev sta59
466: sta59: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000

    link/ether 00:95:95:00:00:3c brd ff:ff:ff:ff:ff:ff
[root@lanner-i7 lanforge]# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: p4p1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:90:0b:21:9f:5c brd ff:ff:ff:ff:ff:ff
4: p1p1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:90:0b:21:9f:5d brd ff:ff:ff:ff:ff:ff
797: sta75: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:4c brd ff:ff:ff:ff:ff:ff
800: sta349: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:32 brd ff:ff:ff:ff:ff:ff
802: sta61: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:3e brd ff:ff:ff:ff:ff:ff
804: sta49: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:32 brd ff:ff:ff:ff:ff:ff
807: sta342: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:2b brd ff:ff:ff:ff:ff:ff
553: sta149: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:10:00:32 brd ff:ff:ff:ff:ff:ff
602: sta300: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:01 brd ff:ff:ff:ff:ff:ff
603: sta301: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:02 brd ff:ff:ff:ff:ff:ff
604: sta302: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:03 brd ff:ff:ff:ff:ff:ff
605: sta303: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:04 brd ff:ff:ff:ff:ff:ff
606: sta304: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:05 brd ff:ff:ff:ff:ff:ff
607: sta305: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:06 brd ff:ff:ff:ff:ff:ff
608: sta306: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:07 brd ff:ff:ff:ff:ff:ff
609: sta307: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:08 brd ff:ff:ff:ff:ff:ff
610: sta308: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:09 brd ff:ff:ff:ff:ff:ff
611: sta309: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:0a brd ff:ff:ff:ff:ff:ff
612: sta310: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:0b brd ff:ff:ff:ff:ff:ff
613: sta311: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:0c brd ff:ff:ff:ff:ff:ff
614: sta312: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:0d brd ff:ff:ff:ff:ff:ff
615: sta313: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:0e brd ff:ff:ff:ff:ff:ff
616: sta314: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:0f brd ff:ff:ff:ff:ff:ff
617: sta315: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:10 brd ff:ff:ff:ff:ff:ff
618: sta316: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:11 brd ff:ff:ff:ff:ff:ff
619: sta317: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:12 brd ff:ff:ff:ff:ff:ff
620: sta318: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:13 brd ff:ff:ff:ff:ff:ff
621: sta319: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:14 brd ff:ff:ff:ff:ff:ff
622: sta320: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:15 brd ff:ff:ff:ff:ff:ff
623: sta321: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:16 brd ff:ff:ff:ff:ff:ff
624: sta322: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:17 brd ff:ff:ff:ff:ff:ff
625: sta323: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:18 brd ff:ff:ff:ff:ff:ff
626: sta324: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:19 brd ff:ff:ff:ff:ff:ff
627: sta325: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:1a brd ff:ff:ff:ff:ff:ff
628: sta326: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:1b brd ff:ff:ff:ff:ff:ff
629: sta327: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:1c brd ff:ff:ff:ff:ff:ff
630: sta328: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:1d brd ff:ff:ff:ff:ff:ff
631: sta329: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:1e brd ff:ff:ff:ff:ff:ff
632: sta330: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:1f brd ff:ff:ff:ff:ff:ff
633: sta331: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:20 brd ff:ff:ff:ff:ff:ff
634: sta332: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:21 brd ff:ff:ff:ff:ff:ff
635: sta333: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:22 brd ff:ff:ff:ff:ff:ff
636: sta334: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:23 brd ff:ff:ff:ff:ff:ff
637: sta335: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:24 brd ff:ff:ff:ff:ff:ff
638: sta336: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:25 brd ff:ff:ff:ff:ff:ff
639: sta337: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:26 brd ff:ff:ff:ff:ff:ff
640: sta338: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:27 brd ff:ff:ff:ff:ff:ff
641: sta339: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:28 brd ff:ff:ff:ff:ff:ff
642: sta340: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:29 brd ff:ff:ff:ff:ff:ff
643: sta341: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:2a brd ff:ff:ff:ff:ff:ff
644: sta343: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:2c brd ff:ff:ff:ff:ff:ff
645: sta344: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:2d brd ff:ff:ff:ff:ff:ff
646: sta345: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:2e brd ff:ff:ff:ff:ff:ff
647: sta346: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:2f brd ff:ff:ff:ff:ff:ff
648: sta347: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:30 brd ff:ff:ff:ff:ff:ff
649: sta348: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:31 brd ff:ff:ff:ff:ff:ff
650: sta350: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:33 brd ff:ff:ff:ff:ff:ff
651: sta351: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:34 brd ff:ff:ff:ff:ff:ff
652: sta352: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:35 brd ff:ff:ff:ff:ff:ff
653: sta353: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:36 brd ff:ff:ff:ff:ff:ff
654: sta354: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:37 brd ff:ff:ff:ff:ff:ff
655: sta355: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:38 brd ff:ff:ff:ff:ff:ff
656: sta356: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:39 brd ff:ff:ff:ff:ff:ff
657: sta357: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:3a brd ff:ff:ff:ff:ff:ff
658: sta358: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:3b brd ff:ff:ff:ff:ff:ff
659: sta359: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:3c brd ff:ff:ff:ff:ff:ff
660: sta360: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:3d brd ff:ff:ff:ff:ff:ff
661: sta361: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:3e brd ff:ff:ff:ff:ff:ff
662: sta362: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:3f brd ff:ff:ff:ff:ff:ff
406: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:0e:8e:3d:30:e8 brd ff:ff:ff:ff:ff:ff
663: sta363: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:40 brd ff:ff:ff:ff:ff:ff
407: wlan1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:0e:8e:3d:30:f8 brd ff:ff:ff:ff:ff:ff
664: sta364: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:41 brd ff:ff:ff:ff:ff:ff
408: sta0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:01 brd ff:ff:ff:ff:ff:ff
665: sta365: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:42 brd ff:ff:ff:ff:ff:ff
409: sta1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:02 brd ff:ff:ff:ff:ff:ff
666: sta366: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:43 brd ff:ff:ff:ff:ff:ff
410: sta2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:03 brd ff:ff:ff:ff:ff:ff
667: sta367: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:44 brd ff:ff:ff:ff:ff:ff
411: sta3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:04 brd ff:ff:ff:ff:ff:ff
668: sta368: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:45 brd ff:ff:ff:ff:ff:ff
412: sta4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:05 brd ff:ff:ff:ff:ff:ff
669: sta369: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:46 brd ff:ff:ff:ff:ff:ff
413: sta5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:06 brd ff:ff:ff:ff:ff:ff
670: sta370: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:47 brd ff:ff:ff:ff:ff:ff
414: sta6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:07 brd ff:ff:ff:ff:ff:ff
671: sta371: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:48 brd ff:ff:ff:ff:ff:ff
415: sta7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:08 brd ff:ff:ff:ff:ff:ff
672: sta372: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:49 brd ff:ff:ff:ff:ff:ff
416: sta8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:09 brd ff:ff:ff:ff:ff:ff
673: sta373: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:4a brd ff:ff:ff:ff:ff:ff
417: sta9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:0a brd ff:ff:ff:ff:ff:ff
674: sta374: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:4b brd ff:ff:ff:ff:ff:ff
418: sta10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:0b brd ff:ff:ff:ff:ff:ff
675: sta375: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:4c brd ff:ff:ff:ff:ff:ff
419: sta11: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:0c brd ff:ff:ff:ff:ff:ff
676: sta376: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:4d brd ff:ff:ff:ff:ff:ff
420: sta12: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:0d brd ff:ff:ff:ff:ff:ff
677: sta377: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:4e brd ff:ff:ff:ff:ff:ff
421: sta13: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:0e brd ff:ff:ff:ff:ff:ff
678: sta378: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:4f brd ff:ff:ff:ff:ff:ff
422: sta14: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:0f brd ff:ff:ff:ff:ff:ff
679: sta379: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:50 brd ff:ff:ff:ff:ff:ff
423: sta15: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:10 brd ff:ff:ff:ff:ff:ff
680: sta380: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:51 brd ff:ff:ff:ff:ff:ff
424: sta16: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:11 brd ff:ff:ff:ff:ff:ff
681: sta381: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:52 brd ff:ff:ff:ff:ff:ff
425: sta17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:12 brd ff:ff:ff:ff:ff:ff
682: sta382: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:53 brd ff:ff:ff:ff:ff:ff
426: sta18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:13 brd ff:ff:ff:ff:ff:ff
683: sta383: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:54 brd ff:ff:ff:ff:ff:ff
427: sta19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:14 brd ff:ff:ff:ff:ff:ff
684: sta384: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:55 brd ff:ff:ff:ff:ff:ff
428: sta20: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:15 brd ff:ff:ff:ff:ff:ff
685: sta385: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:56 brd ff:ff:ff:ff:ff:ff
429: sta21: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:16 brd ff:ff:ff:ff:ff:ff
686: sta386: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:57 brd ff:ff:ff:ff:ff:ff
430: sta22: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:17 brd ff:ff:ff:ff:ff:ff
687: sta387: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:58 brd ff:ff:ff:ff:ff:ff
431: sta23: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:18 brd ff:ff:ff:ff:ff:ff
688: sta388: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:59 brd ff:ff:ff:ff:ff:ff
432: sta24: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:19 brd ff:ff:ff:ff:ff:ff
689: sta389: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:5a brd ff:ff:ff:ff:ff:ff
433: sta25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:1a brd ff:ff:ff:ff:ff:ff
690: sta390: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:5b brd ff:ff:ff:ff:ff:ff
434: sta26: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:1b brd ff:ff:ff:ff:ff:ff
691: sta391: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:5c brd ff:ff:ff:ff:ff:ff
435: sta27: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:1c brd ff:ff:ff:ff:ff:ff
692: sta392: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:5d brd ff:ff:ff:ff:ff:ff
436: sta28: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:1d brd ff:ff:ff:ff:ff:ff
693: sta393: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:5e brd ff:ff:ff:ff:ff:ff
437: sta29: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:1e brd ff:ff:ff:ff:ff:ff
694: sta394: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:5f brd ff:ff:ff:ff:ff:ff
438: sta30: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:1f brd ff:ff:ff:ff:ff:ff
695: sta395: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:60 brd ff:ff:ff:ff:ff:ff
439: sta31: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:20 brd ff:ff:ff:ff:ff:ff
696: sta396: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:61 brd ff:ff:ff:ff:ff:ff
440: sta32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:21 brd ff:ff:ff:ff:ff:ff
697: sta397: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:62 brd ff:ff:ff:ff:ff:ff
441: sta33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:22 brd ff:ff:ff:ff:ff:ff
698: sta398: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:63 brd ff:ff:ff:ff:ff:ff
442: sta34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:23 brd ff:ff:ff:ff:ff:ff
699: sta399: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:30:00:64 brd ff:ff:ff:ff:ff:ff
443: sta35: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:24 brd ff:ff:ff:ff:ff:ff
444: sta36: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:25 brd ff:ff:ff:ff:ff:ff
445: sta37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:26 brd ff:ff:ff:ff:ff:ff
446: sta38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:27 brd ff:ff:ff:ff:ff:ff
447: sta39: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:28 brd ff:ff:ff:ff:ff:ff
448: sta40: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:29 brd ff:ff:ff:ff:ff:ff
449: sta41: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:2a brd ff:ff:ff:ff:ff:ff
450: sta42: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:2b brd ff:ff:ff:ff:ff:ff
451: sta43: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:2c brd ff:ff:ff:ff:ff:ff
452: sta44: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:2d brd ff:ff:ff:ff:ff:ff
453: sta45: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:2e brd ff:ff:ff:ff:ff:ff
454: sta46: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:2f brd ff:ff:ff:ff:ff:ff
455: sta47: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:30 brd ff:ff:ff:ff:ff:ff
456: sta48: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:31 brd ff:ff:ff:ff:ff:ff
457: sta50: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:33 brd ff:ff:ff:ff:ff:ff
458: sta51: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:34 brd ff:ff:ff:ff:ff:ff
459: sta52: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:35 brd ff:ff:ff:ff:ff:ff
460: sta53: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:36 brd ff:ff:ff:ff:ff:ff
461: sta54: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:37 brd ff:ff:ff:ff:ff:ff
462: sta55: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:38 brd ff:ff:ff:ff:ff:ff
463: sta56: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:39 brd ff:ff:ff:ff:ff:ff
464: sta57: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:3a brd ff:ff:ff:ff:ff:ff
465: sta58: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:3b brd ff:ff:ff:ff:ff:ff
466: sta59: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:3c brd ff:ff:ff:ff:ff:ff
467: sta60: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:3d brd ff:ff:ff:ff:ff:ff
468: sta62: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:3f brd ff:ff:ff:ff:ff:ff
469: sta63: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:40 brd ff:ff:ff:ff:ff:ff
470: sta64: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:41 brd ff:ff:ff:ff:ff:ff
471: sta65: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:42 brd ff:ff:ff:ff:ff:ff
472: sta66: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:43 brd ff:ff:ff:ff:ff:ff
473: sta67: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:44 brd ff:ff:ff:ff:ff:ff
474: sta68: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:45 brd ff:ff:ff:ff:ff:ff
475: sta69: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:46 brd ff:ff:ff:ff:ff:ff
476: sta70: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:47 brd ff:ff:ff:ff:ff:ff
477: sta71: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:48 brd ff:ff:ff:ff:ff:ff
478: sta72: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:49 brd ff:ff:ff:ff:ff:ff
479: sta73: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:4a brd ff:ff:ff:ff:ff:ff
480: sta74: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:4b brd ff:ff:ff:ff:ff:ff
481: sta76: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:4d brd ff:ff:ff:ff:ff:ff
482: sta77: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:4e brd ff:ff:ff:ff:ff:ff
483: sta78: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:4f brd ff:ff:ff:ff:ff:ff
484: sta79: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:50 brd ff:ff:ff:ff:ff:ff
485: sta80: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:51 brd ff:ff:ff:ff:ff:ff
486: sta81: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:52 brd ff:ff:ff:ff:ff:ff
487: sta82: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:53 brd ff:ff:ff:ff:ff:ff
488: sta83: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:54 brd ff:ff:ff:ff:ff:ff
489: sta84: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:55 brd ff:ff:ff:ff:ff:ff
490: sta85: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:56 brd ff:ff:ff:ff:ff:ff
491: sta86: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:57 brd ff:ff:ff:ff:ff:ff
492: sta87: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:58 brd ff:ff:ff:ff:ff:ff
493: sta88: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:59 brd ff:ff:ff:ff:ff:ff
494: sta89: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:5a brd ff:ff:ff:ff:ff:ff
495: sta90: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:5b brd ff:ff:ff:ff:ff:ff
496: sta91: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:5c brd ff:ff:ff:ff:ff:ff
497: sta92: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:5d brd ff:ff:ff:ff:ff:ff
498: sta93: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:5e brd ff:ff:ff:ff:ff:ff
499: sta94: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:5f brd ff:ff:ff:ff:ff:ff
500: sta95: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:60 brd ff:ff:ff:ff:ff:ff
501: sta96: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:61 brd ff:ff:ff:ff:ff:ff
502: sta97: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:62 brd ff:ff:ff:ff:ff:ff
503: sta98: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:63 brd ff:ff:ff:ff:ff:ff
504: sta99: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:95:95:00:00:64 brd ff:ff:ff:ff:ff:ff
[root@lanner-i7 lanforge]# ip link|grep sta59
466: sta59: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
[root@lanner-i7 lanforge]# cat /proc/net/dev|wc
    202    3420   24979
[root@lanner-i7 lanforge]# cat /proc/net/dev|grep sta59
[root@lanner-i7 lanforge]# ip link show|grep qdisc|wc
    206    2264   17189

Thanks,
Ben

Signature · 2 lines
Ben Greear <[email protected]>
Candela Technologies Inc  http://www.candelatech.com
#3 lore raw
Quoted 19 lines · Ben Greear
Quoted 18 lines · Eric Dumazet
Quoted 16 lines · Ben Greear

Not all entries are shown!

[root@lanner-i7 lanforge]# cat /proc/net/dev|grep sta59 [root@lanner-i7 lanforge]# ifconfig sta59
sta59 Link encap:Ethernet HWaddr 00:95:95:00:00:3C

            inet addr:10.111.9.39  Bcast:10.111.255.255  Mask:255.255.0.0
            inet6 addr: fe80::295:95ff:fe00:3c/64 Scope:Link
            UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
            RX packets:58103 errors:0 dropped:0 overruns:0 frame:0
            TX packets:26167 errors:0 dropped:0 overruns:0 carrier:0
            collisions:0 txqueuelen:1000
            RX bytes:39494634 (37.6 MiB)  TX bytes:37095540 (35.3 MiB)

Thanks,
Ben

Quoted 7 lines
Quoted 2 lines

Could you post "ip link" result ?

It is below. Looks like /proc/net/dev is missing 6 entries, sta69 being one of them. See end of the email for some grep and |wc results. Seems easily reproducible, so let me know if you want more info.

Hmm, I think I understand, commit f04565ddf52 added a regression here, I will send a fix.

Thanks

#4 lore raw
Quoted 3 lines · Eric Dumazet

Hmm, I think I understand, commit f04565ddf52 added a regression here, I will send a fix.

If you want to try following patch, please do so, I cant try it right now...

I'll provide a proper changelog/attributions in a couple of hours, and make tests myself of course.

Thanks

 net/core/dev.c |   46 ++++++++++++----------------------------------
 1 file changed, 12 insertions(+), 34 deletions(-)
net/core/dev.c +12 -34
index 6c7dc9d..f7e7de3 100644
@@ -4028,54 +4028,45 @@ static int dev_ifconf(struct net *net, char __user *arg)
 
 #ifdef CONFIG_PROC_FS
 
-#define BUCKET_SPACE (32 - NETDEV_HASHBITS)
+#define BUCKET_SPACE (32 - NETDEV_HASHBITS - 1)
 
 struct dev_iter_state {
 	struct seq_net_private p;
-	unsigned int pos; /* bucket << BUCKET_SPACE + offset */
 };
 
 #define get_bucket(x) ((x) >> BUCKET_SPACE)
 #define get_offset(x) ((x) & ((1 << BUCKET_SPACE) - 1))
 #define set_bucket_offset(b, o) ((b) << BUCKET_SPACE | (o))
 
-static inline struct net_device *dev_from_same_bucket(struct seq_file *seq)
+static inline struct net_device *dev_from_same_bucket(struct seq_file *seq, loff_t *pos)
 {
-	struct dev_iter_state *state = seq->private;
 	struct net *net = seq_file_net(seq);
 	struct net_device *dev;
 	struct hlist_node *p;
 	struct hlist_head *h;
-	unsigned int count, bucket, offset;
+	unsigned int count = 0, offset = get_offset(*pos);
 
-	bucket = get_bucket(state->pos);
-	offset = get_offset(state->pos);
-	h = &net->dev_name_head[bucket];
-	count = 0;
+	h = &net->dev_name_head[get_bucket(*pos)];
 	hlist_for_each_entry_rcu(dev, p, h, name_hlist) {
-		if (count++ == offset) {
-			state->pos = set_bucket_offset(bucket, count);
+		if (++count == offset)
 			return dev;
-		}
 	}
 
 	return NULL;
 }
 
-static inline struct net_device *dev_from_new_bucket(struct seq_file *seq)
+static inline struct net_device *dev_from_bucket(struct seq_file *seq, loff_t *pos)
 {
-	struct dev_iter_state *state = seq->private;
 	struct net_device *dev;
 	unsigned int bucket;
 
-	bucket = get_bucket(state->pos);
 	do {
-		dev = dev_from_same_bucket(seq);
+		dev = dev_from_same_bucket(seq, pos);
 		if (dev)
 			return dev;
 
-		bucket++;
-		state->pos = set_bucket_offset(bucket, 0);
+		bucket = get_bucket(*pos);
+		*pos = set_bucket_offset(bucket + 1, 1);
 	} while (bucket < NETDEV_HASHENTRIES);
 
 	return NULL;
@@ -4088,33 +4079,20 @@ static inline struct net_device *dev_from_new_bucket(struct seq_file *seq)
 void *dev_seq_start(struct seq_file *seq, loff_t *pos)
 	__acquires(RCU)
 {
-	struct dev_iter_state *state = seq->private;
-
 	rcu_read_lock();
 	if (!*pos)
 		return SEQ_START_TOKEN;
 
-	/* check for end of the hash */
-	if (state->pos == 0 && *pos > 1)
+	if (get_bucket(*pos) >= NETDEV_HASHENTRIES)
 		return NULL;
 
-	return dev_from_new_bucket(seq);
+	return dev_from_bucket(seq, pos);
 }
 
 void *dev_seq_next(struct seq_file *seq, void *v, loff_t *pos)
 {
-	struct net_device *dev;
-
 	++*pos;
-
-	if (v == SEQ_START_TOKEN)
-		return dev_from_new_bucket(seq);
-
-	dev = dev_from_same_bucket(seq);
-	if (dev)
-		return dev;
-
-	return dev_from_new_bucket(seq);
+	return dev_from_bucket(seq, pos);
 }
 
 void dev_seq_stop(struct seq_file *seq, void *v)
#5 lore raw
Quoted 113 lines · Eric Dumazet
Quoted 3 lines · Eric Dumazet

Hmm, I think I understand, commit f04565ddf52 added a regression here, I will send a fix.

If you want to try following patch, please do so, I cant try it right now...

I'll provide a proper changelog/attributions in a couple of hours, and make tests myself of course.

Thanks

 net/core/dev.c |   46 ++++++++++++----------------------------------

 1 file changed, 12 insertions(+), 34 deletions(-)
net/core/dev.c +11 -28
index 6c7dc9d..f7e7de3 100644
@@ -4028,54 +4028,45 @@ static int dev_ifconf(struct net *net, char __user *arg)
 
  #ifdef CONFIG_PROC_FS
 
-#define BUCKET_SPACE (32 - NETDEV_HASHBITS)
+#define BUCKET_SPACE (32 - NETDEV_HASHBITS - 1)
 
  struct dev_iter_state {
        struct seq_net_private p;
-       unsigned int pos; /* bucket << BUCKET_SPACE + offset */
  };
 
  #define get_bucket(x) ((x) >> BUCKET_SPACE)
  #define get_offset(x) ((x) & ((1 << BUCKET_SPACE) - 1))
  #define set_bucket_offset(b, o) ((b) << BUCKET_SPACE | (o))
 
-static inline struct net_device *dev_from_same_bucket(struct seq_file *seq)
+static inline struct net_device *dev_from_same_bucket(struct seq_file *seq, loff_t *pos)
  {
-       struct dev_iter_state *state = seq->private;
        struct net *net = seq_file_net(seq);
        struct net_device *dev;
        struct hlist_node *p;
        struct hlist_head *h;
-       unsigned int count, bucket, offset;
+       unsigned int count = 0, offset = get_offset(*pos);
 
-       bucket = get_bucket(state->pos);
-       offset = get_offset(state->pos);
-       h = &net->dev_name_head[bucket];
-       count = 0;
+       h = &net->dev_name_head[get_bucket(*pos)];
        hlist_for_each_entry_rcu(dev, p, h, name_hlist) {
-               if (count++ == offset) {
-                       state->pos = set_bucket_offset(bucket, count);
+               if (++count == offset)
                        return dev;
-               }
        }
 
        return NULL;
  }
 
-static inline struct net_device *dev_from_new_bucket(struct seq_file *seq)
+static inline struct net_device *dev_from_bucket(struct seq_file *seq, loff_t *pos)
  {
-       struct dev_iter_state *state = seq->private;
        struct net_device *dev;
        unsigned int bucket;
 
-       bucket = get_bucket(state->pos);
        do {
-               dev = dev_from_same_bucket(seq);
+               dev = dev_from_same_bucket(seq, pos);
                if (dev)
                        return dev;
 
-               bucket++;
-               state->pos = set_bucket_offset(bucket, 0);
+               bucket = get_bucket(*pos);
+               *pos = set_bucket_offset(bucket + 1, 1);
        } while (bucket < NETDEV_HASHENTRIES);
 
        return NULL;
@@ -4088,33 +4079,20 @@ static inline struct net_device *dev_from_new_bucket(struct seq_file *seq)
  void *dev_seq_start(struct seq_file *seq, loff_t *pos)
        __acquires(RCU)
  {
-       struct dev_iter_state *state = seq->private;
-
        rcu_read_lock();
        if (!*pos)
                return SEQ_START_TOKEN;
 
-       /* check for end of the hash */
-       if (state->pos == 0 && *pos > 1)
+       if (get_bucket(*pos) >= NETDEV_HASHENTRIES)
                return NULL;
 
-       return dev_from_new_bucket(seq);
+       return dev_from_bucket(seq, pos);
  }
 
  void *dev_seq_next(struct seq_file *seq, void *v, loff_t *pos)
  {
-       struct net_device *dev;
-
        ++*pos;
-
-       if (v == SEQ_START_TOKEN)
-               return dev_from_new_bucket(seq);

net/core/dev.c static inline struct net_device *dev_from_new_bucket(struct seq_file *seq) · line 4098

Quoted 10 lines
net/core/dev.c +1 -6
-
-       dev = dev_from_same_bucket(seq);
-       if (dev)
-               return dev;
-
-       return dev_from_new_bucket(seq);
+       return dev_from_bucket(seq, pos);
  }
 
  void dev_seq_stop(struct seq_file *seq, void *v)

Looks good to me.

Thanks Eric,
Mihai

#6 lore raw

[PATCH net: fix /proc/net/dev regression

In reply to Eric Dumazet

Commit f04565ddf52 (dev: use name hash for dev_seq_ops) added a second regression, as some devices are missing from /proc/net/dev if many devices are defined.

When seq_file buffer is filled, the last ->next/show() method is canceled (pos value is reverted to value prior ->next() call)

Problem is after above commit, we dont restart the lookup at right position in ->start() method.

Fix this by removing the internal 'pos' pointer added in commit, since we need to use the 'loff_t *pos' provided by seq_file layer.

This also reverts commit 5cac98dd0 (net: Fix corruption in /proc/*/net/dev_mcast), since its not needed anymore.

---
 include/linux/netdevice.h |    2 -
 net/core/dev.c            |   58 ++++++++----------------------------
 net/core/dev_addr_lists.c |    3 +
 3 files changed, 15 insertions(+), 48 deletions(-)
include/linux/netdevice.h +0 -2
index 1f77540..5cbaa20 100644
@@ -2604,8 +2604,6 @@ extern void		net_disable_timestamp(void);
 extern void *dev_seq_start(struct seq_file *seq, loff_t *pos);
 extern void *dev_seq_next(struct seq_file *seq, void *v, loff_t *pos);
 extern void dev_seq_stop(struct seq_file *seq, void *v);
-extern int dev_seq_open_ops(struct inode *inode, struct file *file,
-			    const struct seq_operations *ops);
 #endif
 
 extern int netdev_class_create_file(struct class_attribute *class_attr);
net/core/dev.c +13 -45

113 lines not on this page · raw message

net/core/dev_addr_lists.c +2 -1
index 29c07fe..626698f 100644
@@ -696,7 +696,8 @@ static const struct seq_operations dev_mc_seq_ops = {
 
 static int dev_mc_seq_open(struct inode *inode, struct file *file)
 {
-	return dev_seq_open_ops(inode, file, &dev_mc_seq_ops);
+	return seq_open_net(inode, file, &dev_mc_seq_ops,
+			    sizeof(struct seq_net_private));
 }
 
 static const struct file_operations dev_mc_seq_fops = {
author Tested-by
#7 lore raw

Re: [PATCH net: fix /proc/net/dev regression

Quoted 13 lines · Eric Dumazet

Commit f04565ddf52 (dev: use name hash for dev_seq_ops) added a second regression, as some devices are missing from /proc/net/dev if many devices are defined.

When seq_file buffer is filled, the last ->next/show() method is canceled (pos value is reverted to value prior ->next() call)

Problem is after above commit, we dont restart the lookup at right position in ->start() method.

Fix this by removing the internal 'pos' pointer added in commit, since we need to use the 'loff_t *pos' provided by seq_file layer.

Quoted 6 lines

This also reverts commit 5cac98dd0 (net: Fix corruption in /proc/*/net/dev_mcast), since its not needed anymore.

This appears to fix the problem. I do find it mildly irritating that the ordering is now random in /proc/net/dev, but I guess that is the price of progress.

Thanks for the quick fix!

Ben

Signature · 2 lines
Ben Greear <[email protected]>
Candela Technologies Inc  http://www.candelatech.com
#8 lore raw

Re: [PATCH net: fix /proc/net/dev regression

Quoted 5 lines · Ben Greear

This appears to fix the problem. I do find it mildly irritating that the ordering is now random in /proc/net/dev, but I guess that is the price of progress.

Well, as new devices are inserted at front of each hash list, this was already the case before Mihai work.

By the way, ifconfig does a sort before output.

Quoted 1 line

Thanks !

maintainer Applied
#9 lore raw

Re: [PATCH net: fix /proc/net/dev regression

In reply to Ben Greear

From: Ben Greear <[email protected]>
Date: Tue, 03 Apr 2012 08:36:48 -0700

Quoted 21 lines · Eric Dumazet
Quoted 13 lines

Commit f04565ddf52 (dev: use name hash for dev_seq_ops) added a second regression, as some devices are missing from /proc/net/dev if many devices are defined.

When seq_file buffer is filled, the last ->next/show() method is canceled (pos value is reverted to value prior ->next() call)

Problem is after above commit, we dont restart the lookup at right position in ->start() method.

Fix this by removing the internal 'pos' pointer added in commit, since we need to use the 'loff_t *pos' provided by seq_file layer.

Quoted 6 lines

This also reverts commit 5cac98dd0 (net: Fix corruption in /proc/*/net/dev_mcast), since its not needed anymore.

Quoted 7 lines

This appears to fix the problem. I do find it mildly irritating that the ordering is now random in /proc/net/dev, but I guess that is the price of progress.

Thanks for the quick fix!

Applied, and queued up for -stable, thanks everyone.