Hi, not sure if I should open this discussion in this thread. :-/
On 09/05/2016 11:45 PM, Peter Kietzmann wrote: > Hi Neo, > > if I see it correctly, the procedure is as follows: > > gnrc_networking uses the the gnrc_ipv6 module which automatically pulls in > it's dependencies. This is, among others, gnrc_ipv6_netif. > > https://github.com/RIOT-OS/RIOT/blob/master/Makefile.dep#L280 > > Once this was defined, auto_init will call the "init by netif device" > function. > > https://github.com/RIOT-OS/RIOT/blob/master/sys/auto_init/auto_init.c#L227 > > This function will set the net option "NETOPT_SRC_LEN" to 8 Byte, which is > the length for long hardware addresses. > > https://github.com/RIOT-OS/RIOT/blob/master/sys/net/gnrc/network_layer/ipv6/netif/gnrc_ipv6_netif.c#L833 > > The at86rf2xx driver does not implement this option itself and passes it to > the netdev2_ieee802154 module. > > https://github.com/RIOT-OS/RIOT/blob/master/drivers/at86rf2xx/at86rf2xx_netdev.c#L580 > > In case netopt is "NETOPT_SRC_LEN" and the value is > "IEEE802154_LONG_ADDRESS_LEN" (which is defined as 8U), this module sets the > "NETDEV2_IEEE802154_SRC_MODE_LONG" flag. > > https://github.com/RIOT-OS/RIOT/blob/master/drivers/netdev2_ieee802154/netdev2_ieee802154.c#L173 > I don't know why this goes down through the driver layer. The address filter doesn't need such information if you use as source address long or short. For me it's unclear for what this sourc_len really is made for. I would suggest to use the best address setting which do the most smallest payload. Sure, there exists situation to overwrite such setting - but this should be done not as an interface setting. This is the way what I have in my mind to do in Linux. side note: interessting is that, in 6LoWPAN it depends on L3 address and fragmentation if you use short or long address to produce the smallest payload. - Alex _______________________________________________ devel mailing list devel@riot-os.org https://lists.riot-os.org/mailman/listinfo/devel