discovered this looking at something else. we don't and won't support
seqpacket for nfs sockets.
perhaps a bit more can be cleaned up too. i don't think we support any stream
sockets that don't require connections, etc...
Index: nfs_socket.c
===================================================================
RCS file: /cvs/src/sys/nfs/nfs_socket.c,v
retrieving revision 1.123
diff -u -p -r1.123 nfs_socket.c
--- nfs_socket.c 11 Aug 2017 21:24:20 -0000 1.123
+++ nfs_socket.c 13 Aug 2017 21:16:18 -0000
@@ -347,13 +347,7 @@ nfs_connect(struct nfsmount *nmp, struct
sndreserve = nmp->nm_wsize + NFS_MAXPKTHDR;
rcvreserve = (max(nmp->nm_rsize, nmp->nm_readdirsize) +
NFS_MAXPKTHDR) * 2;
- } else if (nmp->nm_sotype == SOCK_SEQPACKET) {
- sndreserve = (nmp->nm_wsize + NFS_MAXPKTHDR) * 2;
- rcvreserve = (max(nmp->nm_rsize, nmp->nm_readdirsize) +
- NFS_MAXPKTHDR) * 2;
- } else {
- if (nmp->nm_sotype != SOCK_STREAM)
- panic("nfscon sotype");
+ } else if (nmp->nm_sotype == SOCK_STREAM) {
if (so->so_proto->pr_flags & PR_CONNREQUIRED) {
MGET(m, M_WAIT, MT_SOOPTS);
*mtod(m, int32_t *) = 1;
@@ -370,6 +364,8 @@ nfs_connect(struct nfsmount *nmp, struct
sizeof (u_int32_t)) * 2;
rcvreserve = (nmp->nm_rsize + NFS_MAXPKTHDR +
sizeof (u_int32_t)) * 2;
+ } else {
+ panic("nfscon sotype");
}
error = soreserve(so, sndreserve, rcvreserve);
sounlock(s);
@@ -478,10 +474,7 @@ nfs_send(struct socket *so, struct mbuf
sendnam = NULL;
else
sendnam = nam;
- if (so->so_type == SOCK_SEQPACKET)
- flags = MSG_EOR;
- else
- flags = 0;
+ flags = 0;
error = sosend(so, sendnam, NULL, top, NULL, flags);
if (error) {