Project

General

Profile

Actions

Bug #208

closed

Allow all link local addresses

Added by M W over 9 years ago. Updated almost 8 years ago.

Status:
Closed
Priority:
Normal
Target version:
Start date:
03/21/2015
Due date:
% Done:

0%

Estimated time:

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?

Actions #1

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)

Actions #2

Updated by Sven Eckelmann over 9 years ago

You can find more information at Alfred_architecture

Actions #3

Updated by M W over 9 years ago

Wouldn't the layer 2 address do the job here?

Actions #4

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.

Actions #5

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...

Actions #6

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.

Actions #7

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. :>

Actions #8

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

Actions #9

Updated by Simon Wunderlich over 9 years ago

  • Assignee set to Simon Wunderlich
Actions #10

Updated by Simon Wunderlich over 9 years ago

Hey M W,

did you get the chance to test it?

Actions #11

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. :-)

Actions #12

Updated by Simon Wunderlich over 9 years ago

so may I add your Tested-by or Acked-by then? :)

Actions #13

Updated by M W over 9 years ago

Feel free to do so. :-)

Actions #14

Updated by Simon Wunderlich over 9 years ago

  • Status changed from New to Closed

OK, done and merged. Thanks. :)

Actions #15

Updated by Sven Eckelmann almost 8 years ago

  • Target version set to 2015.1
Actions

Also available in: Atom PDF