[Babel-users] Send: Cannot assign requested address

Johannes Kimmel fff at bareminimum.eu
Thu Jan 27 21:22:50 GMT 2022


Hi Bobby,

I find it rather odd that you need to add an IPv6 link local address 
manually.

For babeld to work, you need functioning IPv6 multicast. You can do a 
link local multicast ping with `ping ff02::1%wlan1`. If everything is 
correct you should get replies from all link local address in the 
network attached to your `wlan1` interface. In your case you should see 
a reply from your own interface and from the other PI.

You can also try and use `tcpdump -i wlan1 udp port 6696` and see if you 
can spot both machines' packets. If not, it's another clue that 
multicast might be broken in your case.

Cheers,

Johannes

On 27.01.22 20:06, Bobby wrote:
> Attempt number 2, as it seems the Android gmail app sends html which the 
> mailing list doesn't like. Apologies to all.
> 
> I cannot seem to get babeld to work. I imagine it's something silly. If 
> anyone could point out what I'm doing wrong, it would be a huge help. 
> I've been mostly following the instructions here with no luck: 
> https://github.com/jech/babeld
> 
> The setup consists of two Raspberry Pis with USB wifi devices. The wifi 
> devices are placed into ad-hoc mode with the following commands:
>      sudo ip link set wlan1 down
>      sudo iwconfig wlan1 mode ad-hoc channel 1 essid "babeltest"
>      sudo ip link set up dev wlan1
> 
> IP addresses are assigned to the interface with the following commands:
>      sudo ip addr add 10.0.1.1/16 dev wlan1
>      sudo ip -6 addr add $(generate-ipv6-address -r)/128 dev wlan1
> 
> 
> These same steps are repeated on Pi number 2, but with an ipv4 address 
> of 10.0.2.1. At this point both of them can ping each other at their 
> ipv4 address via the wlan1 interface.
> 
> Attempting to run babeld on wlan1 will result in an error regarding a 
> lack of link-local address. The specific message is:
>      Interface wlan1 has no link-local address.
>      setsockopt(IPV6_LEAVE_GROUP): Cannot assign requested address
> 
> 
> The guide on github mentions adding a link local address for VPNs, and 
> since the above error seems related, the following command was issued on 
> both of the Pis:
>      sudo ip -6 addr add $(generate-ipv6-address fe80::) dev wlan1
> 
> 
> I don't know if this is the right thing to do, but it resolves the 
> link-local error. The ifconfig output for wlan1 on Pi number 2 shows the 
> following after doing so:
> 
> wlan1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
>          inet 10.0.2.1  netmask 255.255.0.0 broadcast 0.0.0.0
>          inet6 fdf8:2c6e:fe5a:0:9caf:84:72db:c7d4 prefixlen 128  scopeid 
> 0x0<global>
>          inet6 fe80::a8d8:b516:ece7:7059  prefixlen 128  scopeid 0x20<link>
>          ether 10:0d:7f:b3:f3:0f  txqueuelen 1000 (Ethernet)
>          RX packets 229  bytes 32632 (31.8 KiB)
>          RX errors 0  dropped 0  overruns 0  frame 0
>          TX packets 229  bytes 34568 (33.7 KiB)
>          TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
> 
> 
> 
> Running babeld still doesn't seem to work though.
> =====
> sudo babeld -d 2 wlan1
> Noticed ifindex change for wlan1.
> Noticed status change for wlan1.
> Noticed IPv4 change for wlan1.
> Upped interface wlan1 (cost=256, channel=1, IPv4).
> Sending hello 21160 (400) to wlan1.
> Sending self update to wlan1.
> Sending update to wlan1 for any.
> Sending self update to wlan1.
> Sending update to wlan1 for any.
> sending request for any.
> 
> Checking kernel routes.
>    (flushing 12 buffered bytes)
> send: Cannot assign requested address
> Sending hello 21161 (400) to wlan1.
>    (flushing 20 buffered bytes)
> send: Cannot assign requested address
> Sending hello 21162 (400) to wlan1.
> Sending self update to wlan1.
> Sending update to wlan1 for 10.0.2.1/32 from 0.0.0.0/0.
> Sending update to wlan1 for 10.13.37.126/32 from 0.0.0.0/0.
> Sending update to wlan1 for fdf8:2c6e:fe5a:0:9caf:84:72db:c7d4/128 from 
> ::/0.
>    (flushing 3 buffered updates on wlan1 (4))
> sending request for any.
>    (flushing 104 buffered bytes)
> send: Cannot assign requested address
> Entering main loop.
> Sending hello 21163 (400) to wlan1.
> 
> My id e6:5f:01:ff:fe:7d:76:9d seqno 59476
> 10.0.2.1/32 from 0.0.0.0/0 metric 0 (exported)
> 10.13.37.126/32 from 0.0.0.0/0 metric 0 (exported)
> fdf8:2c6e:fe5a:0:9caf:84:72db:c7d4/128 from ::/0 metric 0 (exported)
> Checking neighbours.
> 
> My id e6:5f:01:ff:fe:7d:76:9d seqno 59476
> 10.0.2.1/32 from 0.0.0.0/0 metric 0 (exported)
> 10.13.37.126/32 from 0.0.0.0/0 metric 0 (exported)
> fdf8:2c6e:fe5a:0:9caf:84:72db:c7d4/128 from ::/0 metric 0 (exported)
>    (flushing 8 buffered bytes)
> send: Cannot assign requested address
> 
> My id e6:5f:01:ff:fe:7d:76:9d seqno 59476
> 10.0.2.1/32 from 0.0.0.0/0 metric 0 (exported)
> 10.13.37.126/32 from 0.0.0.0/0 metric 0 (exported)
> fdf8:2c6e:fe5a:0:9caf:84:72db:c7d4/128 from ::/0 metric 0 (exported)
> =====
> 
> There are constant "send:" errors. There is never any indication that 
> the hello message makes it to the other Pi, nor does anything show that 
> hello messages are being received on this Pi. I've tried all three 
> possible combinations of assigning ipv6 addresses but it makes no 
> difference. Pinging the ipv4 addresses works though, so I know the Pis 
> are able to communicate over wlan1. I think I'm missing something else 
> but I don't know what it is. Any ideas?
> 
> Thanks,
> Bobby
> 
> _______________________________________________
> Babel-users mailing list
> Babel-users at alioth-lists.debian.net
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/babel-users



More information about the Babel-users mailing list