bigger UDP recv buffers
SCCS-vsn: sys/netinet/tcp_usrreq.c 6.5
SCCS-vsn: sys/netinet/udp_usrreq.c 6.10
-/* tcp_usrreq.c 6.4 84/08/29 */
+/* tcp_usrreq.c 6.5 85/03/18 */
#include "param.h"
#include "systm.h"
#include "param.h"
#include "systm.h"
int error = 0;
int ostate;
int error = 0;
int ostate;
+ if (req == PRU_CONTROL)
+ return (in_control(so, (int)m, (caddr_t)nam,
+ (struct ifnet *)rights));
if (rights && rights->m_len) {
splx(s);
return (EINVAL);
if (rights && rights->m_len) {
splx(s);
return (EINVAL);
tp = tcp_drop(tp, ECONNABORTED);
break;
tp = tcp_drop(tp, ECONNABORTED);
break;
-/* SOME AS YET UNIMPLEMENTED HOOKS */
- case PRU_CONTROL:
- error = EOPNOTSUPP;
- break;
-/* END UNIMPLEMENTED HOOKS */
-
case PRU_SENSE:
((struct stat *) m)->st_blksize = so->so_snd.sb_hiwat;
return (0);
case PRU_SENSE:
((struct stat *) m)->st_blksize = so->so_snd.sb_hiwat;
return (0);
-int tcp_sendspace = 1024*2;
-int tcp_recvspace = 1024*2;
+int tcp_sendspace = 1024*4;
+int tcp_recvspace = 1024*4;
/*
* Attach TCP protocol to socket, allocating
* internet protocol control block, tcp control block,
/*
* Attach TCP protocol to socket, allocating
* internet protocol control block, tcp control block,
-/* udp_usrreq.c 6.9 84/09/05 */
+/* udp_usrreq.c 6.10 85/03/18 */
#include "param.h"
#include "dir.h"
#include "param.h"
#include "dir.h"
so->so_options & SO_BROADCAST));
}
so->so_options & SO_BROADCAST));
}
+int udp_sendspace = 2048; /* really max datagram size */
+int udp_recvspace = 4 * (1024+sizeof(struct sockaddr_in)); /* 4 1K dgrams */
+
/*ARGSUSED*/
udp_usrreq(so, req, m, nam, rights)
struct socket *so;
/*ARGSUSED*/
udp_usrreq(so, req, m, nam, rights)
struct socket *so;
struct inpcb *inp = sotoinpcb(so);
int error = 0;
struct inpcb *inp = sotoinpcb(so);
int error = 0;
+ if (req == PRU_CONTROL)
+ return (in_control(so, (int)m, (caddr_t)nam,
+ (struct ifnet *)rights));
if (rights && rights->m_len) {
error = EINVAL;
goto release;
if (rights && rights->m_len) {
error = EINVAL;
goto release;
error = in_pcballoc(so, &udb);
if (error)
break;
error = in_pcballoc(so, &udb);
if (error)
break;
- error = soreserve(so, 2048, 2048);
+ error = soreserve(so, udp_sendspace, udp_recvspace);
m = NULL;
if (nam) {
in_pcbdisconnect(inp);
m = NULL;
if (nam) {
in_pcbdisconnect(inp);
error = EOPNOTSUPP;
break;
error = EOPNOTSUPP;
break;
case PRU_RCVD:
case PRU_RCVOOB:
return (EOPNOTSUPP); /* do not free mbuf's */
case PRU_RCVD:
case PRU_RCVOOB:
return (EOPNOTSUPP); /* do not free mbuf's */