Closed darkopetrovic closed 8 years ago
I believe this issue is that you are using CREATE_BRIDGE=6LBR
, where 6lbr creates br0 at 6lbr boot. When eth0 is then added to the bridge, its configuration gets cleared. You should create the bridge manually rather than letting 6LBR do it, with
CREATE_BRIDGE=0
And setting an appropriate configuration in /etc/network/interfaces to create the bridge when you start the Linux host. Here are examples of that:
For your last question, br0 is a bridge to connect the physical eth0 to 6lbr (tap0).
That's about all I know
Thanks for your answer!
It works now. But I don't know why. So, I've setup the bridge at startup with:
auto lo
iface lo inet loopback
iface eth0 inet static
address 0.0.0.0
auto br0
iface br0 inet static
pre-up brctl addbr br0
pre-up brctl addif br0 eth0
pre-up ip addr flush dev eth0
post-down ip link set eth0 down
post-down ip link set br0 down
post-down brctl delif br0 eth0
post-down brctl delbr br0
address 153.109.5.42
netmask 255.255.255.0
network 153.109.5.0
broadcast 153.109.5.255
gateway 153.109.5.1
dns-nameservers 153.109.10.11
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
I still don't get well how this bridge is working since I've to configure the static address on br0
and not on eth0
. With this config I can access normally the RPI with SSH but I cannot access if I set the static address on eth0
.
Secondly, I had to configure manually the bbbb::100
address on either br0
or eth0
to access the webserver from another machine. Why is it not set automatically? What is the correct practice if I've to set it manually?
When you have an interface attached to the bridge, the bridge sort of takes control and you have to apply all configuration to the bridge, not the interface. I think that's how bridge-utils is designed, but I'm not much of an expert. Maybe @laurentderu might be able to confirm I'm not spitting too much BS.
For your second question about the bbbb::
prefix - normally this info would come from an RA packet from an IPv6 router. If you don't have one you could also run radvd on the Linux host to emulate the Router Advertisement. Again, it's been a while for me so this needs to be confirmed ;)
Hope it helps
Thanks for your answer.
Is the radvd
tool equally required for the WSN side? Since I'm not using RPL and I configured 6LBR in NDP-ROUTER mode, should it send RA messages on the WSN? Its seems that it doesn't. My nodes doesn't receive any RA message after requesting it with RS messages. Do you know what means RA daemon : True
configuration in the nvm.dat
file? More generaly I'm asking if we can use the 6LBR without RPL? The documentation about the NDP-ROUTER is lacking.
UPDATE: It's seems that when building cetic_6lbr_ndp_router
the CETIC_6LBR_ROUTER is 1 and thus UIP_CONF_ND6_SEND_RA is equally enabled in this case. Is the PF blocking 6LBR to receive RS and send RA in return?
Hi,
As Sébastien correctly said, the bridge is used to connect the 6LBR interface, tap0, to the Ethernet interface, ether. However, when you attach an interface to a bridge it loses all its configuration, so when the Ethernet interface joins the bridge, it loses its addresses and the external connectivity, that's why it's better to manually create the bridge and use it as the main interface of the RPi.
About the NDP-Router mode, it should send RA to the WSN side by default (that's what the RA daemon : True means), but you also must set the RA Router Lifetime to a non zero value, or the nodes will not use it as default router.
When created, the NDP Router was meant to be only a test mode, that's why the documentation is lacking for this mode. Now it is part of the supported mode (and tested in our non-regression tests), so I should really update the doc :)
Thanks for your feedback! By looking at the code I was finally able to understand that. Now as you may have seen I'm on the issue #76 which explain why the sensor doesn't receive actually this RA message :)
I followed the 'Hello 6LBR' example with a RPI connected to a CC2538DK as slip-radio using the maint_1.3.2 branch. I'm still unable to access the webserver on
http://[bbbb::100]
from another machine having the addressbbbb::101
(or with wget directly on the RPI).Here is my configuration and logs:
Why the
eth0
interface doesn't get an IPv6 address? I tried to add it manually but I'm still unable to access the webserver. Note that I can ping the addressbbbb::100
from the other machine.Should we join the
eth0
to thebr0
interface withETH_JOIN_BRIDGE=1
in order to make it work? If I activate this option I loose SSH my connection. Could we bypass that if the join required?What is the real meaning of
br0
andtap0
interface?Many thanks in advance for your help!