summaryrefslogtreecommitdiffstats
path: root/src/tcpopt.c
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2021-11-21 23:33:16 +0100
committerFlorian Westphal <fw@strlen.de>2021-12-01 14:11:39 +0100
commit4a81a04294b3a0eaa033eb85c4660df037baee39 (patch)
tree1ae319ba64d99d05a3f6d470cde8512c8d65f480 /src/tcpopt.c
parentd9985fe873c1c35dedd8fd73af4962ba94f3dc52 (diff)
mptcp: add subtype matching
MPTCP multiplexes the various mptcp signalling data using the first 4 bits of the mptcp option. This allows to match on the mptcp subtype via: tcp option mptcp subtype 1 This misses delinearization support. mptcp subtype is the first tcp option field that has a length of less than one byte. Serialization processing will add a binop for this, but netlink delinearization can't remove them, yet. Also misses a new datatype/symbol table to allow to use mnemonics like 'mp_join' instead of raw numbers. For this reason, no tests are added yet. Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'src/tcpopt.c')
-rw-r--r--src/tcpopt.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/tcpopt.c b/src/tcpopt.c
index 5913cd06..641daa73 100644
--- a/src/tcpopt.c
+++ b/src/tcpopt.c
@@ -116,6 +116,7 @@ static const struct exthdr_desc tcpopt_mptcp = {
.templates = {
[TCPOPT_MPTCP_KIND] = PHT("kind", 0, 8),
[TCPOPT_MPTCP_LENGTH] = PHT("length", 8, 8),
+ [TCPOPT_MPTCP_SUBTYPE] = PHT("subtype", 16, 4),
},
};
#undef PHT