FreeBSD Bugzilla – Attachment 174351 Details for
Bug 212283
oversized IP datagrams on raw socket with IP_RAWOUTPUT hang network interface drivers
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Proposed patch (untested)
ip_output.diff (text/plain), 884 bytes, created by
Andrey V. Elsukov
on 2016-09-03 18:13:29 UTC
(
hide
)
Description:
Proposed patch (untested)
Filename:
MIME Type:
Creator:
Andrey V. Elsukov
Created:
2016-09-03 18:13:29 UTC
Size:
884 bytes
patch
obsolete
>Index: sys/netinet/ip_output.c >=================================================================== >--- sys/netinet/ip_output.c (revision 305356) >+++ sys/netinet/ip_output.c (working copy) >@@ -270,6 +270,9 @@ > } else { > /* Header already set, fetch hlen from there */ > hlen = ip->ip_hl << 2; >+ /* Use actual data length for RAW output */ >+ if (flags & IP_RAWOUTPUT) >+ ip_len = m->m_pkthdr.len; > } > > /* >@@ -663,8 +666,12 @@ > goto done; > } > >- /* Balk when DF bit is set or the interface didn't support TSO. */ >- if ((ip_off & IP_DF) || (m->m_pkthdr.csum_flags & CSUM_TSO)) { >+ /* >+ * Balk when DF bit is set or the interface didn't support TSO. >+ * For RAW output user must do IP fragmentation by self. >+ */ >+ if ((ip_off & IP_DF) || (m->m_pkthdr.csum_flags & CSUM_TSO) || >+ (flags & IP_RAWOUTPUT)) { > error = EMSGSIZE; > IPSTAT_INC(ips_cantfrag); > goto bad;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 212283
:
174255
|
174350
|
174351
|
178331
|
178398
|
178409
|
178410
|
178417
|
178855