configuring if_bridge with stp at boot in /etc/rc.conf

Nik Lam freebsdnik at j2d.lam.net.au
Sun Mar 5 14:29:33 PST 2006


Andrew Thompson wrote:
> On Mon, Mar 06, 2006 at 07:17:29AM +1100, Nik Lam wrote:
>   
>> I've tried rebuilding a kernel with
>>
>> OPTIONS if_bridge
>>
>> but this problem still happens.  To re-iterate, when I try to activate 
>> the bridge with STP parameters in rc.conf, one of the bridge interfaces 
>> goes into forwarding mode, but the other interfaces remains in disabled 
>> mode.
>> Here is what I have in rc.conf:
>>
>> #===============
>> ifconfig_em1="up"
>> ifconfig_em2="up"
>>
>> cloned_interfaces="bridge0"
>>
>> ifconfig_bridge0="addm em1 stp em1 addm em2 stp em2 hellotime 2 maxage 5 
>> fwddelay 6  priority 10 up"
>> #===============
>>
>>     
>
> Can you post the full output from ifconfig and tell us what version of
> the OS you are running.
>
>   
Hi Andrew,

Thanks for your interest.  I've included the ifconfig output, my full 
rc.conf, the kernel config file as well as dmesg output below.

I did a cvsup at 2006-03-03 at about 0200hrs UTC from a local repository 
(cvsup2.au.freebsd.org) and rebuilt the world and kernel from that.

Also, here is a ref to my original post which has some background on the 
hardware and what I'm trying to acheive.

http://lists.freebsd.org/mailman/htdig/freebsd-net/2006-March/009910.html

Here's what I see about a minute after booting up.  If I run it earlier 
I get to see the em1 member of bridge0 go through the listening and 
learning modes, but em2 remains disabled throughout.


# +++++++++++++ifconfig output +++++++++++++
hashi-0# ifconfig
fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet 192.168.0.245 netmask 0xffffff00 broadcast 192.168.0.255
        ether 00:d0:b7:c8:61:6a
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet 192.168.100.245 netmask 0xffffff00 broadcast 192.168.100.255
        ether 00:0e:0c:aa:d5:b7
        media: Ethernet autoselect
        status: no carrier
em1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        ether 00:04:23:c9:1d:c8
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
em2: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        ether 00:04:23:c9:1d:c9
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> mtu 1500
pfsync0: flags=0<> mtu 2020
pflog0: flags=0<> mtu 33208
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet 127.0.0.1 netmask 0xff000000
bridge0: flags=8043<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
        ether ac:de:48:b3:56:79
        priority 32768 hellotime 2 fwddelay 15 maxage 20
        member: em2 flags=7<LEARNING,DISCOVER,STP>
                port 4 priority 20 path cost 55 disabled
        member: em1 flags=7<LEARNING,DISCOVER,STP>
                port 3 priority 10 path cost 10 forwarding
hashi-0#
#+++++++++++++




#+++++++++++++rc.conf+++++++++++++
defaultrouter="192.168.0.1"
hostname="hashi-0.sublimeip.net"

ifconfig_em1="-txcsum up"
ifconfig_em2="-txcsum up"

cloned_interfaces="bridge0"

ifconfig_bridge0="addm em1 stp em1 addm em2 stp em2 ifpriority em1 10 
ifpriority
 em2 20 ifpathcost em1 10 ifpathcost 20 hellotime 2 maxage 5 fwddelay 6  
priorit
y 10 up"

ifconfig_fxp0="inet 192.168.0.245  netmask 255.255.255.0"

ifconfig_em0="inet 192.168.100.245 -txcsum netmask 255.255.255.0"

#pf_enable="NO"                 # Enable PF (load module if required)
#pf_rules="/etc/pf.conf"         # rules definition file for PF
#pf_flags=""                     # additional flags for pfctl startup
#pflog_enable="YES"              # start pflogd(8)
#pflog_logfile="/var/log/pflog"  # where pflogd should store the logfile
#pflog_flags=""                  # additional flags for pflogd startup

#pfsync_enable="YES"
#pfsync_syncdev="em0"

ntpdate_enable="YES"
ntpdate_flags="au.pool.ntp.org"
sshd_enable="YES"
usbd_enable="NO"
sendmail_enable="NO"
#+++++++++++++



#+++++++++++++kernel config file+++++++++++++
#
#

machine        i386
cpu        I686_CPU
ident        HASHISUBLIME00

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

options        SMP


#options     SCHED_ULE        # ULE scheduler
options     SCHED_4BSD        # 4BSD scheduler
options     PREEMPTION        # Enable kernel thread preemption
options     INET            # InterNETworking
#options     INET6            # IPv6 communications protocols
options     FFS            # Berkeley Fast Filesystem
options     SOFTUPDATES        # Enable FFS soft updates support
options     UFS_ACL            # Support for access control lists
options     UFS_DIRHASH        # Improve performance on big directories
options     MD_ROOT            # MD is a potential root device
options     NFSCLIENT        # Network Filesystem Client
options     NFSSERVER        # Network Filesystem Server
options     NFS_ROOT        # NFS usable as /, requires NFSCLIENT
options     MSDOSFS            # MSDOS Filesystem
options     CD9660            # ISO 9660 Filesystem
options     PROCFS            # Process filesystem (requires PSEUDOFS)
options     PSEUDOFS        # Pseudo-filesystem framework
options     GEOM_GPT        # GUID Partition Tables.
options     COMPAT_43        # Compatible with BSD 4.3 [KEEP THIS!]
options     COMPAT_FREEBSD4        # Compatible with FreeBSD4
options     COMPAT_FREEBSD5        # Compatible with FreeBSD5
options     SCSI_DELAY=5000        # Delay (in ms) before probing SCSI
options     KTRACE            # ktrace(1) support
options     SYSVSHM            # SYSV-style shared memory
options     SYSVMSG            # SYSV-style message queues
options     SYSVSEM            # SYSV-style semaphores
options     _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time 
extensions
options     KBD_INSTALL_CDEV    # install a CDEV entry in /dev
options     AHC_REG_PRETTY_PRINT    # Print register bitfields in debug
                    # output.  Adds ~128k to driver.
options     AHD_REG_PRETTY_PRINT    # Print register bitfields in debug
                    # output.  Adds ~215k to driver.
options     ADAPTIVE_GIANT        # Giant mutex is adaptive.

device        apic            # I/O APIC

# Bus support.
device        eisa
device        pci

# Floppy drives
device        fdc

# ATA and ATAPI devices
device        ata
device        atadisk        # ATA disk drives
device        ataraid        # ATA RAID drives
device        atapicd        # ATAPI CDROM drives
device        atapifd        # ATAPI floppy drives
device        atapist        # ATAPI tape drives
options     ATA_STATIC_ID    # Static device numbering

# SCSI Controllers
#device        ahb        # EISA AHA1742 family
#device        ahc        # AHA2940 and onboard AIC7xxx devices
#device        ahd        # AHA39320/29320 and onboard AIC79xx devices
#device        amd        # AMD 53C974 (Tekram DC-390(T))
#device        isp        # Qlogic family
#device     ispfw        # Firmware for QLogic HBAs- normally a module

#device        mpt        # LSI-Logic MPT-Fusion
#device        ncr        # NCR/Symbios Logic
#device        sym        # NCR/Symbios Logic (newer chipsets + those of 
`ncr')
#device        trm        # Tekram DC395U/UW/F DC315U adapters

#device        adv        # Advansys SCSI adapters
#device        adw        # Advansys wide SCSI adapters
#device        aha        # Adaptec 154x SCSI adapters
#device        aic        # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
#device        bt        # Buslogic/Mylex MultiMaster SCSI adapters

#device        ncv        # NCR 53C500
#device        nsp        # Workbit Ninja SCSI-3
#device        stg        # TMC 18C30/18C50

# SCSI peripherals
device        scbus        # SCSI bus (required for SCSI)
#device        ch        # SCSI media changers
device        da        # Direct Access (disks)
device        sa        # Sequential Access (tape etc)
device        cd        # CD
device        pass        # Passthrough device (direct SCSI access)
device        ses        # SCSI Environmental Services (and SAF-TE)

# RAID controllers interfaced to the SCSI subsystem
device        amr        # AMI MegaRAID
#device        arcmsr        # Areca SATA II RAID
#device        asr        # DPT SmartRAID V, VI and Adaptec SCSI RAID
#device        ciss        # Compaq Smart RAID 5*
#device        dpt        # DPT Smartcache III, IV - See NOTES for options
#device        hptmv        # Highpoint RocketRAID 182x
#device        iir        # Intel Integrated RAID
#device        ips        # IBM (Adaptec) ServeRAID
#device        mly        # Mylex AcceleRAID/eXtremeRAID
#device        twa        # 3ware 9000 series PATA/SATA RAID

# RAID controllers
#device        aac        # Adaptec FSA RAID
#device        aacp        # SCSI passthrough for aac (requires CAM)
#device        ida        # Compaq Smart RAID
#device        mlx        # Mylex DAC960 family
#device        pst        # Promise Supertrak SX6000
#device        twe        # 3ware ATA RAID

# atkbdc0 controls both the keyboard and the PS/2 mouse
device        atkbdc        # AT keyboard controller
device        atkbd        # AT keyboard
device        psm        # PS/2 mouse

device        vga        # VGA video card driver

device        splash        # Splash screen and screen saver support

# syscons is the default console driver, resembling an SCO console
device        sc

# Enable this for the pcvt (VT220 compatible) console driver
#device        vt
#options     XSERVER        # support for X server on a vt console
#options     FAT_CURSOR    # start with block cursor

#device        agp        # support several AGP chipsets

# Power management support (see NOTES for more options)
#device        apm
# Add suspend/resume support for the i8254.
device        pmtimer

# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
#device        cbb        # cardbus (yenta) bridge
#device        pccard        # PC Card (16-bit) bus
#device        cardbus        # CardBus (32-bit) bus

# Serial (COM) ports
device        sio        # 8250, 16[45]50 based serial ports

# Parallel port
device        ppc
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

# If you've got a "dumb" serial or parallel PCI card that is
# supported by the puc(4) glue driver, uncomment the following
# line to enable it (connects to the sio and/or ppc drivers):
#device        puc

# PCI Ethernet NICs.
#device        de        # DEC/Intel DC21x4x (``Tulip'')
device        em        # Intel PRO/1000 adapter Gigabit Ethernet Card
#device        ixgb        # Intel PRO/10GbE Ethernet Card
#device        txp        # 3Com 3cR990 (``Typhoon'')
#device        vx        # 3Com 3c590, 3c595 (``Vortex'')

# 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        bfe        # Broadcom BCM440x 10/100 Ethernet
#device        bge        # Broadcom BCM570xx Gigabit Ethernet
#device        dc        # DEC/Intel 21143 and various workalikes
device        fxp        # Intel EtherExpress PRO/100B (82557, 82558)
#device        lge        # Level 1 LXT1001 gigabit Ethernet
#device        nge        # NatSemi DP83820 gigabit Ethernet
#device        nve        # nVidia nForce MCP on-board Ethernet Networking
#device        pcn        # AMD Am79C97x PCI 10/100(precedence over 'lnc')
#device        re        # RealTek 8139C+/8169/8169S/8110S
#device        rl        # RealTek 8129/8139
#device        sf        # Adaptec AIC-6915 (``Starfire'')
#device        sis        # Silicon Integrated Systems SiS 900/SiS 7016
#device        sk        # SysKonnect SK-984x & SK-982x gigabit Ethernet
#device        ste        # Sundance ST201 (D-Link DFE-550TX)
#device        ti        # Alteon Networks Tigon I/II gigabit Ethernet
#device        tl        # Texas Instruments ThunderLAN
#device        tx        # SMC EtherPower II (83c170 ``EPIC'')
#device        vge        # VIA VT612x gigabit Ethernet
#device        vr        # VIA Rhine, Rhine II
#device        wb        # Winbond W89C840F
#device        xl        # 3Com 3c90x (``Boomerang'', ``Cyclone'')

# ISA Ethernet NICs.  pccard NICs included.
#device        cs        # Crystal Semiconductor CS89x0 NIC
# 'device ed' requires 'device miibus'
#device        ed        # NE[12]000, SMC Ultra, 3c503, DS8390 cards
#device        ex        # Intel EtherExpress Pro/10 and Pro/10+
#device        ep        # Etherlink III based cards
#device        fe        # Fujitsu MB8696x based cards
#device        ie        # EtherExpress 8/16, 3C507, StarLAN 10 etc.
#device        lnc        # NE2100, NE32-VL Lance Ethernet cards
#device        sn        # SMC's 9000 series of Ethernet chips
#device        xe        # Xircom pccard Ethernet

# Wireless NIC cards
#device        wlan        # 802.11 support
#device        an        # Aironet 4500/4800 802.11 wireless NICs.
#device        awi        # BayStack 660 and others
#device        ral        # Ralink Technology RT2500 wireless NICs.
#device        wi        # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device        wl        # Older non 802.11 Wavelan wireless NIC.

# Pseudo devices.
device        loop        # Network loopback
device        random        # Entropy device
device        ether        # Ethernet support
device        sl        # Kernel SLIP
device        ppp        # Kernel PPP
device        tun        # Packet tunnel.
device        pty        # Pseudo-ttys (telnet etc)
device        md        # Memory "disks"
device        gif        # IPv6 and IPv4 tunneling
device        faith        # IPv6-to-IPv4 relaying (translation)

# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device        bpf        # Berkeley packet filter

# USB support
device        uhci        # UHCI PCI->USB interface
device        ohci        # OHCI PCI->USB interface
device        ehci        # EHCI PCI->USB interface (USB 2.0)
device        usb        # USB Bus (required)
#device        udbp        # USB Double Bulk Pipe devices
device        ugen        # Generic
device        uhid        # "Human Interface Devices"
device        ukbd        # Keyboard
device        ulpt        # Printer
device        umass        # Disks/Mass storage - Requires scbus and da
device        ums        # Mouse
#device        ural        # Ralink Technology RT2500USB wireless NICs
#device        urio        # Diamond Rio 500 MP3 player
#device        uscanner    # Scanners
# USB Ethernet, requires miibus
#device        aue        # ADMtek USB Ethernet
#device        axe        # ASIX Electronics USB Ethernet
#device        cdce        # Generic USB over Ethernet
#device        cue        # CATC USB Ethernet
#device        kue        # Kawasaki LSI USB Ethernet
#device        rue        # RealTek RTL8150 USB Ethernet

# FireWire support
#device        firewire    # FireWire bus code
#device        sbp        # SCSI over FireWire (Requires scbus and da)
#device        fwe        # Ethernet over FireWire (non-standard!)

####
# Stuff for firewall bridge
#

# Bridge support
device          if_bridge

# PF support
device          pf
device          pflog
device          pfsync

# ALTQ support
options         ALTQ
options         ALTQ_CBQ        # Class Bases Queuing (CBQ)
options         ALTQ_RED        # Random Early Detection (RED)
options         ALTQ_RIO        # RED In/Out
options         ALTQ_HFSC       # Hierarchical Packet Scheduler (HFSC)
options         ALTQ_PRIQ       # Priority Queuing (PRIQ)
options         ALTQ_NOPCC      # Required for SMP build

# other stuff
options         IPSTEALTH
options         HZ=1000

#+++++++++++++




#+++++++++++++dmesg+++++++++++++
Copyright (c) 1992-2006 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
    The Regents of the University of California. All rights reserved.
FreeBSD 6.1-PRERELEASE #0: Fri Mar  3 18:55:16 EST 2006
    root at hashi-0.sublimeip.net:/usr/obj/usr/src/sys/HASHISUBLIME00
ACPI APIC Table: <PTLTD    APIC  >
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel Pentium III (698.81-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x683  Stepping = 3
  
Features=0x387fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,PN,MMX,FXSR,SSE>
real memory  = 536805376 (511 MB)
avail memory = 515796992 (491 MB)
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 cpu0 (BSP): APIC ID:  1
 cpu1 (AP): APIC ID:  0
MADT: Forcing active-low polarity and level trigger for SCI
ioapic0 <Version 1.1> irqs 0-23 on motherboard
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <HP HWPC203> on motherboard
Timecounter "ACPI-safe" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x8008-0x800b on acpi0
cpu0: <ACPI CPU> on acpi0
cpu1: <ACPI CPU> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
isab0: <PCI-ISA bridge> at device 4.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel PIIX4 UDMA33 controller> port 
0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x1050-0x105f at device 4.1 on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0
uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0x1060-0x107f irq 
19 at device 4.2 on pci0
uhci0: [GIANT-LOCKED]
usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
pci0: <bridge> at device 4.3 (no driver attached)
pcib1: <ACPI PCI-PCI bridge> at device 7.0 on pci0
pci1: <ACPI PCI bus> on pcib1
pcib2: <PCI-PCI bridge> at device 2.0 on pci1
pci2: <PCI bus> on pcib2
amr0: <LSILogic MegaRAID 1.53> mem 0xfa800000-0xfabfffff irq 18 at 
device 2.1 on pci1
amr0: <Series 466> Firmware F.02.04, BIOS B.02.02, 16MB RAM
fxp0: <Intel 82559 Pro/100 Ethernet> port 0x9400-0x943f mem 
0xfa300000-0xfa300fff,0xfa200000-0xfa2fffff irq 19 at device 3.0 on pci1
miibus0: <MII bus> on fxp0
inphy0: <i82555 10/100 media interface> on miibus0
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp0: Ethernet address: 00:d0:b7:c8:61:6a
pci1: <mass storage, SCSI> at device 4.0 (no driver attached)
em0: <Intel(R) PRO/1000 Network Connection Version - 3.2.18> port 
0x1000-0x103f mem 0xfa0a0000-0xfa0bffff,0xfa080000-0xfa09ffff irq 16 at 
device 8.0 on pci0
em0: Ethernet address: 00:0e:0c:aa:d5:b7
em1: <Intel(R) PRO/1000 Network Connection Version - 3.2.18> port 
0x1080-0x10bf mem 0xfa0c0000-0xfa0dffff,0xfa000000-0xfa03ffff irq 17 at 
device 9.0 on pci0
em1: Ethernet address: 00:04:23:c9:1d:c8
em2: <Intel(R) PRO/1000 Network Connection Version - 3.2.18> port 
0x10c0-0x10ff mem 0xfa0e0000-0xfa0fffff,0xfa040000-0xfa07ffff irq 18 at 
device 9.1 on pci0
em2: Ethernet address: 00:04:23:c9:1d:c9
pci0: <display, VGA> at device 13.0 (no driver attached)
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
sio0: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 flags 0x10 on 
acpi0
sio0: type 16550A
fdc0: <floppy drive controller> port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0
fdc0: [FAST]
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
sio1: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 on acpi0
sio1: type 16550A
ppc0: <Standard parallel printer port> port 0x378-0x37f irq 7 on acpi0
ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE mode
ppbus0: <Parallel port bus> on ppc0
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
pmtimer0 on isa0
orm0: <ISA Option ROMs> at iomem 
0xc0000-0xc7fff,0xc8000-0xc87ff,0xc8800-0xc97ff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounters tick every 1.000 msec
acd0: CDROM <CD-224E/1.5A> at ata0-master PIO4
amrd0: <LSILogic MegaRAID logical drive> on amr0
amrd0: 8677MB (17770496 sectors) RAID 1 (optimal)
SMP: AP CPU #1 Launched!
Trying to mount root from ufs:/dev/amrd0s1a
bridge0: Ethernet address: ac:de:48:b3:56:79
em1: link state changed to UP

#+++++++++++++





More information about the freebsd-net mailing list