I am trying to get familiar with the Alfred tools and downloaded version 2016.1. Unfortunately it didn't work - I couldn't get past a bind error:
root@sierra1:~# ./alfred -m -i bat0 can't bind: Cannot assign requested address Failed to open interfaces
I had setup batman-adv with the commands:
batctl if add eth0 ip link set up bat0 (eth0 was already up)
I rolled back to 2015.0 (per a hint at http://wiki.pinneberg.freifunk.net/alfred) and alfred started up just fine instead of giving the error. However it periodically gives the following message:
announce master ... Error during sent: Cannot assign requested address
I also tried alfred -m -i eth0 with the same results.
Is there something wrong in my configuration? Can anyone point me in the right direction? I've read through the Wiki for both batman-adv and alfred and am out of ideas.
I'm trying to prove this setup and get familiar with it in a virtual environment, so I am using VirtualBox to setup a network of 4 nodes in my mesh. Should be simple enough, and batman-adv seems to work just great - once its up and running, all nodes can communicate one with another as expected. Only issue is I am trying to get alfred to work with batadv-vis to give me a graph to tell me it really is working right.
Thoughts? Thanks! Jon
On Friday 06 May 2016 20:45:50 Jonathan Haws wrote:
I am trying to get familiar with the Alfred tools and downloaded version 2016.1. Unfortunately it didn't work - I couldn't get past a bind error:
root@sierra1:~# ./alfred -m -i bat0 can't bind: Cannot assign requested address Failed to open interfaces
I had setup batman-adv with the commands:
batctl if add eth0 ip link set up bat0 (eth0 was already up)
I rolled back to 2015.0 (per a hint at http://wiki.pinneberg.freifunk.net/alfred) and alfred started up just fine instead of giving the error. However it periodically gives the following message:
Thanks for reporting it (why didn't FF Pinneberg report it?). Can you please try following workaround:
make clean make CONFIG_ALFRED_CAPABILITIES=n # only when you've installed it before make CONFIG_ALFRED_CAPABILITIES=n install # try it again ./alfred -m -i bat0
It would also be interesting to see the output of `ip addr show dev bat0` and the used kernel version.
Kind regards, Sven
On 05/07/2016 12:40 AM, Sven Eckelmann wrote:
On Friday 06 May 2016 20:45:50 Jonathan Haws wrote:
I am trying to get familiar with the Alfred tools and downloaded version 2016.1. Unfortunately it didn't work - I couldn't get past a bind error:
root@sierra1:~# ./alfred -m -i bat0 can't bind: Cannot assign requested address Failed to open interfaces
I had setup batman-adv with the commands:
batctl if add eth0 ip link set up bat0 (eth0 was already up)
I rolled back to 2015.0 (per a hint at http://wiki.pinneberg.freifunk.net/alfred) and alfred started up just fine instead of giving the error. However it periodically gives the following message:
Thanks for reporting it (why didn't FF Pinneberg report it?). Can you please try following workaround:
make clean make CONFIG_ALFRED_CAPABILITIES=n # only when you've installed it before make CONFIG_ALFRED_CAPABILITIES=n install # try it again ./alfred -m -i bat0
It would also be interesting to see the output of `ip addr show dev bat0` and the used kernel version.
Kind regards, Sven
I am using the Yocto project to build my kernel/distro for my VMs, since that is what we use on our hardware. Here is the output from those commands:
root@sierra1:~# ip link show dev bat0 6: bat0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default link/ether f2:52:c3:50:2e:d7 brd ff:ff:ff:ff:ff:ff
root@sierra1:~# uname -a Linux sierra1 4.1.18-rt15-yocto-preempt-rt #1 SMP PREEMPT RT Wed May 4 23:15:13 MDT 2016 x86_64 GNU/Linux
My guess, per Matthias next email in the thread, is that IPv6 is required, which I believe is not built into my kernel. I'll see about adding that and try again.
Thanks! Jon
On Saturday 07 May 2016 16:37:55 Jonathan Haws wrote: [...]
I am using the Yocto project to build my kernel/distro for my VMs, since that is what we use on our hardware. Here is the output from those commands:
root@sierra1:~# ip link show dev bat0 6: bat0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default link/ether f2:52:c3:50:2e:d7 brd ff:ff:ff:ff:ff:ff
root@sierra1:~# uname -a Linux sierra1 4.1.18-rt15-yocto-preempt-rt #1 SMP PREEMPT RT Wed May 4 23:15:13 MDT 2016 x86_64 GNU/Linux
My guess, per Matthias next email in the thread, is that IPv6 is required, which I believe is not built into my kernel. I'll see about adding that and try again.
Yes, this looks like the problem and this is why I've asked for the output. The excellent answer from Matthias should be enough to fix your setup :)
Kind regards, Sven
On 05/06/2016 10:45 PM, Jonathan Haws wrote:
I am trying to get familiar with the Alfred tools and downloaded version 2016.1. Unfortunately it didn't work - I couldn't get past a bind error:
root@sierra1:~# ./alfred -m -i bat0 can't bind: Cannot assign requested address Failed to open interfaces
I had setup batman-adv with the commands:
batctl if add eth0 ip link set up bat0 (eth0 was already up)
I rolled back to 2015.0 (per a hint at http://wiki.pinneberg.freifunk.net/alfred) and alfred started up just fine instead of giving the error. However it periodically gives the following message:
announce master ... Error during sent: Cannot assign requested address
I also tried alfred -m -i eth0 with the same results.
Is there something wrong in my configuration? Can anyone point me in the right direction? I've read through the Wiki for both batman-adv and alfred and am out of ideas.
I'm trying to prove this setup and get familiar with it in a virtual environment, so I am using VirtualBox to setup a network of 4 nodes in my mesh. Should be simple enough, and batman-adv seems to work just great - once its up and running, all nodes can communicate one with another as expected. Only issue is I am trying to get alfred to work with batadv-vis to give me a graph to tell me it really is working right.
Thoughts? Thanks! Jon
alfred explicitly binds to the link-local IPv6 address of the interface since version 2016.0. I suspect one of the following caveats might be your problem:
* The link-local IPv6 address must match the MAC address of the interface (here bat0) (derived by flipping the 2 bit of the first byte, and adding fe80 and fffe); this ususally breaks when the MAC address is changed after the interface is up * The link-local address must not be tentative when alfred is started (duplicate address detection must have finished; this usually means that the interface must be up for 3 seconds before alfred is started)
I hope this helps...
Regards, Matthias
On 05/07/2016 06:16 AM, Matthias Schiffer wrote:
On 05/06/2016 10:45 PM, Jonathan Haws wrote:
I am trying to get familiar with the Alfred tools and downloaded version 2016.1. Unfortunately it didn't work - I couldn't get past a bind error:
root@sierra1:~# ./alfred -m -i bat0 can't bind: Cannot assign requested address Failed to open interfaces
I had setup batman-adv with the commands:
batctl if add eth0 ip link set up bat0 (eth0 was already up)
I rolled back to 2015.0 (per a hint at http://wiki.pinneberg.freifunk.net/alfred) and alfred started up just fine instead of giving the error. However it periodically gives the following message:
announce master ... Error during sent: Cannot assign requested address
I also tried alfred -m -i eth0 with the same results.
Is there something wrong in my configuration? Can anyone point me in the right direction? I've read through the Wiki for both batman-adv and alfred and am out of ideas.
I'm trying to prove this setup and get familiar with it in a virtual environment, so I am using VirtualBox to setup a network of 4 nodes in my mesh. Should be simple enough, and batman-adv seems to work just great - once its up and running, all nodes can communicate one with another as expected. Only issue is I am trying to get alfred to work with batadv-vis to give me a graph to tell me it really is working right.
Thoughts? Thanks! Jon
alfred explicitly binds to the link-local IPv6 address of the interface since version 2016.0. I suspect one of the following caveats might be your problem:
- The link-local IPv6 address must match the MAC address of the interface
(here bat0) (derived by flipping the 2 bit of the first byte, and adding fe80 and fffe); this ususally breaks when the MAC address is changed after the interface is up
- The link-local address must not be tentative when alfred is started
(duplicate address detection must have finished; this usually means that the interface must be up for 3 seconds before alfred is started)
I hope this helps...
This does help. I don't believe my system is configured to use IPv6 at the moment, though the kernel appears to have the right configuration.
root@sierra1:~# zcat /proc/config.gz | grep IPV6 CONFIG_IPV6=y CONFIG_IPV6_ROUTER_PREF=y # CONFIG_IPV6_ROUTE_INFO is not set # CONFIG_IPV6_OPTIMISTIC_DAD is not set # CONFIG_IPV6_MIP6 is not set # CONFIG_IPV6_VTI is not set CONFIG_IPV6_SIT=y # CONFIG_IPV6_SIT_6RD is not set CONFIG_IPV6_NDISC_NODETYPE=y CONFIG_IPV6_TUNNEL=m # CONFIG_IPV6_GRE is not set # CONFIG_IPV6_MULTIPLE_TABLES is not set # CONFIG_IPV6_MROUTE is not set # CONFIG_NF_DEFRAG_IPV6 is not set # CONFIG_NF_CONNTRACK_IPV6 is not set # CONFIG_NF_REJECT_IPV6 is not set # CONFIG_NF_LOG_IPV6 is not set CONFIG_IP6_NF_MATCH_IPV6HEADER=m
Am I missing a kernel configuration or just some missing configuration on my network interfaces?
root@sierra1:~# ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bat0 state UP group default qlen 1000 link/ether 08:00:27:09:a2:bc brd ff:ff:ff:ff:ff:ff inet 192.168.74.101/24 scope global eth0 valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:b5:50:cb brd ff:ff:ff:ff:ff:ff inet 192.168.73.101/24 scope global eth1 valid_lft forever preferred_lft forever 4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:30:0d:96 brd ff:ff:ff:ff:ff:ff inet 10.0.2.15/24 brd 10.0.2.255 scope global eth2 valid_lft forever preferred_lft forever 5: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default link/sit 0.0.0.0 brd 0.0.0.0 6: bat0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default link/ether f2:52:c3:50:2e:d7 brd ff:ff:ff:ff:ff:ff
root@sierra1:~# ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bat0 state UP mode DEFAULT group default qlen 1000 link/ether 08:00:27:09:a2:bc brd ff:ff:ff:ff:ff:ff 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether 08:00:27:b5:50:cb brd ff:ff:ff:ff:ff:ff 4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether 08:00:27:30:0d:96 brd ff:ff:ff:ff:ff:ff 5: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default link/sit 0.0.0.0 brd 0.0.0.0 6: bat0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default link/ether f2:52:c3:50:2e:d7 brd ff:ff:ff:ff:ff:ff
alfred explicitly binds to the link-local IPv6 address of the interface since version 2016.0. I suspect one of the following caveats might be your problem:
- The link-local IPv6 address must match the MAC address of the interface
(here bat0) (derived by flipping the 2 bit of the first byte, and adding fe80 and fffe); this ususally breaks when the MAC address is changed after the interface is up
- The link-local address must not be tentative when alfred is started
(duplicate address detection must have finished; this usually means that the interface must be up for 3 seconds before alfred is started)
One more question - is there a configuration option to disable this? My application of batman-adv and alfred is not for a wide area network providing internet, but rather to setup a mesh between master nodes of my private network for data sharing and synchronization. My private network at the moment has no plans to utilize IPv6 and we would like to keep it disabled if possible.
At the moment I am guessing it would be a code hack to switch this logic to use IPv4 instead? Or am I over-analyzing this and really it isn't a big deal, I just need to get the right configuration setup?
alfred explicitly binds to the link-local IPv6 address of the interface since version 2016.0. I suspect one of the following caveats might be your problem:
- The link-local IPv6 address must match the MAC address of the interface
(here bat0) (derived by flipping the 2 bit of the first byte, and adding fe80 and fffe); this ususally breaks when the MAC address is changed after the interface is up
- The link-local address must not be tentative when alfred is started
(duplicate address detection must have finished; this usually means that the interface must be up for 3 seconds before alfred is started)
This took care of it. I had IPv6 disabled via sysctl and once enabled it started working. Here is the list of commands I entered to get a graph:
modprobe batman-adv batctl if add eth0 ip link set up bat0
alfred -i bat0 -m & batadv-vis > mesh.dot
Thanks for the help!
b.a.t.m.a.n@lists.open-mesh.org