blob: 347afa0b49964e1f0a77dfb0de78f502effc48bd [file] [log] [blame]
DNS Client Application
Requirements
------------
* Ethernet LAN for testing purposes.
* Galileo Gen 2 Development Board.
* USB-UART cable: CH340, FTDI 6-pin or equivalent for debugging.
* dnsmasq application. The dnsmasq version used in this sample is:
dnsmasq -v
Dnsmasq version 2.75 Copyright (c) 2000-2015 Simon Kelley
Building instructions
---------------------
* Read src/main.c, change the IP addresses according to the LAN
environment.
* make pristine && make are enough to build this sample.
* Follow the steps indicated here:
https://www.zephyrproject.org/doc/board/galileo.html
to load the binary into the Galileo Dev Board.
Usage
-----
* Open a terminal window and type:
dnsmasq -d
* Connect the USB-UART cable to the Galileo. Open a terminal and run:
screen /dev/ttyUSB0 115200
* Connect Galileo to the LAN, Turn on the board.
* The screen terminal window will show:
-----------------------------------------
Domain name: not_a_real_domain_name
[fiber:89] DNS Query: OK, ID: 0
[fiber:92] TX: OK
[fiber:97] RX: OK
[fiber:102] DNS Response: ERROR <- :)
-----------------------------------------
Domain name: linuxfoundation.org
[fiber:89] DNS Query: OK, ID: 1
[fiber:92] TX: OK
[fiber:97] RX: OK
****** DNS ANSWER: 0 ******
Response: IP address Size: 4: 140 211 169 4
[fiber:102] DNS Response: OK
-----------------------------------------
Domain name: www.linuxfoundation.org
[fiber:89] DNS Query: OK, ID: 2
[fiber:92] TX: OK
[fiber:97] RX: OK
****** DNS ANSWER: 0 ******
Response: IP address Size: 4: 140 211 169 4
[fiber:102] DNS Response: OK
-----------------------------------------
Domain name: gnu.org
[fiber:89] DNS Query: OK, ID: 3
[fiber:92] TX: OK
[fiber:97] RX: OK
****** DNS ANSWER: 0 ******
Response: IP address Size: 4: 208 118 235 148
[fiber:102] DNS Response: OK
-----------------------------------------
Domain name: www.gnu.org
[fiber:89] DNS Query: OK, ID: 4
[fiber:92] TX: OK
[fiber:97] RX: OK
****** DNS ANSWER: 0 ******
Response: CNAME NO IP address
CNAME: wildebeest.gnu.org
****** DNS ANSWER: 1 ******
Response: IP address Size: 4: 208 118 235 148
[fiber:102] DNS Response: OK
-----------------------------------------
Domain name: npr.org
[fiber:89] DNS Query: OK, ID: 5
[fiber:92] TX: OK
[fiber:97] RX: OK
****** DNS ANSWER: 0 ******
Response: IP address Size: 4: 216 35 221 76
[fiber:102] DNS Response: OK
-----------------------------------------
Domain name: www.npr.org
[fiber:89] DNS Query: OK, ID: 6
[fiber:92] TX: OK
[fiber:97] RX: OK
****** DNS ANSWER: 0 ******
Response: CNAME NO IP address
CNAME: www-cdn.npr.org.edgesuite.net
****** DNS ANSWER: 1 ******
Response: CNAME NO IP address
CNAME: a1723.g.akamai.net
****** DNS ANSWER: 2 ******
Response: IP address Size: 4: 63 80 4 192
****** DNS ANSWER: 3 ******
Response: IP address Size: 4: 63 80 4 161
[fiber:102] DNS Response: OK
Compiler Warnings
-----------------
The network layer used in this sample code will be replaced once the
new IP stack is ready. So, "netz" is tagged as "deprecated" and the
following warnings will be displayed by the compiler:
warning: 'netz_tx' is deprecated [-Wdeprecated-declarations]