| Summary: | ipfw+nat and ng_nat Silently Drop Packets over 4k | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Base System | Reporter: | Jeff Kletsky <jeff+freebsd> | ||||
| Component: | kern | Assignee: | Andrey V. Elsukov <ae> | ||||
| Status: | Closed FIXED | ||||||
| Severity: | Affects Some People | CC: | ae, dave+freebsd, glebius | ||||
| Priority: | --- | ||||||
| Version: | 11.1-RELEASE | ||||||
| Hardware: | Any | ||||||
| OS: | Any | ||||||
| Attachments: |
|
||||||
|
Description
Jeff Kletsky
2018-06-14 00:02:28 UTC
Relates to documentation issue #229003 Created attachment 194242 [details]
Possible patch from suggestion of Andrey V. Elsukov
A commit references this bug: Author: ae Date: Thu Jun 14 11:15:40 UTC 2018 New revision: 335133 URL: https://svnweb.freebsd.org/changeset/base/335133 Log: In m_megapullup() use m_getjcl() to allocate 9k or 16k mbuf when requested. It is better to try allocate a big mbuf, than just silently drop a big packet. A better solution could be reworking of libalias modules to be able use m_copydata()/m_copyback() instead of requiring the single contiguous buffer. PR: 229006 MFC after: 1 week Changes: head/sys/netinet/libalias/alias.c Some historical context: https://lists.freebsd.org/pipermail/svn-src-head/2013-March/045721.html Due to discussion thread after this commit: https://lists.freebsd.org/pipermail/svn-src-head/2013-March/045643.html A commit references this bug: Author: ae Date: Thu Jun 21 10:51:25 UTC 2018 New revision: 335473 URL: https://svnweb.freebsd.org/changeset/base/335473 Log: MFC r335133: In m_megapullup() use m_getjcl() to allocate 9k or 16k mbuf when requested. It is better to try allocate a big mbuf, than just silently drop a big packet. A better solution could be reworking of libalias modules to be able use m_copydata()/m_copyback() instead of requiring the single contiguous buffer. PR: 229006 Changes: _U stable/11/ stable/11/sys/netinet/libalias/alias.c A commit references this bug: Author: ae Date: Thu Jun 21 11:24:21 UTC 2018 New revision: 335474 URL: https://svnweb.freebsd.org/changeset/base/335474 Log: MFC r335133: In m_megapullup() use m_getjcl() to allocate 9k or 16k mbuf when requested. It is better to try allocate a big mbuf, than just silently drop a big packet. A better solution could be reworking of libalias modules to be able use m_copydata()/m_copyback() instead of requiring the single contiguous buffer. PR: 229006 Changes: _U stable/10/ stable/10/sys/netinet/libalias/alias.c Fixed in head/, stable/11 and stable/10. Thanks! Tested on a patched kernel sourced from FreeBSD 11.1-p11. Can confirm there is a significant improvement in network speeds and no packets are dropped. I'd like to request an Errata Notice so to include it in the next security update. |