1. 30 3月, 2021 3 次提交
    • D
      Merge branch 'mlxsw-ecn-marking' · 2dce6987
      David S. Miller 提交于
      Ido Schimmel says:
      
      ====================
      mlxsw: spectrum: Fix ECN marking in tunnel decapsulation
      
      Patch #1 fixes a discrepancy between the software and hardware data
      paths with regards to ECN marking after decapsulation. See the changelog
      for a detailed description.
      
      Patch #2 extends the ECN decap test to cover all possible combinations
      of inner and outer ECN markings. The test passes over both data paths.
      
      v2:
      * Only set ECT(1) if inner is ECT(0)
      * Introduce a new helper to determine inner ECN. Share it between NVE
        and IP-in-IP tunnels
      * Extend the selftest
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2dce6987
    • I
      selftests: forwarding: vxlan_bridge_1d: Add more ECN decap test cases · 4bfd0de5
      Ido Schimmel 提交于
      Test that all possible combinations of inner and outer ECN bits result
      in the correct inner ECN marking according to RFC 6040 4.2.
      Signed-off-by: NIdo Schimmel <idosch@nvidia.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4bfd0de5
    • I
      mlxsw: spectrum: Fix ECN marking in tunnel decapsulation · 66167c31
      Ido Schimmel 提交于
      Cited commit changed the behavior of the software data path with regards
      to the ECN marking of decapsulated packets. However, the commit did not
      change other callers of __INET_ECN_decapsulate(), namely mlxsw. The
      driver is using the function in order to ensure that the hardware and
      software data paths act the same with regards to the ECN marking of
      decapsulated packets.
      
      The discrepancy was uncovered by commit 5aa3c334 ("selftests:
      forwarding: vxlan_bridge_1d: Fix vxlan ecn decapsulate value") that
      aligned the selftest to the new behavior. Without this patch the
      selftest passes when used with veth pairs, but fails when used with
      mlxsw netdevs.
      
      Fix this by instructing the device to propagate the ECT(1) mark from the
      outer header to the inner header when the inner header is ECT(0), for
      both NVE and IP-in-IP tunnels.
      
      A helper is added in order not to duplicate the code between both tunnel
      types.
      
      Fixes: b7237487 ("tunnel: Propagate ECT(1) when decapsulating as recommended by RFC6040")
      Signed-off-by: NIdo Schimmel <idosch@nvidia.com>
      Reviewed-by: NPetr Machata <petrm@nvidia.com>
      Acked-by: NToke Høiland-Jørgensen <toke@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      66167c31
  2. 29 3月, 2021 1 次提交
  3. 26 3月, 2021 36 次提交