diff --git a/sys/netinet/tcp_debug.c b/sys/netinet/tcp_debug.c index aaeac9dfaf62..a82943d75832 100644 --- a/sys/netinet/tcp_debug.c +++ b/sys/netinet/tcp_debug.c @@ -171,7 +171,7 @@ tcp_trace(short act, short ostate, struct tcpcb *tp, void *ipgen, ack = th->th_ack; len = #ifdef INET6 - isipv6 ? ((struct ip6_hdr *)ipgen)->ip6_plen : + isipv6 ? ntohs(((struct ip6_hdr *)ipgen)->ip6_plen) : #endif ((struct ip *)ipgen)->ip_len; if (act == TA_OUTPUT) { diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index 1d24991b3543..f349ecc8e7c5 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -381,7 +381,7 @@ tcpip_fillheaders(struct inpcb *inp, void *ip_ptr, void *tcp_ptr) ip6->ip6_vfc = (ip6->ip6_vfc & ~IPV6_VERSION_MASK) | (IPV6_VERSION & IPV6_VERSION_MASK); ip6->ip6_nxt = IPPROTO_TCP; - ip6->ip6_plen = sizeof(struct tcphdr); + ip6->ip6_plen = htons(sizeof(struct tcphdr)); ip6->ip6_src = inp->in6p_laddr; ip6->ip6_dst = inp->in6p_faddr; } else