Now you can start the `gnrc_tftp` example by invoking `make term`. This should automatically connect to the `tap0` interface. If
this doesn't work for some reason, run `make` without any arguments, and then run the binary manually like so (assuming you are in the `examples/gnrc_tftp` directory):
To verify that there is connectivity between RIOT and Linux, go to the RIOT console and run `ifconfig`:
> ifconfig
Iface 6 HWaddr: 7e:ed:d2:ee:e1:07
MTU:1280
Source address length: 6
Link type: wired
inet6 addr: ff02::1/128 scope: local [multicast]
inet6 addr: fe80::7ced:d2ff:feee:e107/64 scope: local
inet6 addr: ff02::1:ffee:e107/128 scope: local [multicast]
Copy the [link-local address](https://en.wikipedia.org/wiki/Link-local_address) of the RIOT node (prefixed with `fe80`) and try to ping it **from the Linux node**:
ping6 fe80::7ced:d2ff:feee:e107%tapbr0
Note that the interface on which to send the ping needs to be appended to the IPv6 address, `%tapbr0` in the above example. When talking to the RIOT node, you always want to send to/receive from the `tapbr0` interface.
If the pings succeed you can go on to send UDP packets. To do that, first start a UDP server on the RIOT node:
> tftps start
tftp_server: Starting TFTP service at port 69
Now, on the Linux host, you can run tftp to connect with RIOT's TFTP server:
$ tftp -v -6 fe80::7ced:d2ff:feee:e107%tapbr0 -c get welcome.txt
The output will be something like:
Connected to fe80::7ced:d2ff:feee:e107%tapbr0 (fe80::7ced:d2ff:feee:e107), port 69
getting from fe80::7ced:d2ff:feee:e107%tapbr0:welcome.txt to welcome.txt [netascii]
Received 94 bytes in 0.0 seconds [113425 bit/s]
The `-6` option is necessary to tell tftp to use IPv6 only and the `-v` is to tell the tftp client to be verbose.
You should now see that the TFTP messages are received on the RIOT side. Opening a TFTP server on the Linux side is also possible. To do that, write down the IP address of the host (run on Linux):
ifconfig tapbr0
tapbr0 Link encap:Ethernet HWaddr 0e:bc:0f:49:7f:e4