Re: network stack problem in sparc64?



Borja Marcos wrote:
Hello,

I saw this some time ago but always forgot to report it.

I'm running a pair of machines with FreeBSD/sparc64 (various versions, one of them is running -STABLE now), and I've seen a problem with the network stack.

Looking at buffer and window sizes,

earendil# sysctl net.inet.tcp|fgrep space
net.inet.tcp.sendspace: 0
net.inet.tcp.recvspace: 0

earendil# sysctl net.inet.udp
net.inet.udp.checksum: 1
net.inet.udp.maxdgram: 0
net.inet.udp.recvspace: 0

When I try to modify them, it doesn't work at all. For example, trying to run nfcapd/nfsen in a sparc64 box, I get an error for a setsockopt() call

earendil# /usr/local/etc/rc.d/nfsen start
Starting nfsenStarting nfcpad: upstream1setsockopt(SO_RCVBUF,200000): Invalid argument
Terminated due to errors.
nfcapd exec error: exit: 255, signal: 0, coredump: 0


For x86 machines the values are correctly reported and they work as expected.

I have been poking Google for this but I haven't seen any mention of this.

hmmm... how about this (untested) patch?

--- tcp_usrreq.c.orig Fri Nov 4 12:26:14 2005
+++ tcp_usrreq.c Mon Sep 25 09:31:42 2006
@@ -1161,10 +1161,10 @@
* sizes, respectively. These are obsolescent (this information should
* be set by the route).
*/
-u_long tcp_sendspace = 1024*32;
+int tcp_sendspace = 1024*32;
SYSCTL_INT(_net_inet_tcp, TCPCTL_SENDSPACE, sendspace, CTLFLAG_RW,
&tcp_sendspace , 0, "Maximum outgoing TCP datagram size");
-u_long tcp_recvspace = 1024*64;
+int tcp_recvspace = 1024*64;
SYSCTL_INT(_net_inet_tcp, TCPCTL_RECVSPACE, recvspace, CTLFLAG_RW,
&tcp_recvspace , 0, "Maximum incoming TCP datagram size");

--- udp_usrreq.c.orig Wed Sep 13 11:19:26 2006
+++ udp_usrreq.c Mon Sep 25 09:32:00 2006
@@ -923,12 +923,12 @@
return (error);
}

-u_long udp_sendspace = 9216; /* really max datagram size */
+int udp_sendspace = 9216; /* really max datagram size */
/* 40 1K datagrams */
SYSCTL_INT(_net_inet_udp, UDPCTL_MAXDGRAM, maxdgram, CTLFLAG_RW,
&udp_sendspace, 0, "Maximum outgoing UDP datagram size");

-u_long udp_recvspace = 40 * (1024 +
+int udp_recvspace = 40 * (1024 +
#ifdef INET6
sizeof(struct sockaddr_in6)
#else

thanks,
max
_______________________________________________
freebsd-hackers@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: network stack problem in sparc64?
    ... I saw this some time ago but always forgot to report it. ... I'm running a pair of machines with FreeBSD/sparc64 (various versions, ... earendil# sysctl net.inet.udp ... I'll MFC those ASAP. ...
    (freebsd-hackers)
  • Re: network stack problem in sparc64?
    ... I saw this some time ago but always forgot to report it. ... I'm running a pair of machines with FreeBSD/sparc64, and I've seen a problem with the network stack. ... earendil# sysctl net.inet.udp ...
    (freebsd-hackers)
  • Re: network stack problem in sparc64?
    ... I saw this some time ago but always forgot to report it. ... I'm running a pair of machines with FreeBSD/sparc64 (various versions, ... earendil# sysctl net.inet.udp ...
    (freebsd-hackers)
  • network stack problem in sparc64?
    ... I saw this some time ago but always forgot to report it. ... I'm running a pair of machines with FreeBSD/sparc64, and I've seen a problem with the network stack. ... earendil# sysctl net.inet.udp ... src/sys/EARENDIL sparc64 ...
    (freebsd-hackers)
  • Re: Software Update - Distribution Status; How is this reported back to SMS?
    ... Well I reinstalled Office2003 on one of the bad machines (using my own ... database as having Office2003 SP2. ... I've noticed that the client will report ... installed via Client Push Installation. ...
    (microsoft.public.sms.admin)