• Stefano Brivio's avatar
    vxlan: Allow configuration of DF behaviour · b4d30697
    Stefano Brivio authored
    Allow users to set the IPv4 DF bit in outgoing packets, or to inherit its
    value from the IPv4 inner header. If the encapsulated protocol is IPv6 and
    DF is configured to be inherited, always set it.
    
    For IPv4, inheriting DF from the inner header was probably intended from
    the very beginning judging by the comment to vxlan_xmit(), but it wasn't
    actually implemented -- also because it would have done more harm than
    good, without handling for ICMP Fragmentation Needed messages.
    
    According to RFC 7348, "Path MTU discovery MAY be used". An expired RFC
    draft, draft-saum-nvo3-pmtud-over-vxlan-05, whose purpose was to describe
    PMTUD implementation, says that "is a MUST that Vxlan gateways [...]
    SHOULD set the DF-bit [...]", whatever that means.
    
    Given this background, the only sane option is probably to let the user
    decide, and keep the current behaviour as default.
    
    This only applies to non-lwt tunnels: if an external control plane is
    used, tunnel key will still control the DF flag.
    
    v2:
    - DF behaviour configuration only applies for non-lwt tunnels, move DF
      setting to if (!info) block in vxlan_xmit_one() (Stephen Hemminger)
    Signed-off-by: default avatarStefano Brivio <sbrivio@redhat.com>
    Reviewed-by: default avatarSabrina Dubroca <sd@queasysnail.net>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    b4d30697
vxlan.c 101 KB