/proc/dev/net doesnt show all net devices
Summary: /proc/net/devices doesnt show all devices using cat. With dd all are available.
I tested a kernels prior to
http://linus.bkbits.net:8080/linux-2.5/[email protected]
and it doesnt seem to have this problem.
If I do a
& cat /proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes
packets errs drop fifo colls carrier compressed
lo: 784 10 0 0 0 0 0 0 784
dummy0: 0 0 0 0 0 0 0 0 0
tunl0: 0 0 0 0 0 0 0 0 0
gre0: 0 0 0 0 0 0 0 0 0
sit0: 0 0 0 0 0 0 0 0 0
eth0: 1078024 19131 0 0 0 0 0 0 5696472 eth1:536253967 10078459 0 0 0 0 0 0 3372254868
I get net devices till eth1, but eth2 and hsi0 are available nevertheless. but if I do a
& dd if=/proc/net/dev bs=4096
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes
packets errs drop fifo colls carrier compressed
lo: 1036 13 0 0 0 0 0 0 1036
dummy0: 0 0 0 0 0 0 0 0 0
tunl0: 0 0 0 0 0 0 0 0 0
gre0: 0 0 0 0 0 0 0 0 0
sit0: 0 0 0 0 0 0 0 0 0
eth0: 1182386 18424 0 0 0 0 0 0 11838659 eth1:30499791987 20594094 0 0 0 0 0 0
eth2:184353121774 125264473 0 0 0 0 0 0
hsi0:123569282529 3827611 0 0 0 0 0 0
0+1 records in
0+1 records out
All net devices are shown.
cheers
Christian
On Tue, 29 Apr 2003 14:34:18 +0200 Christian Bornträger <[email protected]> wrote:
| Summary: /proc/net/devices doesnt show all devices using cat. With dd all are | available. | | I tested a kernels prior to | http://linus.bkbits.net:8080/linux-2.5/[email protected] | and it doesnt seem to have this problem.
I haven't tried to make that many net devices.
Acme, does this look helpful?
Christian, can you test this patch?
--
~Randy
patch_name: proc_net_dev_seq.patchpatch_version: 2003-04-29.09:10:38
author: Randy.Dunlap <[email protected]>
description: fix /proc/net/dev to include entire file for output
product: Linuxproduct_versions: linux-2568-428
changelog: seq_start() needs to increment i;
URL: _
requires: _
conflicts: _
maintainer: [email protected]
diffstat: =
net/core/dev.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-)
net/core/dev.c renamed from net/core/dev.c%SEQ +1 -1
@@ -1789,7 +1789,7 @@struct net_device *dev;loff_t i; -for (i =0 , dev = dev_base; dev && i < pos; dev = dev->next); +for (i =0 , dev = dev_base; dev && i < pos; dev = dev->next, i++);return i == pos ? dev :NULL ; }
On Tue, 29 Apr 2003 09:28:57 -0700 "Randy.Dunlap" <[email protected]> wrote:
| On Tue, 29 Apr 2003 14:34:18 +0200 Christian Bornträger <[email protected]> wrote: | | | Summary: /proc/net/devices doesnt show all devices using cat. With dd all are | | available. | | | | I tested a kernels prior to | | http://linus.bkbits.net:8080/linux-2.5/[email protected] | | and it doesnt seem to have this problem. | | | I haven't tried to make that many net devices. | Acme, does this look helpful? | Christian, can you test this patch? | | -- | | | diff -Naur ./net/core/dev.c%SEQ ./net/core/dev.c | --- ./net/core/dev.c%SEQ 2003-04-28 15:07:01.000000000 -0700 | +++ ./net/core/dev.c 2003-04-29 09:06:18.000000000 -0700 | @@ -1789,7 +1789,7 @@ | struct net_device *dev; | loff_t i; | | - for (i = 0, dev = dev_base; dev && i < pos; dev = dev->next); | + for (i = 0, dev = dev_base; dev && i < pos; dev = dev->next, i++); | | return i == pos ? dev : NULL; | } | -
Oh well, I don't think that works.
How do I configure the dummy network driver to get loads of interfaces?
--
~Randy
Quoted 1 line
| Christian, can you test this patch?
I can....
Quoted 1 line
Oh well, I don't think that works.
should I nevertheless test this patch?
Quoted 1 line
How do I configure the dummy network driver to get loads of interfaces?
Just copy the dummy.o to dummy1.o dummy2.o dummy3.o, insmod and ifconfig them.
cheers Christian
On Wed, 30 Apr 2003 09:11:11 +0200 Christian Bornträger <[email protected]> wrote:
| > | Christian, can you test this patch? | | I can.... | | > Oh well, I don't think that works. | | should I nevertheless test this patch?
You didn't need to. I had already seen the same results that you saw.
| > How do I configure the dummy network driver to get loads of interfaces? | | Just copy the dummy.o to dummy1.o dummy2.o dummy3.o, insmod and ifconfig | them.
Doesn't work for me. insmod (from ver. 0.9.11a module-init-tools) won't load multiple copies of dummy[n].o or dummy[n].ko. (with dummy already loaded)
For the .o files, it says:
dummy: no version magic, tainting kernel.
Error inserting 'dummy1.o': -1 File exists
and for the .ko files, it says:
Error inserting 'dummy1.ko': -1 File exists
--
~Randy
Quoted 1 line · Randy.Dunlap
Oh well, I don't think that works.
Well, it fails differently. Now i get all devices but several times.
[root@tel22fe root]# cat /proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes
packets errs drop fifo colls carrier compressed
lo: 784 10 0 0 0 0 0 0 784
dummy0: 0 0 0 0 0 0 0 0 0
tunl0: 0 0 0 0 0 0 0 0 0
gre0: 0 0 0 0 0 0 0 0 0
sit0: 0 0 0 0 0 0 0 0 0
eth0: 13356 148 0 0 0 0 0 0 27388
eth1: 805 3 0 0 0 0 0 0 264
dummy0: 0 0 0 0 0 0 0 0 0
tunl0: 0 0 0 0 0 0 0 0 0
gre0: 0 0 0 0 0 0 0 0 0
sit0: 0 0 0 0 0 0 0 0 0
eth0: 13356 148 0 0 0 0 0 0 27388
eth1: 805 3 0 0 0 0 0 0 264
eth2: 0 0 0 0 0 0 0 0 264
hsi0: 0 0 0 0 0 0 0 0 264
tunl0: 0 0 0 0 0 0 0 0 0
gre0: 0 0 0 0 0 0 0 0 0
sit0: 0 0 0 0 0 0 0 0 0
eth0: 13356 148 0 0 0 0 0 0 27388
eth1: 805 3 0 0 0 0 0 0 264
eth2: 0 0 0 0 0 0 0 0 264
hsi0: 0 0 0 0 0 0 0 0 264
gre0: 0 0 0 0 0 0 0 0 0
sit0: 0 0 0 0 0 0 0 0 0
eth0: 13356 148 0 0 0 0 0 0 28544
eth1: 805 3 0 0 0 0 0 0 264
eth2: 0 0 0 0 0 0 0 0 264
hsi0: 0 0 0 0 0 0 0 0 264
sit0: 0 0 0 0 0 0 0 0 0
eth0: 13356 148 0 0 0 0 0 0 28544
eth1: 805 3 0 0 0 0 0 0 264
eth2: 0 0 0 0 0 0 0 0 264
hsi0: 0 0 0 0 0 0 0 0 264
eth0: 13356 148 0 0 0 0 0 0 29700
eth1: 805 3 0 0 0 0 0 0 264
eth2: 0 0 0 0 0 0 0 0 264
hsi0: 0 0 0 0 0 0 0 0 264
eth1: 805 3 0 0 0 0 0 0 264
eth2: 0 0 0 0 0 0 0 0 264
hsi0: 0 0 0 0 0 0 0 0 264
eth2: 0 0 0 0 0 0 0 0 264
hsi0: 0 0 0 0 0 0 0 0 264
hsi0: 0 0 0 0 0 0 0 0 264 Hi-
On Tue, 29 Apr 2003 14:34:18 +0200 Christian Bornträger <[email protected]> wrote:
| Summary: /proc/net/devices doesnt show all devices using cat. With dd all are | available. | | I tested a kernels prior to | http://linus.bkbits.net:8080/linux-2.5/[email protected] | and it doesnt seem to have this problem. | | If I do a | & cat /proc/net/dev | Inter-| Receive | Transmit | face |bytes packets errs drop fifo frame compressed multicast|bytes | packets errs drop fifo colls carrier compressed | lo: 784 10 0 0 0 0 0 0 784 | dummy0: 0 0 0 0 0 0 0 0 0 | tunl0: 0 0 0 0 0 0 0 0 0 | gre0: 0 0 0 0 0 0 0 0 0 | sit0: 0 0 0 0 0 0 0 0 0 | eth0: 1078024 19131 0 0 0 0 0 0 5696472 | eth1:536253967 10078459 0 0 0 0 0 0 3372254868 | | I get net devices till eth1, but eth2 and hsi0 are available nevertheless. | but if I do a | | & dd if=/proc/net/dev bs=4096 | Inter-| Receive | Transmit | face |bytes packets errs drop fifo frame compressed multicast|bytes | packets errs drop fifo colls carrier compressed | lo: 1036 13 0 0 0 0 0 0 1036 | dummy0: 0 0 0 0 0 0 0 0 0 | tunl0: 0 0 0 0 0 0 0 0 0 | gre0: 0 0 0 0 0 0 0 0 0 | sit0: 0 0 0 0 0 0 0 0 0 | eth0: 1182386 18424 0 0 0 0 0 0 11838659 | eth1:30499791987 20594094 0 0 0 0 0 0 | eth2:184353121774 125264473 0 0 0 0 0 0 | hsi0:123569282529 3827611 0 0 0 0 0 0 | 0+1 records in | 0+1 records out | | All net devices are shown.
Weird one to me. Maybe someone else knows...
You were doing this test in an X terminal window, right? and not on a text-only console?
The reason that I say that is that I can reproduce this problem on 2.5.68, but only in an xterm or similar window, but when I switch back to a console, the entire device list is displayed.
???
--
~Randy