From Fedora Project Wiki
(→Kernel) |
|||
Line 18: | Line 18: | ||
* master/slave: Kernel enslaves a L3-configured interface even if it can't work that way (the same in the opposite order, reported by djasa) | * master/slave: Kernel enslaves a L3-configured interface even if it can't work that way (the same in the opposite order, reported by djasa) | ||
* bridge: re-enslaving a slave to another bridge may cause two bridges to have duplicate MACs | * bridge: re-enslaving a slave to another bridge may cause two bridges to have duplicate MACs | ||
* bridge: an empty bridge gets IFF_LOWER_UP when set up | |||
=== libnl === | === libnl === |
Revision as of 19:56, 11 February 2013
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/bond: Empty bond interface cannot be bridged unless you work around by manually setting the address
- 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) (due in 3.9)
- 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 managable IPv6 autoconfiguration
- ?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- master/slave: Kernel enslaves a L3-configured interface even if it can't work that way (the same in the opposite order, reported by djasa)
- bridge: re-enslaving a slave to another bridge may cause two bridges to have duplicate MACs
- bridge: an empty bridge gets IFF_LOWER_UP when set up
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
Upstream bug reports for getaddrinfo
dhclient
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)
See Features/ZeroconfNetworking.
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
Contacts
See Networking#Contacts.