6463c91a4f
Adam Dunkels writes on 2/5/2017 on the Contiki mailing list: [...] the original idea was that the application could just point the uip_appdata pointer to wherever the data was, but we then changed it so that the data actually had to be copied into the uip_aligned_buf buffer. So, yes, the network device driver should only need to read from this buffer. [...] This change removes comments on the possibility of uip_appdata pointing somewhere outside the uip_aligned_buf. And it removes code in the SLIP drivers not necessary anymore. Additionally it makes code in a SLIP driver optional that takes care of the Microsoft-specific CLIENT / SERVER / CLIENTSERVER chat. |
||
---|---|---|
.. | ||
dev | ||
bridge-conf.h | ||
fakeuip.c | ||
Makefile | ||
README.md | ||
sicslow_ethernet.c | ||
sicslow_ethernet.h | ||
uip6-bridge-tap.c |
See siscslow_ethernet.c for information about translation between 802.15.4 and 802.3 addresses. Devices must have a proper EUI-64 address for this bridge to work. If the EUI-64 address of the devices cannot be changed and they are incompatible with the translation mechanism, you have to change the translation rules (they are defined in mac_createSicslowpanLongAddr() and mac_createEthernetAddr()).
Usage example:
run tapslip6 (source file are located in tools folder).
./tapslip6 -p 2001:db8:bbbb:abce::/64
where 2001:db8:bbbb:abce:: is the network address and 64 is the the prefix length. The remaining 64 bits will be derived from the EUI-64 (two middle bytes will be removed).
You can also simply create an edge router in one of the network nodes: you have to enable routing and set the appropriate forwarding rules, as shown in contiki-init-net.c. Then you have to add the corresponding rule on your machine, for example:
route -A inet6 add 2001:db8:bbbb:abcd::/64 gw 2001:db8:bbbb:abce:280:e102::8a.
where 2001:db8:bbbb:abce:280:e102::6c is the address of the edge node and 2001:db8:bbbb🔡:/64 is the lowpan address.