git: b451bdb7894d - main - netipsec: Refactor TCP-MD5 shim to use ip6_hdr_pseudo{} for brevity.
Bruce M Simpson <[email protected]> Mon, 03 Aug 2026 11:28:35 +0000
| Newsgroups | gmane.os.freebsd.devel.cvs.src |
|---|---|
| Message-ID | <6a707b63.19c13.13469419__33411.39808051$1785756534$gmane$org@gitrepo.freebsd.org> |
The branch main has been updated by bms: URL: https://cgit.FreeBSD.org/src/commit/?id=b451bdb7894dea69f74dd641861f800ac2268f5c commit b451bdb7894dea69f74dd641861f800ac2268f5c Author: Bruce M Simpson <[email protected]> AuthorDate: 2026-07-30 16:08:34 +0000 Commit: Bruce M Simpson <[email protected]> CommitDate: 2026-08-03 11:27:45 +0000 netipsec: Refactor TCP-MD5 shim to use ip6_hdr_pseudo{} for brevity. This brings xform_tcp.c into line with possible future OCF related imports. --- sys/netipsec/xform_tcp.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/sys/netipsec/xform_tcp.c b/sys/netipsec/xform_tcp.c index a87b27048dd7..f2e8f4975e35 100644 --- a/sys/netipsec/xform_tcp.c +++ b/sys/netipsec/xform_tcp.c @@ -63,6 +63,7 @@ #ifdef INET6 #include <netinet/ip6.h> +#include <netinet6/ip6_var.h> #include <netipsec/ipsec6.h> #endif @@ -154,25 +155,23 @@ ip_pseudo_compute(struct mbuf *m, MD5_CTX *ctx) static int ip6_pseudo_compute(struct mbuf *m, MD5_CTX *ctx) { - struct ip6_pseudo { - struct in6_addr src, dst; - uint32_t len; - uint32_t nxt; - } ip6p __aligned(4); + struct ip6_hdr_pseudo ip6ph = { + .ip6ph_zero = {} + }; struct ip6_hdr *ip6; int hdr_len; ip6 = mtod(m, struct ip6_hdr *); - ip6p.src = ip6->ip6_src; - ip6p.dst = ip6->ip6_dst; + ip6ph.ip6ph_src = ip6->ip6_src; + ip6ph.ip6ph_dst = ip6->ip6_dst; hdr_len = sizeof(struct ip6_hdr); if (ip6->ip6_nxt == IPPROTO_UDP) /* TCP over UDP */ hdr_len += sizeof(struct udphdr); - /* XXX: ext headers */ - ip6p.len = htonl(m->m_pkthdr.len - hdr_len); - ip6p.nxt = htonl(IPPROTO_TCP); - MD5Update(ctx, (char *)&ip6p, sizeof(ip6p)); + /* Append TCP segment and fixup length. */ + ip6ph.ip6ph_len = htonl(m->m_pkthdr.len - hdr_len); + ip6ph.ip6ph_nxt = IPPROTO_TCP; + MD5Update(ctx, &ip6ph, sizeof(ip6ph)); return (hdr_len); } #endif