contiki/tools/stm32w/uip6_bridge
Oliver Schmidt 6463c91a4f Removed artifacts of former uip_appdata handling.
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.
2017-02-05 23:20:39 +01:00
..
dev Removed artifacts of former uip_appdata handling. 2017-02-05 23:20:39 +01:00
bridge-conf.h A massive all-tree automated update of all double inclusion guard #defines that changes from using two underscores as a prefix, which are reserved, to not using two underscores as a prefix 2013-11-24 20:20:11 +01:00
fakeuip.c Removes duplicate of uip_is_addr_linklocal 2015-10-20 11:18:46 +02:00
Makefile Cleanup of the Contiki network layer configuration. Now using CONTIKI_WITH_IPV6, CONTIKI_WITH_IPV4, and CONTIKI_WITH_RIME in makefiles, and UIP_CONF_IPV6, UIP_CONF_IPV4, UIP_CONF_RIME in c code. Now only the stacks that are used are compiled (via makefile MODULES). Make IPv6 the default network stack. 2014-12-01 20:13:09 +01:00
README.md Rename to md 2013-03-26 23:15:37 +01:00
sicslow_ethernet.c Add uip_clear_buf() macro and replace all instances of uip_len = 0; with it 2015-06-15 11:10:51 +02:00
sicslow_ethernet.h
uip6-bridge-tap.c Add uip_clear_buf() macro and replace all instances of uip_len = 0; with it 2015-06-15 11:10:51 +02:00

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.