Index: sys/netinet/ip_output.c
===================================================================
RCS file: /mount/openbsd/cvs/src/sys/netinet/ip_output.c,v
diff -u -p -u -p -r1.402 ip_output.c
--- sys/netinet/ip_output.c	3 Jan 2025 21:27:40 -0000	1.402
+++ sys/netinet/ip_output.c	5 Feb 2025 13:32:44 -0000
@@ -87,7 +87,7 @@ void in_delayed_cksum(struct mbuf *);
 int ip_output_ipsec_lookup(struct mbuf *m, int hlen,
     const struct ipsec_level *seclevel, struct tdb **, int ipsecflowinfo);
 void ip_output_ipsec_pmtu_update(struct tdb *, struct route *, struct in_addr,
-    int, int);
+    int);
 int ip_output_ipsec_send(struct tdb *, struct mbuf *, struct route *, int);
 
 /*
@@ -546,10 +546,12 @@ ip_output_ipsec_lookup(struct mbuf *m, i
 
 void
 ip_output_ipsec_pmtu_update(struct tdb *tdb, struct route *ro,
-    struct in_addr dst, int rtableid, int transportmode)
+    struct in_addr dst, int rtableid)
 {
 	struct rtentry *rt = NULL;
 	int rt_mtucloned = 0;
+	int transportmode = (tdb->tdb_dst.sa.sa_family == AF_INET) &&
+	    (tdb->tdb_dst.sin.sin_addr.s_addr == dst.s_addr);
 
 	/* Find a host route to store the mtu in */
 	if (ro != NULL)
@@ -619,12 +621,7 @@ ip_output_ipsec_send(struct tdb *tdb, st
 	rtableid = m->m_pkthdr.ph_rtableid;
 	if (ip_mtudisc && (ip->ip_off & htons(IP_DF)) && tdb->tdb_mtu &&
 	    len > tdb->tdb_mtu && tdb->tdb_mtutimeout > gettime()) {
-		int transportmode;
-
-		transportmode = (tdb->tdb_dst.sa.sa_family == AF_INET) &&
-		    (tdb->tdb_dst.sin.sin_addr.s_addr == dst.s_addr);
-		ip_output_ipsec_pmtu_update(tdb, ro, dst, rtableid,
-		    transportmode);
+		ip_output_ipsec_pmtu_update(tdb, ro, dst, rtableid);
 		ipsec_adjust_mtu(m, tdb->tdb_mtu);
 		m_freem(m);
 		return EMSGSIZE;
@@ -667,7 +664,7 @@ ip_output_ipsec_send(struct tdb *tdb, st
 	if (!error && tso)
 		tcpstat_inc(tcps_outswtso);
 	if (ip_mtudisc && error == EMSGSIZE)
-		ip_output_ipsec_pmtu_update(tdb, ro, dst, rtableid, 0);
+		ip_output_ipsec_pmtu_update(tdb, ro, dst, rtableid);
 	return error;
 }
 #endif /* IPSEC */