mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
Increase default size of raw IP send and receive buffers to the same as
udp_sendspace, to avoid a situation where jumbograms (datagrams > 9KB) are unnecessarily fragmented. A common use case for this is OSPF link-state database synchronization during adjacency bringup on a high speed network with a large MTU. It is not possible to auto-tune this setting until a socket is bound to a given interface, and because the laddr part of the inpcb tuple may be overridden, it makes no sense to do so. Applications may request a larger socket buffer size by using the SO_SENDBUF and SO_RECVBUF socket options. Certain applications such as Quagga ospfd do not probe for interface MTU and therefore do not increase SO_SENDBUF in this use case. XORP is not affected by this problem as it preemptively uses SO_SENDBUF and SO_RECVBUF to account for any possible additional latency in XRL IPC. PR: kern/108375 Requested by: Vladimir Ivanov MFC after: 1 week
This commit is contained in:
parent
94d36aa276
commit
c7547d1aaf
1 changed files with 2 additions and 8 deletions
|
|
@ -105,12 +105,6 @@ void (*rsvp_input_p)(struct mbuf *m, int off);
|
|||
int (*ip_rsvp_vif)(struct socket *, struct sockopt *);
|
||||
void (*ip_rsvp_force_done)(struct socket *);
|
||||
|
||||
/*
|
||||
* Nominal space allocated to a raw ip socket.
|
||||
*/
|
||||
#define RIPSNDQ 8192
|
||||
#define RIPRCVQ 8192
|
||||
|
||||
/*
|
||||
* Raw interface to IP protocol.
|
||||
*/
|
||||
|
|
@ -595,8 +589,8 @@ rip_ctlinput(int cmd, struct sockaddr *sa, void *vip)
|
|||
}
|
||||
}
|
||||
|
||||
u_long rip_sendspace = RIPSNDQ;
|
||||
u_long rip_recvspace = RIPRCVQ;
|
||||
u_long rip_sendspace = 9216;
|
||||
u_long rip_recvspace = 9216;
|
||||
|
||||
SYSCTL_ULONG(_net_inet_raw, OID_AUTO, maxdgram, CTLFLAG_RW,
|
||||
&rip_sendspace, 0, "Maximum outgoing raw IP datagram size");
|
||||
|
|
|
|||
Loading…
Reference in a new issue