-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RFC] ng_netif_hdr: add flags for multicast and broadcast #2600
Conversation
l2_u8[3] = 0xff; | ||
l2_u8[4] = 0xfe; | ||
memcpy(l2_u8 + 4, ipv6_addr->u8 + 13, sizeof(uint32_t)); | ||
break; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I could not find anything on EUI-64 translation, so I assumed it to be the same as the EUI-48 scheme with the ff:fe
insertion.
Any opinions on this? If not lets merge it ASAP! |
nowhere really, it is based on a combination of https://standards.ieee.org/develop/regauth/tut/eui48.pdf and http://tools.ietf.org/html/rfc2464. That's where my own headaches with this PR start (though I'm also not sure if we can generalize for |
@authmillenon It depends very much on phy + mac. I think " |
Yes and no: This is why I added the following to this PRs description:
This is also why I thought the translation for 8-byte addresses might be a good idea too.
Then we wouldn't be able to send broadcast with IEEE 802.15.4 long addresses. I would rather set all bytes |
ok, make sense |
I am not a 100% convinced of the PR, (yet?). I don't like the idea on making assumptions on the underlying link layer based on the l2 address length. What happens, if I use a proprietary linke layer with 2 byte addresses that uses As I see it, there should be one fixed broadcast address registered for each interface. Then once an interface driver wants to send a package and detect it's broadcast address, it can either just use it (e.g. 802.15.4 -> I think this would be the more versatile approach. |
But e.g. Ethernet supports both multicast and broadcast (the later we need if we ever implement IPv4)… The Ethernet address you propose is not an Ethernet address purposeful for IPv6 multicast => they are defined as |
I've got an idea: instead of assuming and stating how a general link-layer broadcast/multicast-address for link-layers should look like, we just let the link-layer decide this stuff completely: |
I think this is a good idea |
c790ee9
to
ac5dd70
Compare
Hijacked the PR for this ;-) |
ac5dd70
to
760fb21
Compare
Rebased to current master |
9f184dd
to
45554bf
Compare
760fb21
to
fa2ab8b
Compare
Rebased to current master |
Though we might discuss this a little more, can we merge it nevertheless soonish? |
ACK |
[RFC] ng_netif_hdr: add flags for multicast and broadcast
dammit, too late. The changes to the xbee driver are not completely fine... Broadcast needs another option and the position of the |
@haukepetersen did you do that? |
A first idea in the direction of IPv6 multicast address resolution.The problem I faced with the current IPv6 implementation is that Ethernet defines it's multicast addresses for IPv6 as follows:33:33:xx:xx:xx:xx
, where thexx
s represent the last 4 byte of the IPv6 address (source: http://tools.ietf.org/html/rfc7042#section-2.3.1). This is an attempt to unify this with our current scheme of just assuming that the broadcast address will beff:ff:…
.Devices that don't support multicast (but have either EUI-48 or EUI-64 addressing) are requested to check the individual/group-bit (the 8th MSB in the address for either case), and transform it into there individual broadcast address if it is set to group.As I've said: this is only a first idea and a starting point for discussion. I'm not that happy with this solution either.[edit] I changed this PR completely in the wake of #2600 (comment):
I also adapted the already existing implementations for it.
People interested into discussing this might be @BytesGalore, @cgundogan, @emmanuelsearch, @haukepetersen, @Lotterleben, @PeterKietzmann, @phiros, and @OlegHahm.