netinet(6): shared forwarding requires different pointers

PR: https://github.com/opnsense/src/issues/259
Fixes: 2927ebde30
This commit is contained in:
Franco Fichtner 2025-10-23 17:34:38 +02:00
parent 64f4e2bdf5
commit 714aab4197
3 changed files with 6 additions and 6 deletions

View file

@ -463,13 +463,13 @@ passout:
* calculate it for us, do it here.
*/
if (__predict_false(m->m_pkthdr.csum_flags & CSUM_DELAY_DATA &
~nh->nh_ifp->if_hwassist)) {
~nifp->if_hwassist)) {
in_delayed_cksum(m);
m->m_pkthdr.csum_flags &= ~CSUM_DELAY_DATA;
}
#if defined(SCTP) || defined(SCTP_SUPPORT)
if (__predict_false(m->m_pkthdr.csum_flags & CSUM_IP_SCTP &
~nh->nh_ifp->if_hwassist)) {
~nifp->if_hwassist)) {
sctp_delayed_cksum(m, (uint32_t)(ip->ip_hl << 2));
m->m_pkthdr.csum_flags &= ~CSUM_IP_SCTP;
}

View file

@ -279,7 +279,7 @@ passout:
* calculate it for us, do it here.
*/
if (__predict_false(m->m_pkthdr.csum_flags & CSUM_DELAY_DATA_IPV6 &
~nh->nh_ifp->if_hwassist)) {
~nifp->if_hwassist)) {
int offset = ip6_lasthdr(m, 0, IPPROTO_IPV6, NULL);
if (offset < sizeof(struct ip6_hdr) || offset > m->m_pkthdr.len)
@ -289,7 +289,7 @@ passout:
}
#if defined(SCTP) || defined(SCTP_SUPPORT)
if (__predict_false(m->m_pkthdr.csum_flags & CSUM_IP6_SCTP &
~nh->nh_ifp->if_hwassist)) {
~nifp->if_hwassist)) {
int offset = ip6_lasthdr(m, 0, IPPROTO_IPV6, NULL);
sctp_delayed_cksum(m, offset);

View file

@ -403,7 +403,7 @@ pass:
* calculate it for us, do it here.
*/
if (__predict_false(m->m_pkthdr.csum_flags & CSUM_DELAY_DATA_IPV6 &
~nh->nh_ifp->if_hwassist)) {
~ifp->if_hwassist)) {
int offset = ip6_lasthdr(m, 0, IPPROTO_IPV6, NULL);
if (offset < sizeof(struct ip6_hdr) || offset > m->m_pkthdr.len)
@ -413,7 +413,7 @@ pass:
}
#if defined(SCTP) || defined(SCTP_SUPPORT)
if (__predict_false(m->m_pkthdr.csum_flags & CSUM_IP6_SCTP &
~nh->nh_ifp->if_hwassist)) {
~ifp->if_hwassist)) {
int offset = ip6_lasthdr(m, 0, IPPROTO_IPV6, NULL);
sctp_delayed_cksum(m, offset);