diff options
author | Andre Oppermann <andre@FreeBSD.org> | 2013-08-19 13:27:32 +0000 |
---|---|---|
committer | Andre Oppermann <andre@FreeBSD.org> | 2013-08-19 13:27:32 +0000 |
commit | 86bd0491442e667469d72d133cf07945362f7dad (patch) | |
tree | 4bf04ae1ab9f3c2b9ed6d2ce7bcd15edb4b3a1f0 /sys/netinet/ip_fastfwd.c | |
parent | 88169e03881a0df6fc170475dcb9317fa9267e09 (diff) | |
download | src-86bd0491442e667469d72d133cf07945362f7dad.tar.gz src-86bd0491442e667469d72d133cf07945362f7dad.zip |
Add m_clrprotoflags() to clear protocol specific mbuf flags at up and
downwards layer crossings.
Consistently use it within IP, IPv6 and ethernet protocols.
Discussed with: trociny, glebius
Notes
Notes:
svn path=/head/; revision=254523
Diffstat (limited to 'sys/netinet/ip_fastfwd.c')
-rw-r--r-- | sys/netinet/ip_fastfwd.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/netinet/ip_fastfwd.c b/sys/netinet/ip_fastfwd.c index 3a228ca81c03..989318ed35f2 100644 --- a/sys/netinet/ip_fastfwd.c +++ b/sys/netinet/ip_fastfwd.c @@ -525,6 +525,10 @@ passout: if (ip_len <= mtu || (ifp->if_hwassist & CSUM_FRAGMENT && (ip_off & IP_DF) == 0)) { /* + * Avoid confusing lower layers. + */ + m_clrprotoflags(m); + /* * Send off the packet via outgoing interface */ error = (*ifp->if_output)(ifp, m, @@ -553,6 +557,10 @@ passout: do { m0 = m->m_nextpkt; m->m_nextpkt = NULL; + /* + * Avoid confusing lower layers. + */ + m_clrprotoflags(m); error = (*ifp->if_output)(ifp, m, (struct sockaddr *)dst, &ro); |