All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christian Hopps <chopps@chopps.org>
To: devel@linux-ipsec.org
Cc: Steffen Klassert <steffen.klassert@secunet.com>,
	netdev@vger.kernel.org, Christian Hopps <chopps@labn.net>
Subject: [RFC ipsec-next 5/8] iptfs: netlink: add config (netlink) options
Date: Fri, 10 Nov 2023 06:37:16 -0500	[thread overview]
Message-ID: <20231110113719.3055788-6-chopps@chopps.org> (raw)
In-Reply-To: <20231110113719.3055788-1-chopps@chopps.org>

From: Christian Hopps <chopps@labn.net>

Add netlink options for configuring IP-TFS SAs.

Signed-off-by: Christian Hopps <chopps@labn.net>
---
 include/uapi/linux/xfrm.h |  6 ++++++
 net/xfrm/xfrm_user.c      | 16 ++++++++++++++++
 2 files changed, 22 insertions(+)

diff --git a/include/uapi/linux/xfrm.h b/include/uapi/linux/xfrm.h
index 6a77328be114..fa6d264f2ad1 100644
--- a/include/uapi/linux/xfrm.h
+++ b/include/uapi/linux/xfrm.h
@@ -315,6 +315,12 @@ enum xfrm_attr_type_t {
 	XFRMA_SET_MARK_MASK,	/* __u32 */
 	XFRMA_IF_ID,		/* __u32 */
 	XFRMA_MTIMER_THRESH,	/* __u32 in seconds for input SA */
+	XFRMA_IPTFS_PKT_SIZE,	/* __u32 Size of outer packet, 0 for PMTU */
+	XFRMA_IPTFS_MAX_QSIZE,	/* __u32 max ingress queue size */
+	XFRMA_IPTFS_DONT_FRAG,	/* don't use fragmentation */
+	XFRMA_IPTFS_DROP_TIME,	/* __u32 usec to wait for next seq */
+	XFRMA_IPTFS_REORD_WIN,	/* __u16 reorder window size */
+	XFRMA_IPTFS_IN_DELAY,	/* __u32 initial packet wait delay (usec) */
 	__XFRMA_MAX
 
 #define XFRMA_OUTPUT_MARK XFRMA_SET_MARK	/* Compatibility */
diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c
index ad01997c3aa9..ed95772bbd3f 100644
--- a/net/xfrm/xfrm_user.c
+++ b/net/xfrm/xfrm_user.c
@@ -272,6 +272,16 @@ static int verify_newsa_info(struct xfrm_usersa_info *p,
 			NL_SET_ERR_MSG(extack, "TFC padding can only be used in tunnel mode");
 			goto out;
 		}
+		if ((attrs[XFRMA_IPTFS_PKT_SIZE] ||
+		     attrs[XFRMA_IPTFS_MAX_QSIZE] ||
+		     attrs[XFRMA_IPTFS_DONT_FRAG] ||
+		     attrs[XFRMA_IPTFS_DROP_TIME] ||
+		     attrs[XFRMA_IPTFS_REORD_WIN] ||
+		     attrs[XFRMA_IPTFS_IN_DELAY]) &&
+		    p->mode != XFRM_MODE_IPTFS) {
+			NL_SET_ERR_MSG(extack, "IPTFS options can only be used in IPTFS mode");
+			goto out;
+		}
 		break;
 
 	case IPPROTO_COMP:
@@ -3046,6 +3056,12 @@ const struct nla_policy xfrma_policy[XFRMA_MAX+1] = {
 	[XFRMA_SET_MARK_MASK]	= { .type = NLA_U32 },
 	[XFRMA_IF_ID]		= { .type = NLA_U32 },
 	[XFRMA_MTIMER_THRESH]   = { .type = NLA_U32 },
+	[XFRMA_IPTFS_PKT_SIZE]	= { .type = NLA_U32 },
+	[XFRMA_IPTFS_MAX_QSIZE]	= { .type = NLA_U32 },
+	[XFRMA_IPTFS_DONT_FRAG]	= { .type = NLA_FLAG },
+	[XFRMA_IPTFS_DROP_TIME]	= { .type = NLA_U32 },
+	[XFRMA_IPTFS_REORD_WIN]	= { .type = NLA_U16 },
+	[XFRMA_IPTFS_IN_DELAY]	= { .type = NLA_U32 },
 };
 EXPORT_SYMBOL_GPL(xfrma_policy);
 
-- 
2.42.0


  parent reply	other threads:[~2023-11-10 11:45 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-10 11:37 [RFC ipsec-next] Add IP-TFS mode to xfrm Christian Hopps
2023-11-10 11:37 ` [RFC ipsec-next 1/8] iptfs: config: add CONFIG_XFRM_IPTFS Christian Hopps
2023-11-12  9:57   ` Simon Horman
2023-11-12 11:29     ` Christian Hopps
2023-11-12 19:49   ` [devel-ipsec] " Antony Antony
2023-11-13  2:31     ` Christian Hopps
2023-11-10 11:37 ` [RFC ipsec-next 2/8] iptfs: uapi: ip: add ip_tfs_*_hdr packet formats Christian Hopps
2023-11-10 11:37 ` [RFC ipsec-next 3/8] iptfs: uapi: IPPROTO_AGGFRAG AGGFRAG in ESP Christian Hopps
2023-11-10 11:37 ` [RFC ipsec-next 4/8] iptfs: sysctl: allow configuration of global default values Christian Hopps
2023-11-12  8:26   ` [devel-ipsec] " Michael Richardson
2023-11-12 10:28     ` Christian Hopps
2023-11-10 11:37 ` Christian Hopps [this message]
2023-11-10 18:09   ` [RFC ipsec-next 5/8] iptfs: netlink: add config (netlink) options kernel test robot
2023-11-10 18:22     ` Christian Hopps
2023-11-10 18:58       ` Christian Hopps
2023-11-10 11:37 ` [RFC ipsec-next 6/8] iptfs: xfrm: Add mode_cbs module functionality Christian Hopps
2023-11-10 11:37 ` [RFC ipsec-next 7/8] iptfs: xfrm: add generic iptfs defines and functionality Christian Hopps
2023-11-12 19:44   ` [devel-ipsec] " Antony Antony
2023-11-12 21:00     ` Christian Hopps
2023-11-10 11:37 ` [RFC ipsec-next 8/8] iptfs: impl: add new iptfs xfrm mode impl Christian Hopps
2023-11-10 15:19   ` kernel test robot
2023-11-10 17:31   ` kernel test robot
2023-11-12 10:02   ` Simon Horman
2023-11-12 11:35     ` Christian Hopps
2023-11-12 19:45 ` [devel-ipsec] [RFC ipsec-next] Add IP-TFS mode to xfrm Antony Antony
2023-11-13  2:31   ` Christian Hopps

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231110113719.3055788-6-chopps@chopps.org \
    --to=chopps@chopps.org \
    --cc=chopps@labn.net \
    --cc=devel@linux-ipsec.org \
    --cc=netdev@vger.kernel.org \
    --cc=steffen.klassert@secunet.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.