From patchwork Fri Oct 18 23:20:07 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Chia-Yu Chang (Nokia)" X-Patchwork-Id: 13842499 X-Patchwork-Delegate: kuba@kernel.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2077.outbound.protection.outlook.com [40.107.21.77]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 970311922CB for ; Fri, 18 Oct 2024 23:20:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.21.77 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1729293634; cv=fail; b=Qs051nyCjo7598TBDzLZcivClW7HQQua1PtK3lkrH3Z1GkPyS3bQT+qCKg6wFKlQcvGoIqMHE42a6lNWR2iAGdefdP3HQvseLCNM5k7jPe2nbIDAJY1s+hKxeuSJqngIWM1yu+8QKOEygFzAMipwd+E3XvFDoZbQSG9ZjKA/I70= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1729293634; c=relaxed/simple; bh=Hmdtr0We50ejAD355SghSxW3LOTq66I4DTi+GKYgG1U=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=kdsEJAQ9rFVzttgq85/tPTRwy+RCUVb49NCVR0+kmu/srUcUJiBpPOrNd4bVitVFSf94VcIAknmyPvxaZNCJYXECq3cvBbEEB/wG4GKDPsYxowvLPA9FiP2kFtKi2t+Fdkbuw3P69b8RBMjxdQ9o7uHmnPq0wiQ2i7kbG5elQNw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nokia-bell-labs.com; spf=fail smtp.mailfrom=nokia-bell-labs.com; dkim=pass (2048-bit key) header.d=nokia-bell-labs.com header.i=@nokia-bell-labs.com header.b=PBfuXMff; arc=fail smtp.client-ip=40.107.21.77 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nokia-bell-labs.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nokia-bell-labs.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nokia-bell-labs.com header.i=@nokia-bell-labs.com header.b="PBfuXMff" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AHc9O2VO968LpgHjia9g6FZuYm9TbErcGzmOKQQYITGBrooGwyykANERsAPhqUF83ZxmMOzLdZtCmvfg5tAYpB4UJYjsRBqg8CAhmVlyN0dk1Zwb/rqkKG9qEGnk0wtAiafdACW58sxOAAms5z785bq4O7/ZPcYpfNVxJ4Gy30i/VLdKGFLiHe3Hdy9mBc39vYWsW2FO5AmcKkpvNZeseZTjSO6U6vjqFpq34i1aijZttN/TkBzAex4yfUEnKZsPaYga8n9n3Y9wb3GbgPiswTzCGy3GUq0l/QCKgOW9R4J2JbaZMDkiKUyX27Nl4twMoDXhnpjqiEZxs82ss8g4kg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=WJtuM1nTfrSpcdQnGQbMn0HkkJCOFzlul0aCRL1BYBc=; b=F3Bx2QxIbWKvNPfxnCIOAzzLOn9bPJHJ5Fy/ukcR2zpFlqDqthDsit4phrqRpN48gbIBAKtc8yZkY4eQ2kYNvEOIr2ehtJyaxgR2t1py2Dyzz+ZlSHC6rPigI1zm2JydR6GMPy2rpEMj2uIZbDci+XqMBaTjy52D0/QNfuLqaZf7ap1mpPuJSpXVY32eumlh3ex6rvkOFKb7gk1JzEQ1GXAMp/MAK2TxSn9twhb+2aEal1qpxoT8OJ/cLeldZmRjiWiTat2oLnMqiRzxFqod7+3sjbnZtDGddyvU/epo8LN0M33U/Iio6knBBvEiUKIqUHJba0fS3AKzTjY5s/8PWg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 131.228.6.100) smtp.rcpttodomain=nokia-bell-labs.com smtp.mailfrom=nokia-bell-labs.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nokia-bell-labs.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia-bell-labs.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WJtuM1nTfrSpcdQnGQbMn0HkkJCOFzlul0aCRL1BYBc=; b=PBfuXMffAHCE02J8UfPzPA7Y8lk1UD28PFuVt2JHwdaiIFnv8FYwNsBTsLgWdqeEtBmuO5S0zNTW4s7TmUXCYXbTBEppW9L3W28qXV/vmBSoGlVs/bi3bElD+O1fd3+8atIZ7Y9M7Dxdio3zPaR1HqZuV0phHTx6HUb4P2Xfrs3G+zSTNayXg6PnODVCkQpxHrbNfb1ni5oXAWSGVE53m7okr3QPbgqFJ4282L2fwsgxY9OZBODTZmKqmuyKAJ0gvL1CR/bus3tEAWv37ws0VnUesGuOqo4qWlZGszWmlgrIfv39OOWrKg0xkMBO1aXl7SxPDife5/qQIz+Xhkbg+w== Received: from AS9PR06CA0651.eurprd06.prod.outlook.com (2603:10a6:20b:46f::24) by PAWPR07MB9663.eurprd07.prod.outlook.com (2603:10a6:102:383::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.21; Fri, 18 Oct 2024 23:20:27 +0000 Received: from AM1PEPF000252DB.eurprd07.prod.outlook.com (2603:10a6:20b:46f:cafe::70) by AS9PR06CA0651.outlook.office365.com (2603:10a6:20b:46f::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.23 via Frontend Transport; Fri, 18 Oct 2024 23:20:27 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 131.228.6.100) smtp.mailfrom=nokia-bell-labs.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nokia-bell-labs.com; Received-SPF: Pass (protection.outlook.com: domain of nokia-bell-labs.com designates 131.228.6.100 as permitted sender) receiver=protection.outlook.com; client-ip=131.228.6.100; helo=fr711usmtp2.zeu.alcatel-lucent.com; pr=C Received: from fr711usmtp2.zeu.alcatel-lucent.com (131.228.6.100) by AM1PEPF000252DB.mail.protection.outlook.com (10.167.16.53) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.17 via Frontend Transport; Fri, 18 Oct 2024 23:20:27 +0000 Received: from sarah.nbl.nsn-rdnet.net (sarah.nbl.nsn-rdnet.net [10.0.73.150]) by fr711usmtp2.zeu.alcatel-lucent.com (GMO) with ESMTP id 49INKJJT010239; Fri, 18 Oct 2024 23:20:25 GMT From: chia-yu.chang@nokia-bell-labs.com To: netdev@vger.kernel.org, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, dsahern@kernel.org, ij@kernel.org, ncardwell@google.com, koen.de_schepper@nokia-bell-labs.com, g.white@CableLabs.com, ingemar.s.johansson@ericsson.com, mirja.kuehlewind@ericsson.com, cheshire@apple.com, rs.ietf@gmx.at, Jason_Livingood@comcast.com, vidhi_goel@apple.com Cc: Chia-Yu Chang Subject: [PATCH v3 net-next 04/14] tcp: extend TCP flags to allow AE bit/ACE field Date: Sat, 19 Oct 2024 01:20:07 +0200 Message-Id: <20241018232017.46833-5-chia-yu.chang@nokia-bell-labs.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241018232017.46833-1-chia-yu.chang@nokia-bell-labs.com> References: <20241018232017.46833-1-chia-yu.chang@nokia-bell-labs.com> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM1PEPF000252DB:EE_|PAWPR07MB9663:EE_ X-MS-Office365-Filtering-Correlation-Id: 3566213d-8d34-404c-7857-08dcefcb7356 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|36860700013|1800799024|82310400026|921020; X-Microsoft-Antispam-Message-Info: =?utf-8?q?uuVEgEt/8dZz044A2ESM8vbBx9XbpNc?= =?utf-8?q?8QzOtGds2zS9keCWk69WDZ8Uy1VF/vXaIc/KkHgZw+dX/tbAaOf3GlwmV87uig4NS?= =?utf-8?q?PAKQ/a3wEY9K7/JJo0o2SYgcpREOuF0CV1XO7mKcKPcFgDtFeiaI3iBY8FBIhx5k+?= =?utf-8?q?TKkceTH9aZvoeDtjW+Vpg+CnNkAZckZC7eGqzeoa8TBjV350ZPW1JTZWAAdvCtPVN?= =?utf-8?q?yqNqH/JNsHzg9EttJYZ+MKuzqmb5oVbS1BU0+jUPNasUtVbuPPBFxC5MX8g34TZ1U?= =?utf-8?q?B4iDkTo0fJaOPhX2bVa6UJNU13g7BeuXOD1HTzwxke0XPXcsTa5ymJCIcE313qE3T?= =?utf-8?q?h0WvT79Qlhi4Kwzxh2zTzHUVaHsKmoeCGe6xCuL/JjNyXOYHGxX0QpeqBqAzLEqWy?= =?utf-8?q?l73iXLkIHywlhJrC0oQ6YVXO34LXVRiT7RYVoxRdYr2/aclHxsHKTHF+A9lrL5Ih2?= =?utf-8?q?wfi3JaMn0hIhemChRldB31IUJZx5JrsGIWrfBq4jwawb+Ghk9n8Xo95vhh25rkc3g?= =?utf-8?q?Z6ZzqBdJ2vVYqSuJTV2K3ml6UnakspDC4MaYnTkdNfDjtctLeOzVHQW+BAfqa1h5F?= =?utf-8?q?CdICKG+745AH7+QCD6wTQB0feufHTI4fM3pixmxQycWnrT8HVegbg4dt9OyQB6l9p?= =?utf-8?q?63Il4RK0aLC1HEL8hVz0fzwDR/FS9ynFGEFknPvZ1rChSjiycbVcwlbIIWBeFCPyW?= =?utf-8?q?7V+U9MTJyQB449YvLL7NWIfk5VNYwuSSwCHSLFMhZdb04LrDSVbmsi24pyVifnORA?= =?utf-8?q?9G0HAlKiyNexARjWYEUb+WIgY6fEpd+nSv9WzwIjSTdyamk4bzN/cFKf8Xa7ZRxCU?= =?utf-8?q?KrnTreWlfGFVKIxHV2qFhb+WIeftYNEsgMABdBr5M23BAyhQtW5k9W7TVASwQRSUe?= =?utf-8?q?BncSh2B/DC7abFYQzZEl7MfcTlvFXvIyDzrFONCqiSQK/U5J9PrzR07k/jFfijcuO?= =?utf-8?q?AVXC6f+6I11zCRGTfINkABxnih62j0OrCrimpknSQK0duHBWiU6FftL+lqEQRPMSh?= =?utf-8?q?9ZxwpF2BVslz7i9pUcLJ8bRNeCb2HmhIyRvCw0OGTziiUX5uLwU43ZtDNyE/BRnwv?= =?utf-8?q?3ZVrXOn9wuhkKL3k+eENqJ/jQcdiF3qdrSmfPICXEafhMO8zGPO35DX5Ntp/FzvUV?= =?utf-8?q?Od8cIIUZ3HGbGJFWEptPAAo89VBfcG7UGQQvWrfybx8JFFzSH9aVyynWIGXvAduV2?= =?utf-8?q?BUBK2SnogJrOKFdx6Dt1DnEZ/BkybQG2fwsjW7W6O9aFgLbpo0nmSu2fy2VjqlvyI?= =?utf-8?q?tyjtmToqMlNdjB0jP3oHxqFDIzDBWDzPv5NHuX1EtgaveB14Vjtv8jZpKrBnn1ZCk?= =?utf-8?q?K6yhQr3lMidzGub/diPyklnJu8IJD184IWRFVdkb/x3NO+vyeHNBC0g=3D?= X-Forefront-Antispam-Report: CIP:131.228.6.100;CTRY:FI;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:fr711usmtp2.zeu.alcatel-lucent.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(376014)(7416014)(36860700013)(1800799024)(82310400026)(921020);DIR:OUT;SFP:1101; X-OriginatorOrg: nokia-bell-labs.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Oct 2024 23:20:27.1120 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3566213d-8d34-404c-7857-08dcefcb7356 X-MS-Exchange-CrossTenant-Id: 5d471751-9675-428d-917b-70f44f9630b0 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5d471751-9675-428d-917b-70f44f9630b0;Ip=[131.228.6.100];Helo=[fr711usmtp2.zeu.alcatel-lucent.com] X-MS-Exchange-CrossTenant-AuthSource: AM1PEPF000252DB.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR07MB9663 X-Patchwork-Delegate: kuba@kernel.org From: Ilpo Järvinen With AccECN, there's one additional TCP flag to be used (AE) and ACE field that overloads the definition of AE, CWR, and ECE flags. As tcp_flags was previously only 1 byte, the byte-order stuff needs to be added to it's handling. Signed-off-by: Ilpo Järvinen Signed-off-by: Chia-Yu Chang --- include/net/tcp.h | 7 ++++++- include/uapi/linux/tcp.h | 9 ++++++--- net/ipv4/tcp_ipv4.c | 3 ++- net/ipv4/tcp_output.c | 8 ++++---- net/ipv6/tcp_ipv6.c | 3 ++- net/netfilter/nf_log_syslog.c | 8 +++++--- 6 files changed, 25 insertions(+), 13 deletions(-) diff --git a/include/net/tcp.h b/include/net/tcp.h index bc34b450929c..549fec6681d0 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h @@ -920,7 +920,12 @@ static inline u32 tcp_rsk_tsval(const struct tcp_request_sock *treq) #define TCPHDR_URG BIT(5) #define TCPHDR_ECE BIT(6) #define TCPHDR_CWR BIT(7) +#define TCPHDR_AE BIT(8) +#define TCPHDR_FLAGS_MASK (TCPHDR_FIN | TCPHDR_SYN | TCPHDR_RST | \ + TCPHDR_PSH | TCPHDR_ACK | TCPHDR_URG | \ + TCPHDR_ECE | TCPHDR_CWR | TCPHDR_AE) +#define TCPHDR_ACE (TCPHDR_ECE | TCPHDR_CWR | TCPHDR_AE) #define TCPHDR_SYN_ECN (TCPHDR_SYN | TCPHDR_ECE | TCPHDR_CWR) /* State flags for sacked in struct tcp_skb_cb */ @@ -955,7 +960,7 @@ struct tcp_skb_cb { u16 tcp_gso_size; }; }; - __u8 tcp_flags; /* TCP header flags. (tcp[13]) */ + __u16 tcp_flags; /* TCP header flags. (tcp[12-13]) */ __u8 sacked; /* State flags for SACK. */ __u8 ip_dsfield; /* IPv4 tos or IPv6 dsfield */ diff --git a/include/uapi/linux/tcp.h b/include/uapi/linux/tcp.h index dbf896f3146c..3fe08d7dddaf 100644 --- a/include/uapi/linux/tcp.h +++ b/include/uapi/linux/tcp.h @@ -28,7 +28,8 @@ struct tcphdr { __be32 seq; __be32 ack_seq; #if defined(__LITTLE_ENDIAN_BITFIELD) - __u16 res1:4, + __u16 ae:1, + res1:3, doff:4, fin:1, syn:1, @@ -40,7 +41,8 @@ struct tcphdr { cwr:1; #elif defined(__BIG_ENDIAN_BITFIELD) __u16 doff:4, - res1:4, + res1:3, + ae:1, cwr:1, ece:1, urg:1, @@ -70,6 +72,7 @@ union tcp_word_hdr { #define tcp_flag_word(tp) (((union tcp_word_hdr *)(tp))->words[3]) enum { + TCP_FLAG_AE = __constant_cpu_to_be32(0x01000000), TCP_FLAG_CWR = __constant_cpu_to_be32(0x00800000), TCP_FLAG_ECE = __constant_cpu_to_be32(0x00400000), TCP_FLAG_URG = __constant_cpu_to_be32(0x00200000), @@ -78,7 +81,7 @@ enum { TCP_FLAG_RST = __constant_cpu_to_be32(0x00040000), TCP_FLAG_SYN = __constant_cpu_to_be32(0x00020000), TCP_FLAG_FIN = __constant_cpu_to_be32(0x00010000), - TCP_RESERVED_BITS = __constant_cpu_to_be32(0x0F000000), + TCP_RESERVED_BITS = __constant_cpu_to_be32(0x0E000000), TCP_DATA_OFFSET = __constant_cpu_to_be32(0xF0000000) }; diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index 9d3dd101ea71..9fe314a59240 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c @@ -2162,7 +2162,8 @@ static void tcp_v4_fill_cb(struct sk_buff *skb, const struct iphdr *iph, TCP_SKB_CB(skb)->end_seq = (TCP_SKB_CB(skb)->seq + th->syn + th->fin + skb->len - th->doff * 4); TCP_SKB_CB(skb)->ack_seq = ntohl(th->ack_seq); - TCP_SKB_CB(skb)->tcp_flags = tcp_flag_byte(th); + TCP_SKB_CB(skb)->tcp_flags = ntohs(*(__be16 *)&tcp_flag_word(th)) & + TCPHDR_FLAGS_MASK; TCP_SKB_CB(skb)->ip_dsfield = ipv4_get_dsfield(iph); TCP_SKB_CB(skb)->sacked = 0; TCP_SKB_CB(skb)->has_rxtstamp = diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 054244ce5117..45cb67c635be 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -400,7 +400,7 @@ static void tcp_ecn_send(struct sock *sk, struct sk_buff *skb, /* Constructs common control bits of non-data skb. If SYN/FIN is present, * auto increment end seqno. */ -static void tcp_init_nondata_skb(struct sk_buff *skb, u32 seq, u8 flags) +static void tcp_init_nondata_skb(struct sk_buff *skb, u32 seq, u16 flags) { skb->ip_summed = CHECKSUM_PARTIAL; @@ -1382,7 +1382,7 @@ static int __tcp_transmit_skb(struct sock *sk, struct sk_buff *skb, th->seq = htonl(tcb->seq); th->ack_seq = htonl(rcv_nxt); *(((__be16 *)th) + 6) = htons(((tcp_header_size >> 2) << 12) | - tcb->tcp_flags); + (tcb->tcp_flags & TCPHDR_FLAGS_MASK)); th->check = 0; th->urg_ptr = 0; @@ -1604,7 +1604,7 @@ int tcp_fragment(struct sock *sk, enum tcp_queue tcp_queue, int old_factor; long limit; int nlen; - u8 flags; + u16 flags; if (WARN_ON(len > skb->len)) return -EINVAL; @@ -2159,7 +2159,7 @@ static int tso_fragment(struct sock *sk, struct sk_buff *skb, unsigned int len, { int nlen = skb->len - len; struct sk_buff *buff; - u8 flags; + u16 flags; /* All of a TSO frame must be composed of paged data. */ DEBUG_NET_WARN_ON_ONCE(skb->len != skb->data_len); diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index 597920061a3a..252d3dac3a09 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c @@ -1737,7 +1737,8 @@ static void tcp_v6_fill_cb(struct sk_buff *skb, const struct ipv6hdr *hdr, TCP_SKB_CB(skb)->end_seq = (TCP_SKB_CB(skb)->seq + th->syn + th->fin + skb->len - th->doff*4); TCP_SKB_CB(skb)->ack_seq = ntohl(th->ack_seq); - TCP_SKB_CB(skb)->tcp_flags = tcp_flag_byte(th); + TCP_SKB_CB(skb)->tcp_flags = ntohs(*(__be16 *)&tcp_flag_word(th)) & + TCPHDR_FLAGS_MASK; TCP_SKB_CB(skb)->ip_dsfield = ipv6_get_dsfield(hdr); TCP_SKB_CB(skb)->sacked = 0; TCP_SKB_CB(skb)->has_rxtstamp = diff --git a/net/netfilter/nf_log_syslog.c b/net/netfilter/nf_log_syslog.c index 58402226045e..86d5fc5d28e3 100644 --- a/net/netfilter/nf_log_syslog.c +++ b/net/netfilter/nf_log_syslog.c @@ -216,7 +216,9 @@ nf_log_dump_tcp_header(struct nf_log_buf *m, /* Max length: 9 "RES=0x3C " */ nf_log_buf_add(m, "RES=0x%02x ", (u_int8_t)(ntohl(tcp_flag_word(th) & TCP_RESERVED_BITS) >> 22)); - /* Max length: 32 "CWR ECE URG ACK PSH RST SYN FIN " */ + /* Max length: 35 "AE CWR ECE URG ACK PSH RST SYN FIN " */ + if (th->ae) + nf_log_buf_add(m, "AE "); if (th->cwr) nf_log_buf_add(m, "CWR "); if (th->ece) @@ -516,7 +518,7 @@ dump_ipv4_packet(struct net *net, struct nf_log_buf *m, /* Proto Max log string length */ /* IP: 40+46+6+11+127 = 230 */ - /* TCP: 10+max(25,20+30+13+9+32+11+127) = 252 */ + /* TCP: 10+max(25,20+30+13+9+35+11+127) = 255 */ /* UDP: 10+max(25,20) = 35 */ /* UDPLITE: 14+max(25,20) = 39 */ /* ICMP: 11+max(25, 18+25+max(19,14,24+3+n+10,3+n+10)) = 91+n */ @@ -526,7 +528,7 @@ dump_ipv4_packet(struct net *net, struct nf_log_buf *m, /* (ICMP allows recursion one level deep) */ /* maxlen = IP + ICMP + IP + max(TCP,UDP,ICMP,unknown) */ - /* maxlen = 230+ 91 + 230 + 252 = 803 */ + /* maxlen = 230+ 91 + 230 + 255 = 806 */ } static noinline_for_stack void