Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec...
authorDavid S. Miller <davem@davemloft.net>
Mon, 3 Oct 2022 06:46:08 +0000 (07:46 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 3 Oct 2022 06:52:13 +0000 (07:52 +0100)
Steffen Klassert says:

====================
1) Refactor selftests to use an array of structs in xfrm_fill_key().
   From Gautam Menghani.

2) Drop an unused argument from xfrm_policy_match.
   From Hongbin Wang.

3) Support collect metadata mode for xfrm interfaces.
   From Eyal Birger.

4) Add netlink extack support to xfrm.
   From Sabrina Dubroca.

Please note, there is a merge conflict in:

include/net/dst_metadata.h

between commit:

0a28bfd4971f ("net/macsec: Add MACsec skb_metadata_dst Tx Data path support")

from the net-next tree and commit:

5182a5d48c3d ("net: allow storing xfrm interface metadata in metadata_dst")

from the ipsec-next tree.

Can be solved as done in linux-next.

Please pull or let me know if there are problems.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
1  2 
include/net/dst_metadata.h
include/uapi/linux/if_link.h
net/ipv4/esp4.c
net/ipv6/esp6.c
net/xfrm/xfrm_input.c
net/xfrm/xfrm_policy.c
net/xfrm/xfrm_state.c

index 22a6924bf6daaaaaf16d9ea01abb322281f04042,57f75960fa2883bc78814ec33507a502e1178a39..a454cf4327feb419100da9284d46515680051a91
@@@ -10,7 -9,7 +10,8 @@@
  enum metadata_type {
        METADATA_IP_TUNNEL,
        METADATA_HW_PORT_MUX,
 +      METADATA_MACSEC,
+       METADATA_XFRM,
  };
  
  struct hw_port_info {
        u32 port_id;
  };
  
 +struct macsec_info {
 +      sci_t sci;
 +};
 +
+ struct xfrm_md_info {
+       u32 if_id;
+       int link;
+ };
  struct metadata_dst {
        struct dst_entry                dst;
        enum metadata_type              type;
        union {
                struct ip_tunnel_info   tun_info;
                struct hw_port_info     port_info;
 +              struct macsec_info      macsec_info;
+               struct xfrm_md_info     xfrm_info;
        } u;
  };
  
@@@ -89,9 -110,9 +117,12 @@@ static inline int skb_metadata_dst_cmp(
                return memcmp(&a->u.tun_info, &b->u.tun_info,
                              sizeof(a->u.tun_info) +
                                         a->u.tun_info.options_len);
 +      case METADATA_MACSEC:
 +              return memcmp(&a->u.macsec_info, &b->u.macsec_info,
 +                            sizeof(a->u.macsec_info));
+       case METADATA_XFRM:
+               return memcmp(&a->u.xfrm_info, &b->u.xfrm_info,
+                             sizeof(a->u.xfrm_info));
        default:
                return 1;
        }
Simple merge
diff --cc net/ipv4/esp4.c
Simple merge
diff --cc net/ipv6/esp6.c
Simple merge
Simple merge
Simple merge
Simple merge