History

ipv4: yet another new IP_MTU_DISCOVER option IP_PMTUDISC_OMIT

IP_PMTUDISC_INTERFACE has a design error: because it does not allow the generation of fragments if the interface mtu is exceeded, it is very hard to make use of this option in already deployed name server software for which I introduced this option. This patch adds yet another new IP_MTU_DISCOVER option to not honor any path mtu information and not accepting new icmp notifications destined for the socket this option is enabled on. But we allow outgoing fragmentation in case the packet size exceeds the outgoing interface mtu. As such this new option can be used as a drop-in replacement for IP_PMTUDISC_DONT, which is currently in use by most name server software making the adoption of this option very smooth and easy. The original advantage of IP_PMTUDISC_INTERFACE is still maintained: ignoring incoming path MTU updates and not honoring discovered path MTUs in the output path.

Hannes Frederic Sowa committed 12 years ago

Commit 1b346571 parent 69647ce4 files · +16 −8Browse files

Showing the changes to include/uapi/linux (1 of 4 files). Show all

Unified · Split

include/uapi/linux/in.h+4−0
@@ -120,6 +120,10 @@ struct in_addr { · 119 unmodified lines
120 * this socket to prevent accepting spoofed ones.120 * this socket to prevent accepting spoofed ones.
121 */121 */
122#define IP_PMTUDISC_INTERFACE 4122#define IP_PMTUDISC_INTERFACE 4
123/* weaker version of IP_PMTUDISC_INTERFACE, which allos packets to get
124 * fragmented if they exeed the interface mtu
125 */
126#define IP_PMTUDISC_OMIT 5
123 127
124#define IP_MULTICAST_IF 32128#define IP_MULTICAST_IF 32
125#define IP_MULTICAST_TTL 33129#define IP_MULTICAST_TTL 33