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 */