[tcp] Add AF_INET6 socket opener

Signed-off-by: Michael Brown <mcb30@ipxe.org>
[udp] Add AF_INET6 socket opener

Signed-off-by: Michael Brown <mcb30@ipxe.org>
[netdevice] Add find_netdev_by_index()

Signed-off-by: Michael Brown <mcb30@ipxe.org>
[socket] Add concept of a generalised socket address converter

Add sock_aton() and sock_ntoa() to allow for parsing and transcription
of arbitrary socket addresses.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
[ipv4] Add IPv4 socket address converter

Signed-off-by: Michael Brown <mcb30@ipxe.org>
[ipv6] Add IPv6 socket address converter

Signed-off-by: Michael Brown <mcb30@ipxe.org>
[resolv] Use sock_aton() to allow parsing of arbitrary numeric addresses

Signed-off-by: Michael Brown <mcb30@ipxe.org>
[icmp] Add support for sending ICMP echo requests

Merge common functionality between IPv4 and IPv6 ICMP echo handling,
and add support for transmitting ICMP echo requests and delivering
ICMP echo replies to a (not yet implemented) ping_rx() function.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
[ping] Add concept of a ping socket

Signed-off-by: Michael Brown <mcb30@ipxe.org>
[ping] Add generic ping mechanism

Add generic pinger mechanism (analogous to the generic downloader
mechanism) which opens a ping socket, transmits ping requests, and
passes information about ping replies to a callback function.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
[ping] Add top-level ping() function to ping a host

Signed-off-by: Michael Brown <mcb30@ipxe.org>
[cmdline] Add "ping" command

Signed-off-by: Michael Brown <mcb30@ipxe.org>