• Jiri Benc's avatar
    ip link gre: create interfaces in external mode correctly · df217d5d
    Jiri Benc authored
    For GRE interfaces in 'external' mode, the kernel ignores all manual
    settings like remote IP address or TTL. However, for some of those
    attributes, kernel checks their value and does not allow them to be zero
    (even though they're ignored later).
    
    Currently, 'ip link' always includes all attributes in the netlink message.
    This leads to problem with creating interfaces in 'external' mode. For
    example, this command does not work:
    
    ip link add gre1 type gretap external
    
    and needs a bogus remote IP address to be specified, as the kernel enforces
    remote IP address to be either not present, or not null.
    
    Ignore the parameters that do not make sense in 'external' mode.
    Unfortunately, we cannot error out, as there may be existing deployments
    that workarounded the bug by specifying bogus values.
    
    Fixes: 926b39e1 ("gre: add support for collect metadata flag")
    Signed-off-by: default avatarJiri Benc <jbenc@redhat.com>
    df217d5d
link_gre.c 12.9 KB