Bug #208
closedAllow all link local addresses
Added by M W over 9 years ago. Updated almost 8 years ago.
0%
Description
Hi,
on our gateways we run alfred as master. But this breaks when we assign arbitrary link local addresses like fe80::1. But this breaks alfred. Is it necessary for alfred to only allow eui64 addresses?
Updated by Sven Eckelmann over 9 years ago
Yes, it requires the extracted MAC address for the discovery and neighbor ranking process. (and most likely other things which I just forgot right now)
Updated by Sven Eckelmann over 9 years ago
You can find more information at Alfred_architecture
Updated by Sven Eckelmann over 9 years ago
Do you know how I can access the layer 2 address of this packet when receiving it as layer 4 packet (currently with recvfrom)?
Using indirectly the neighbor table (dump the complete table from the kernel, search inside the complete table, ...) is quite inefficient and doesn't always work. For example, I am currently receiving the master announce packets from a node here in my network and its address is not in my ipv6 neighbor table.
Using raw l2 packet sockets and reconstructing + parsing the IP+udp packets manually also sounds like a bad decision. It is quite error prone and we have a kernel which already implements IPv6+UDP for us.
Updated by M W over 9 years ago
From what I know, using a raw socket is the only way to go.
Maybe using two sockets (udp for sending, and raw for receiving) would make it easier.
Anyway, it is not pretty...
Updated by Sven Eckelmann over 9 years ago
It is far, far, far, ... away from pretty. ;)
Would it be possible to not change the address and only add an additional one? Then you could try the patch I've just posted: https://patchwork.open-mesh.org/project/b.a.t.m.a.n./patch/1427309467-31768-1-git-send-email-sven@narfation.org/
I know, it is the complete opposite of what you want. But maybe it can still be used to work around your original problem.
Updated by M W over 9 years ago
To have a second address would be a way to solve this.
If alfred could just use the eui64 one, everything would be fine.
Maybe some background, we like to use addresses like fe80::1/64 for every gateway,
because clients tend to select the gateway with the lowest link-local address.
So there does not seem to be a good way to do load balancing otherwise.
While it worked in this regard, alfred was not so happy. :>
Updated by Simon Wunderlich over 9 years ago
If that patch sven proposed would solve your problem, could you please give it a try and give some feedback (best in reply on the mailing list used a tested-by tag). That would be great to know before merging it!
Thanks
Updated by Simon Wunderlich over 9 years ago
Hey M W,
did you get the chance to test it?
Updated by M W over 9 years ago
I have applied this patch and now alfred does not use fe80::1 as sender address anymore. :-)
Updated by Simon Wunderlich over 9 years ago
so may I add your Tested-by or Acked-by then? :)
Updated by Simon Wunderlich over 9 years ago
- Status changed from New to Closed
OK, done and merged. Thanks. :)