Networking Utilities, Libraries, etc.#
New Utilities#
The Networking project includes the following new or updated utilities and services:
- sbin/
- brconfig New bridge configuration utility
- ifconfig Updated interface configure utility
- ifwatchd New "interface watch" utility
- pfctl New packet filter control utility
- pppoectl Updated PPPoE control utility
- route Updated route configuration utility
- setkey Updated IPSec key manipulation utility
- sysctl Updated stack configuration / control utility
- usr/bin/
- altqstat New traffic shaping ("ALTernate Queuing") statistics utility
- arp Updated address resolution protocol utility
- ftp Updated FTP client
- netstat Updated netstat utility
- ping Updated ping utilities for v4.
- ping6 Updated ping utilities for v6.
- sockstat New socket status utility
- tbrconfig New Token Bucket Regulator configuration utility for an output queue
- traceroute Updated route tracing utilities for v4.
- traceroute6 Updated route tracing utilities for v6.
- usr/sbin
- dhcp.client Updated dhcp client (handles longer interface names)
- ftpd Updated FTP daemon
- hostapd New ~Wi-Fi Host Access Point Daemon
- inetd Updated Internet Daemon
- nicinfo Updated network interface card information utility
- pppd Updated PPP daemon
- pppoed Updated PPP over Ethernet Daemon
- tcpdump New packet capture and display utility
- wpa_cli New WPA command line utility
- wpa_passphrase New WPA network block pre-shared key generation tool
- wpa_supplicant New WPA / WPA2 supplicant
Libraries#
- libcrypto OpenSSL cryptography library
- libipsec Updated ipsec library from the ipsec-tools project
- libssl OpenSSL library
- libpcap Packet Capture library
- libwlconfig ~Wi-Fi configuration library (in development)
Protocols#
Transparent Distributed Processing (aka QNET)#
Please see the QNET wiki page
Auto IP (or IPv4 Link Local Address as in RFC)#
"AutoIP" is an implementation of RFC 3927, "Dynamic Configuration of IPv4 Link-Local Addresses". The source lives in sys/lsm/autoip and is implemented as a shared object so it can be loaded into the stack dynamically.
The code is pretty straight forward. A filter function is hooked in which examines the in/out ARP packets. For incoming ARP packets, it checks to see if it is in conflict with the Link Local Address which we've selected, and it then defends or re-selects the address accordingly. For outgoing packets, an ARP REPLY packet broadcast is sent onto the network (instead of uni-cast).
"AutoIP" can be started same as other lsm modules:
* ~io-pkt -d <driver> -p autoip
The only thing to watch out for, is if you use autoip in a multi-interface environment (say you have 2 network card). Try to use the "if=" option to target the protocol to a specific interface. If you really want both of your interfaces to run in "autoip" mode, make sure you understand exactly what could happen. The RFC has a whole chapter of "Considerations for Multiple Interfaces" that discusses this (see section 3 of rfc3927).