Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Jan 2001 13:17:10 -0500 
From:      Neff_Glen@emc.com
To:        hackers@freebsd.org
Cc:        JONESJG@dg-rtp.dg.com, stovall@dg-rtp.dg.com, davenport_ken@emc.com
Subject:   Problems with sf driver?
Message-ID:  <0BEC2FAE2A21D411965C00E0291E7C3340BFC2@corpmx17.isus.emc.com>

next in thread | raw e-mail | index | archive | help
I administer a box running v4.2-stable with a pair of the Adaptec ANA-62044
64-bit PCI, Quad port ethernet adapters.  Six of the eight ethernet ports
are in use.  The box routes traffic between five private networks and
provides NAT services out the public world on the sixth interface.

I encounter an intermittant problem where one of the ports on a private
network will quit functioning (usually sf2 or sf3).  Nothing on that segment
can reach the machine and if I try to ping something on that segment from
the box in question I get:

	ping: sendto: No buffer space available

The other five ports in use on the system continue to function normally.  If
I "ifconfig sfX down/up" the problem goes away.  I've seen the problem as
often as twice a day and sometimes gone a month without seeing it.  The
private segments carry very heavy SMB traffic.

I have upped NMBCLUSTERS to 8192 with no success.  Influenced by what I
found digging though the DejaNews archives, I have also increased maxusers
from 32 to 128, but do not believe the box has been up long enough to see if
this has made a difference or not.

Since these settings are global to the OS and I'm only encountering a
problem with one port at a time, while the others continue to function
normally, I have doubts they are an issue and suspect is must be a problem
with the sf driver itself.

I have swapped-out the NICs, the PC, and encountered the same problem with
v3.x-stable.

Thanks for any help you might offer.  Below I'll paste some pertinate system
configuration info.

-G


/*
   Glen R. J. Neff
   neff_glen@emc.com
   919-248-6145

   Dirty deeds done for a meager 20% markup. . . 
*/ 

uname -a output:

FreeBSD squeakyfromme.rtp.dg.com 4.2-STABLE FreeBSD 4.2-STABLE #1: Tue Jan
2 11:36:03 EST 2001
root@squeakyfromme.rtp.dg.com:/usr/src/sys/compile/squeakyfromme  i386


Kernel config file:

machine         i386
# cpu           I386_CPU
# cpu           I486_CPU
# cpu           I586_CPU
cpu             I686_CPU
ident           squeakyfromme
maxusers        128

#makeoptions    DEBUG=-g                #Build kernel with gdb(1) debug
symbols

# options       MATH_EMULATE            #Support for x87 emulation
options         INET                    #InterNETworking
# options       INET6                   #IPv6 communications protocols
options         FFS                     #Berkeley Fast Filesystem
options         FFS_ROOT                #FFS usable as root device [keep
this!]
options         SOFTUPDATES             #Enable FFS soft updates support
options         MFS                     #Memory Filesystem
# options       MD_ROOT                 #MD is a potential root device
options         NFS                     #Network Filesystem
# options       NFS_ROOT                #NFS usable as root device, NFS
required
# options       MSDOSFS                 #MSDOS Filesystem
options         CD9660                  #ISO 9660 Filesystem
# options       CD9660_ROOT             #CD-ROM usable as root, CD9660
required
options         PROCFS                  #Process filesystem
options         COMPAT_43               #Compatible with BSD 4.3 [KEEP
THIS!]
# options       SCSI_DELAY=15000        #Delay (in ms) before probing SCSI
options         UCONSOLE                #Allow users to grab the console
options         USERCONFIG              #boot -c editor
options         VISUAL_USERCONFIG       #visual boot -c editor
options         KTRACE                  #ktrace(1) support
options         SYSVSHM                 #SYSV-style shared memory
options         SYSVMSG                 #SYSV-style message queues
options         SYSVSEM                 #SYSV-style semaphores
options         P1003_1B                #Posix P1003_1B real-time extensions
options         _KPOSIX_PRIORITY_SCHEDULING
options         ICMP_BANDLIM            #Rate limit bad replies
options         KBD_INSTALL_CDEV        # install a CDEV entry in /dev

# Added to to TX buffer problems with so many NICs.
options         NMBCLUSTERS=8192

# Required for NATd to function
options         IPFIREWALL
options         IPDIVERT

# Required for port fowarding?
# options         IPFILTER

# To make an SMP kernel, the next two are needed
#options        SMP                     # Symmetric MultiProcessor Kernel
#options        APIC_IO                 # Symmetric (APIC) I/O

device          isa
# device                eisa
device          pci

# Floppy drives
device          fdc0    at isa? port IO_FD1 irq 6 drq 2
device          fd0     at fdc0 drive 0
# device                fd1     at fdc0 drive 1

# ATA and ATAPI devices
device          ata0    at isa? port IO_WD1 irq 14
device          ata1    at isa? port IO_WD2 irq 15
device          ata
device          atadisk                 # ATA disk drives
device          atapicd                 # ATAPI CDROM drives
# device                atapifd                 # ATAPI floppy drives
# device                atapist                 # ATAPI tape drives
options         ATA_STATIC_ID           #Static device numbering
options         ATA_ENABLE_ATAPI_DMA    #Enable DMA on ATAPI devices

# SCSI Controllers

# RAID controllers

# atkbdc0 controls both the keyboard and the PS/2 mouse
device          atkbdc0 at isa? port IO_KBD
device          atkbd0  at atkbdc? irq 1 flags 0x1
# device                psm0    at atkbdc? irq 12

device          vga0    at isa?

# splash screen/screen saver
pseudo-device   splash

# syscons is the default console driver, resembling an SCO console
device          sc0     at isa? flags 0x100

# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
#device         vt0     at isa?
#options        XSERVER                 # support for X server on a vt
console
#options        FAT_CURSOR              # start with block cursor
# If you have a ThinkPAD, uncomment this along with the rest of the PCVT
lines
#options        PCVT_SCANSET=2          # IBM keyboards are non-std

# Floating point support - do not disable.
device          npx0    at nexus? port IO_NPX irq 13

# Power management support (see LINT for more options)
# device                apm0    at nexus? disable flags 0x20 # Advanced
Power Management

# PCCARD (PCMCIA) support

# Serial (COM) ports
device          sio0    at isa? port IO_COM1 flags 0x10 irq 4
device          sio1    at isa? port IO_COM2 irq 3
# device                sio2    at isa? disable port IO_COM3 irq 5
# device                sio3    at isa? disable port IO_COM4 irq 9

# Parallel port
device          ppc0    at isa? irq 7
device          ppbus           # Parallel port bus (required)
device          lpt             # Printer
# device                plip            # TCP/IP over parallel
device          ppi             # Parallel port interface device
#device         vpo             # Requires scbus and da


# PCI Ethernet NICs.
# device                de              # DEC/Intel DC21x4x (``Tulip'')
# device                fxp             # Intel EtherExpress PRO/100B
(82557, 82558)
# device                tx              # SMC 9432TX (83c170 ``EPIC'')
# device                vx              # 3Com 3c590, 3c595 (``Vortex'')
# device                wx              # Intel Gigabit Ethernet Card
(``Wiseman'')

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device          miibus          # MII bus support
# device                dc              # DEC/Intel 21143 and various
workalikes
# device                pcn             # AMD Am79C79x PCI 10/100 NICs
# device                rl              # RealTek 8129/8139
device          sf              # Adaptec AIC-6915 (``Starfire'')
# device                sis             # Silicon Integrated Systems SiS
900/SiS 7016
# device                ste             # Sundance ST201 (D-Link DFE-550TX)
# device                tl              # Texas Instruments ThunderLAN
# device                vr              # VIA Rhine, Rhine II
# device                wb              # Winbond W89C840F
# device                xl              # 3Com 3c90x (``Boomerang'',
``Cyclone'')

# ISA Ethernet NICs.
# device                ed0     at isa? port 0x280 irq 10 iomem 0xd8000
# device                ex
# device                ep
# device                fe0     at isa? port 0x300
# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
# exists only as a PCMCIA device, so there is no ISA attatement needed
# and resources will always be dynamically assigned by the pccard code.
# device                wi
# Aironet 4500/4800 802.11 wireless NICs. Note: the declaration below will
# work for PCMCIA and PCI cards, as well as ISA cards set to ISA PnP
# mode (the factory default). If you set the switches on your ISA
# card for a manually chosen I/O address and IRQ, you must specify
# those paremeters here.
# device                an
# Xircom Ethernet
# device                xe
# The probe order of these is presently determined by i386/isa/isa_compat.c.
# device                ie0     at isa? port 0x300 irq 10 iomem 0xd0000
#device         le0     at isa? port 0x300 irq 5 iomem 0xd0000
# device                lnc0    at isa? port 0x280 irq 10 drq 0
# device                cs0     at isa? port 0x300
# device                sn0     at isa? port 0x300 irq 10

# Pseudo devices - the number indicates how many units to allocated.
pseudo-device   loop            # Network loopback
pseudo-device   ether           # Ethernet support
# pseudo-device sl      1       # Kernel SLIP
# pseudo-device ppp     1       # Kernel PPP
pseudo-device   tun             # Packet tunnel.
pseudo-device   pty             # Pseudo-ttys (telnet etc)
pseudo-device   md              # Memory "disks"
# pseudo-device gif     4       # IPv6 and IPv4 tunneling
# pseudo-device faith   1       # IPv6-to-IPv4 relaying (translation)

# The `bpf' pseudo-device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# pseudo-device bpf             #Berkeley packet filter


rc.conf:

sendmail_enable="YES"
saver="daemon"
blanktime="180"
font8x8="swiss-8x8"
font8x14="NO"
font8x16="swiss-8x16"
keyrate="fast"
sshd_enable="YES"
inetd_enable="YES"
network_interfaces="sf0 sf5 sf4 sf3 sf2 sf1 lo0"
ifconfig_sf0="inet 128.222.25.114  netmask 255.255.255.0"
ifconfig_sf5="inet 10.2.24.3  netmask 255.255.255.0"
ifconfig_sf4="inet 10.2.23.4  netmask 255.255.255.0"
ifconfig_sf3="inet 10.2.22.4  netmask 255.255.255.0"
ifconfig_sf2="inet 10.2.21.4  netmask 255.255.255.0"
ifconfig_sf1="inet 10.2.20.4  netmask 255.255.255.0"
defaultrouter="128.222.25.253"
hostname="squeakyfromme.rtp.dg.com"
usbd_enable="NO"

gateway_enable="YES"
firewall_enable="YES"
natd_enable="YES"
natd_flags="-s -m"
natd_interface="sf0"


rc.firewall:

/sbin/ipfw -f flush
/sbin/ipfw add divert natd all from any to any via sf0
/sbin/ipfw add pass all from any to any



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




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