Skip site navigation (1)Skip section navigation (2)
Date:      Thu,  6 Jan 2000 15:21:04 -0700 (MST)
From:      howard@ee.utah.edu (Walt Howard)
To:        freebsd-ports@FreeBSD.ORG
Subject:   socket problem with net/netatalk
Message-ID:  <20000106222104.E4C6E543E@ee.elen.utah.edu>

next in thread | raw e-mail | index | archive | help
/usr/ports/net/netatalk-asun's atalkd program has a write-to-socket failure.
The version without asun has the same problem.

uname -a returns:
FreeBSD route.elen.utah.edu 3.3-RELEASE FreeBSD 3.3-RELEASE #0: Fri Dec 31
18:27:59 MST 1999     root@route.elen.utah.edu:/usr/src/sys/compile/ROUTE  i386
The kernel was compiled with "options NETATALK", and the box has 16
ethernet interfaces in PCI slots, all using the "de" driver.  In order to
free up IRQ numbers for all those ethernet interfaces, the kernel is
configured without a mouse, serial ports, or parallel port.

We previously used this same code on a box with five interfaces in ISA slots,
using the "ed" driver and FreeBSD 2.2.7, and it ran fine.

Program details:
The code is in work/netatalk-1.4b2+asun2.1.3/etc/atalkd

main.c opens a socket, assigning it to a global int

    if (( rtfd = socket( PF_ROUTE, SOCK_RAW, AF_APPLETALK )) < 0 ) {

and then closes the input from it

    if ( shutdown( rtfd, 0 ) < 0 ) {

Later, main calls looproute() from rtmp.c which calls route() from route.c
which attempts to write to the socket:

    if (( rc = write( rtfd, &rtma, rtma.rtma_rtm.rtm_msglen )) !=
            rtma.rtma_rtm.rtm_msglen ) {

and this fails.  rc is set to -1 and errno to 17 (EEXIST) which is not
listed as a possible value for errno when write() fails.


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000106222104.E4C6E543E>