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