From Fedora Project Wiki
Known networking bugs
Only platform bugs that can influence various application and/or the overall behavior of the system belong here.
Kernel
- Ethernet: noarp causes dst MAC to be the same as src MAC instead of broadcast
- Bridge: Adding first interface after setting MAC address changes the MAC address
- Bridge/bond: Empty bond interface cannot be bridged unless you work around by manually setting the address
- Dualstack: Kernel removes ::1 but not 127.0.0.1 when setting lo down
- IPv4: Kernel can't store DHCP lifetime and cannot mark IPv4 addresses dynamic (in the DHCP sense)
- IPv6: IPv6 networking breaks when loopback is set down and up
- IPv6: Kernel ignores RA router preference
- IPv6: Tempaddr cycling breaks TCP connections prematurely
- IPv6: Kernel doesn't cache RDNSS and DNSSL
- IPv6: Kernel doesn't provide default route information when defrtr is disabled
- IPv6: Kernel doesn't provide prefix route information when pinfo is disabled
- Netlink: Kernel doesn't solve race condition between rtnl commands and events
- Netlink: Kernel doesn't send some link change notifications (e.g. mtu) for devices that are down
libnl
- rtnl_link_bond_add() succeeds when device already exists
- rtnl_link_bridge_add() and rtnl_link_vlan_add missing
iproute
ip link show
won't distinguish bridges and bondsip link show
won't show vlan idip -6 route
shows cached routes (ip -4 route
doesn't)
glibc
- IPv4: getaddrinfo(127.0.0.1, AI_ADDRCONFIG) fails on hosts without global IPv4 (e.g. notebooks not connected to any networks)
- IPv6: getaddrinfo(::1, AI_ADDRCONFIG) fails on hosts without any other IPv6 address
- IPv6: getaddrinfo(link-local-address, AI_ADDRCONFIG) fails on hosts without global IPv6 (hopefully solved)
- IPv6: GLIBC's nsswitch doesn't support overriding
getaddrinfo
which is requred to resolve link-local IPv6 addresses - DNS:
getaddrinfo
doesn't support SRV records
More information about AI_ADDRCONFIG problems
dhclient
- Fixed:
dhclient
fails with large values of dhcp-renawal-time, notably the infinity (0xffffffff) value - People say that dhclient exchange is slow, especially on wireless (I can't reproduce)
Avahi
- Avahi's nss-mdns returns link-local IPv6 addresses without scope_id and applications fail to connect
- Avahi's IPv6 support is disabled by default (this has been resolved in the past)
NetworkManager
- Various bugs in NetworkManager
Testing tools
- ping doesn't support IPv6 (you have to use ping6)
- netstat and ss won't mark non-v6only sockets
Various applications
- Assume that
getaddrinfo()
returns only one address and/or that such the first returned address works. See Networking/NameResolution.
- RFC 6106 (RA DNS): Relies on a false assuption that every (even multicast) IP packet is delivered to its destination.
- RFC 4861 (NDP): Doesn't specify how zero lifetimes should be used and lets implementations rely on the same false assumption.
- RFC 3493 (socket interfce): Breaks both IPv4 and IPv6 localhost and link-local networking depending on available global addresses.
- POSIX.1-2008: Defines the AI_ADDRCONFIG in a bad way