NetBSD-Bugs archive

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

kern/55499: bridge doesn't bridge?



>Number:         55499
>Category:       kern
>Synopsis:       bridge doesn't bridge?
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Jul 19 12:05:00 +0000 2020
>Originator:     Patrick Welche
>Release:        NetBSD-9.99.69/amd64
>Organization:
>Environment:
>Description:
Setting up a bridge should be as simple as the attached. Watch the ping fail and bridge not learn any addresses.

----------------------------------------------------------------------
#                               +------------+
#                               |            |
# box1 192.168.0.1 --- wire1 ---+ bridge:if1 |
#                               |            |
# box2 192.168.0.2 --- wire2 ---+ bridge:if2 |
#                               |            |
#                               +------------+

bridge=unix:///tmp/sockbr
box1=unix:///tmp/sockbx1
box2=unix:///tmp/sockbx2
wire1=/tmp/netbus1
wire2=/tmp/netbus2

rumpserve="rump_server -lrumpnet -lrumpnet_net -lrumpnet_netinet -lrumpnet_shmif -lrumpnet_bridge"

${rumpserve} ${bridge}
export RUMP_SERVER=${bridge}
rump.ifconfig shmif1 create
rump.ifconfig shmif1 linkstr ${wire1}
rump.ifconfig shmif2 create
rump.ifconfig shmif2 linkstr ${wire2}
rump.ifconfig bridge0 create
rump.ifconfig -a
export RUMPHIJACK=socket=all,sysctl=yes
export RUMPHIJACK_RETRYCONNECT=inftime
export LD_PRELOAD=/usr/lib/librumphijack.so
brconfig bridge0 add shmif1 add shmif2
brconfig bridge0 up
brconfig -a
unset LD_PRELOAD

${rumpserve} ${box1}
export RUMP_SERVER=${box1}
rump.ifconfig shmif0 create
rump.ifconfig shmif0 linkstr ${wire1}
rump.ifconfig shmif0 inet 192.168.0.1 netmask 0xffffff00
rump.ifconfig -w 0
rump.ifconfig -a

${rumpserve} ${box2}
export RUMP_SERVER=${box2}
rump.ifconfig shmif0 create
rump.ifconfig shmif0 linkstr ${wire2}
rump.ifconfig shmif0 inet 192.168.0.2 netmask 0xffffff00
rump.ifconfig -w 0
rump.ifconfig -a

rump.ping -nc 5 192.168.0.1

export RUMP_SERVER=${bridge}
export LD_PRELOAD=/usr/lib/librumphijack.so
brconfig -a
unset LD_PRELOAD

for box in ${bridge} ${box1} ${box2}; do
        export RUMP_SERVER=${box}
        rump.halt
done
----------------------------------------------------------------------
+ bridge='unix:///tmp/sockbr'
+ box1='unix:///tmp/sockbx1'
+ box2='unix:///tmp/sockbx2'
+ wire1=/tmp/netbus1
+ wire2=/tmp/netbus2
+ rumpserve='rump_server -lrumpnet -lrumpnet_net -lrumpnet_netinet -lrumpnet_shmif -lrumpnet_bridge'
+ rump_server -lrumpnet -lrumpnet_net -lrumpnet_netinet -lrumpnet_shmif -lrumpnet_bridge 'unix:///tmp/sockbr'
+ export 'RUMP_SERVER=unix:///tmp/sockbr'
+ rump.ifconfig shmif1 create
+ rump.ifconfig shmif1 linkstr /tmp/netbus1
+ rump.ifconfig shmif2 create
+ rump.ifconfig shmif2 linkstr /tmp/netbus2
+ rump.ifconfig bridge0 create
+ rump.ifconfig -a
lo0: flags=0x8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33624
        inet 127.0.0.1/8 flags 0
shmif1: flags=0x8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        capabilities=0x7ff80<TSO4,IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx>
        capabilities=0x7ff80<TCP4CSUM_Tx,UDP4CSUM_Rx,UDP4CSUM_Tx,TCP6CSUM_Rx>
        capabilities=0x7ff80<TCP6CSUM_Tx,UDP6CSUM_Rx,UDP6CSUM_Tx,TSO6>
        enabled=0
        address: b2:a0:5d:72:f2:ba
        linkstr: /tmp/netbus1
shmif2: flags=0x8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        capabilities=0x7ff80<TSO4,IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx>
        capabilities=0x7ff80<TCP4CSUM_Tx,UDP4CSUM_Rx,UDP4CSUM_Tx,TCP6CSUM_Rx>
        capabilities=0x7ff80<TCP6CSUM_Tx,UDP6CSUM_Rx,UDP6CSUM_Tx,TSO6>
        enabled=0
        address: b2:a0:2f:99:7a:83
        linkstr: /tmp/netbus2
bridge0: flags=0 mtu 1500
+ export RUMPHIJACK=socket=all,sysctl=yes
+ export RUMPHIJACK_RETRYCONNECT=inftime
+ export LD_PRELOAD=/usr/lib/librumphijack.so
+ brconfig bridge0 add shmif1 add shmif2
+ brconfig bridge0 up
+ brconfig -a
bridge0: flags=41<UP,RUNNING>
        Configuration:
                priority 32768 hellotime 2 fwddelay 15 maxage 20
                ipfilter disabled flags 0x0
        Interfaces:
                shmif2 flags=3<LEARNING,DISCOVER>
                        port 3 priority 128
                shmif1 flags=3<LEARNING,DISCOVER>
                        port 2 priority 128
        Address cache (max cache: 100, timeout: 1200):
+ unset LD_PRELOAD
+ rump_server -lrumpnet -lrumpnet_net -lrumpnet_netinet -lrumpnet_shmif -lrumpnet_bridge 'unix:///tmp/sockbx1'
+ export 'RUMP_SERVER=unix:///tmp/sockbx1'
+ rump.ifconfig shmif0 create
+ rump.ifconfig shmif0 linkstr /tmp/netbus1
+ rump.ifconfig shmif0 inet 192.168.0.1 netmask 0xffffff00
+ rump.ifconfig -w 0
+ rump.ifconfig -a
lo0: flags=0x8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33624
        inet 127.0.0.1/8 flags 0
shmif0: flags=0x8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        capabilities=0x7ff80<TSO4,IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx>
        capabilities=0x7ff80<TCP4CSUM_Tx,UDP4CSUM_Rx,UDP4CSUM_Tx,TCP6CSUM_Rx>
        capabilities=0x7ff80<TCP6CSUM_Tx,UDP6CSUM_Rx,UDP6CSUM_Tx,TSO6>
        enabled=0
        address: b2:a0:45:1d:cd:d3
        linkstr: /tmp/netbus1
        inet 192.168.0.1/24 broadcast 192.168.0.255 flags 0
+ rump_server -lrumpnet -lrumpnet_net -lrumpnet_netinet -lrumpnet_shmif -lrumpnet_bridge 'unix:///tmp/sockbx2'
+ export 'RUMP_SERVER=unix:///tmp/sockbx2'
+ rump.ifconfig shmif0 create
+ rump.ifconfig shmif0 linkstr /tmp/netbus2
+ rump.ifconfig shmif0 inet 192.168.0.2 netmask 0xffffff00
+ rump.ifconfig -w 0
+ rump.ifconfig -a
lo0: flags=0x8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33624
        inet 127.0.0.1/8 flags 0
shmif0: flags=0x8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        capabilities=0x7ff80<TSO4,IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx>
        capabilities=0x7ff80<TCP4CSUM_Tx,UDP4CSUM_Rx,UDP4CSUM_Tx,TCP6CSUM_Rx>
        capabilities=0x7ff80<TCP6CSUM_Tx,UDP6CSUM_Rx,UDP6CSUM_Tx,TSO6>
        enabled=0
        address: b2:a0:65:90:10:1f
        linkstr: /tmp/netbus2
        inet 192.168.0.2/24 broadcast 192.168.0.255 flags 0
+ rump.ping -nc 5 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 56 data bytes

----192.168.0.1 PING Statistics----
5 packets transmitted, 0 packets received, 100.0% packet loss
+ export 'RUMP_SERVER=unix:///tmp/sockbr'
+ export LD_PRELOAD=/usr/lib/librumphijack.so
+ brconfig -a
bridge0: flags=41<UP,RUNNING>
        Configuration:
                priority 32768 hellotime 2 fwddelay 15 maxage 20
                ipfilter disabled flags 0x0
        Interfaces:
                shmif2 flags=3<LEARNING,DISCOVER>
                        port 3 priority 128
                shmif1 flags=3<LEARNING,DISCOVER>
                        port 2 priority 128
        Address cache (max cache: 100, timeout: 1200):
+ unset LD_PRELOAD
+ for box='unix:///tmp/sockbr'
+ export 'RUMP_SERVER=unix:///tmp/sockbr'
+ rump.halt
+ for box='unix:///tmp/sockbx1'
+ export 'RUMP_SERVER=unix:///tmp/sockbx1'
+ rump.halt
+ for box='unix:///tmp/sockbx2'
+ export 'RUMP_SERVER=unix:///tmp/sockbx2'
+ rump.halt

>How-To-Repeat:

>Fix:



Home | Main Index | Thread Index | Old Index