* 802.15.4 6LoWPAN ARPHRD changed
@ 2015-03-14 18:56 Alexander Aring
0 siblings, 0 replies; only message in thread
From: Alexander Aring @ 2015-03-14 18:56 UTC (permalink / raw)
To: linux-wpan; +Cc: radvd-devel-l, unstrung-hackers, mkl, marcel
Hi,
the 6LoWPAN ARPHRD interface type is changed and will be at linux kernel
version 4.1 or later to: ARPHRD_6LOWPAN, before it was ARPHRD_IEEE802154.
The reason was that a 802.15.4 and 6LoWPAN interface used the same
ARPHRD_IEEE802154 type, that occurs several issues on other applications
which can't decide if it's a 802154 or 6LoWPAN (IPv6) interface.
Since bluetooth 6LoWPAN introduced the ARPHRD_6LOWPAN we also decide
that we using ARPHRD_6LOWPAN now.
The most applications getting the EUI64 address from the interface
by evaluating the ARPHRD_IEEE802154. This should be the same for BT
6LoWPAN and 802.15.4 6LoWPAN, because both uses has an EUI64 address.
Also the applications use-case for BT 6LoWPAN and 802.15.4 6LoWPAN
should be the same. We can also introduce some other mechanism to detect
the L2 interface type of an ARPHRD_6LOWPAN, if this is necessary.
For backwards compability it should be safe to add a:
case ARPHRD_6LOWPAN before or after ARPHRD_IEEE802154.
Example radvd in function update_device_info [0]:
switch (ifr.ifr_hwaddr.sa_family) {
...
case ARPHRD_IEEE802154:
case ARPHRD_6LOWPAN:
...
break;
...
}
But this handling is still a little bit wrong because ARPHRD_IEEE802154
are 802.15.4 interfaces which don't have IPv6 functionality.
Nevertheless I just want to leave a note to current common userspace
applications which evaluating this UAPI value. That's why I cc'ed radvd
and unstrung here.
- Alex
[0] https://github.com/reubenhwk/radvd/blob/master/device-linux.c#L82
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2015-03-14 18:56 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-14 18:56 802.15.4 6LoWPAN ARPHRD changed Alexander Aring
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox