• Girish Moodalbail's avatar
    geneve: add rtnl changelink support · 5b861f6b
    Girish Moodalbail authored
    This patch adds changelink rtnl operation support for geneve devices
    and the code changes involve:
    
      - added geneve_quiesce() which quiesces the geneve device data path
        for both TX and RX. This lets us perform the changelink operation
        atomically w.r.t data path. Also added geneve_unquiesce() to
        reverse the operation of geneve_quiesce().
    
      - refactor geneve_newlink into geneve_nl2info to be used by both
        geneve_newlink and geneve_changelink
    
      - geneve_nl2info takes a changelink boolean argument to isolate
        changelink checks.
    
      - Allow changing only a few attributes (ttl, tos, and remote tunnel
        endpoint IP address (within the same address family)):
        - return -EOPNOTSUPP for attributes that cannot be changed for
          now. Incremental patches can make the non-supported one
          available in the future if needed.
    Signed-off-by: default avatarGirish Moodalbail <girish.moodalbail@oracle.com>
    Acked-by: default avatarPravin B Shelar <pshelar@ovn.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    5b861f6b
geneve.c 41.8 KB