Hi Martine, Thank you so much for your patient answer!
I changed hundreds of codes in NETWORK stack for the example of default, which implemented txtsnd and echo a ACK back to the source. However, there is still some puzzles hang over my head: #ifdef MODULE_GNRC_NETIF vs #ifdef MODULE_NETIF: Are they the same definition of MODULE_GNRC_NETIF and MODULE_NETIF? I understand one packet is formed by many snipts which use linked list. gnrc_pktbuf_add() is used to form a packet. I add the hardware address on linked layer using gnrc_pkbuf_add with the data payload. For layer 3, layer4, is it okay still use gnrc_pktbuf_add() to link the layer 3, layer 4 header? I am not fully understand the type of GNRC_NETTYPE_UNDEF, is it just the data payload? And also for the GNRC_NETTYPE_NETIF, is it the layer 2 snipt type? Because my main focus will be grab the layer 2 packet and the implement a new protocol I defined on for layer 3, layer 4 in ICN. Thank you for your help! my changes: https://github.com/haoyangyu/RIOT/commits?author=haoyangyu Best, Haoyang > On Oct 25, 2015, at 11:57, Martine Lenders <authmille...@gmail.com> wrote: > > Hi Haoyang, > > 2015-10-24 21:17 GMT+02:00 Haoyang Yu <haoyang...@rutgers.edu > <mailto:haoyang...@rutgers.edu>>: > where can I find the txtsnd source codes? > `txtsnd` is a default shell command for the `gnrc_netif` module pulled in by > the `shell_commands` module. As such you can find it in > `sys/shell/commands/sc_netif.c`. > (When I'm not sure were something is located in RIOT, I use `git grep` ;-)) > Does packet txtsnd sent is through RF based on GNRC protocol, not the serial > right? > Depends, normally (for physical boards) it sends over RF. On native there is > no RF, so we use TAP [1] [2] to virtualize an Ethernet connection. Since > native doesn't have a serial line either (since it is just a process in the > host OS, utilizing normal stdin/stdout) we decided to "misuse" the PORT > environment variable for native to point to the TAP instead to the serial > device (so that might be where your confusion stems from). For physical > boards you can however also send packets via serial line, if you wish to (for > a border router e.g.), using SLIP [3]. See my last mail for how to activate > that in RIOT. > > [1] https://www.kernel.org/doc/Documentation/networking/tuntap.txt > <https://www.kernel.org/doc/Documentation/networking/tuntap.txt> > [2] https://en.wikipedia.org/wiki/TUN/TAP > <https://en.wikipedia.org/wiki/TUN/TAP> > [3] https://tools.ietf.org/html/rfc1055 > <https://tools.ietf.org/html/rfc1055>_______________________________________________ > devel mailing list > devel@riot-os.org > https://lists.riot-os.org/mailman/listinfo/devel
_______________________________________________ devel mailing list devel@riot-os.org https://lists.riot-os.org/mailman/listinfo/devel