Problem with igb(4) updated to version 2.0.7

Eugene Grosbein egrosbein at rdtc.ru
Thu Dec 2 06:18:25 UTC 2010


Hi!

I'm building new router using 8.2-PRERELEASE containing new igb(4) driver.
I use SuperMicro SuperServer 5016T-MTFB based on X8STi-F motherboard
with add-on Intel Gigabit ET Dual Port Server Adapter in PCIe slot.

pciconf -lv shows:

igb0 at pci0:3:0:0:        class=0x020000 card=0xa03c8086 chip=0x10c98086 rev=0x01 hdr=0x00
    class      = network
    subclass   = ethernet
igb1 at pci0:3:0:1:        class=0x020000 card=0xa03c8086 chip=0x10c98086 rev=0x01 hdr=0x00
    class      = network
    subclass   = ethernet

I connect both ports to Cisco 7606 core router and they link
after "ifconfig ibg1 up" command.

But "ifconfig igb1 down" does NOT bring link down:
- ifconfig igb still shows "status: active" (but not UP nor RUNNING);
- LEDs are on (both SuperServer's and Cisco's)
- Cisco also shows interfaces in "up" state.

That's bad as I plan to use EtherChannel/lagg configuration
and need working up/down management.

Driver igb(4) is not compiled into kernel, it's loaded using if_igb.ko.

I've rebuilt kernel module changing if_igb.h to get debugging output:

#define DEBUG_INIT  1
#define DEBUG_IOCTL 1
#define DEBUG_HW    1

Now I have in kernel log after single "ifconfig igb1 down" command:

Dec  2 11:46:11 k-45-pc-2 kernel: ioctl rcv'd:              SIOCSIFFLAGS (Set Interface Flags)
Dec  2 11:46:11 k-45-pc-2 kernel: igb_stop: begin
Dec  2 11:46:13 k-45-pc-2 kernel: ioctl rcv'd:              SIOCxIFMEDIA (Get/Set Interface Media)
Dec  2 11:46:13 k-45-pc-2 kernel: igb_media_status: begin
Dec  2 11:46:13 k-45-pc-2 kernel: ioctl rcv'd:              SIOCxIFMEDIA (Get/Set Interface Media)
Dec  2 11:46:13 k-45-pc-2 kernel: igb_media_status: begin
Dec  2 11:46:13 k-45-pc-2 kernel: ioctl rcv'd:              SIOCxIFMEDIA (Get/Set Interface Media)
Dec  2 11:46:13 k-45-pc-2 kernel: igb_media_status: begin
Dec  2 11:47:52 k-45-pc-2 kernel: ioctl rcv'd:              SIOCxIFMEDIA (Get/Set Interface Media)
Dec  2 11:47:52 k-45-pc-2 kernel: igb_media_status: begin
Dec  2 11:47:52 k-45-pc-2 kernel: 
Dec  2 11:47:52 k-45-pc-2 kernel: ioctl rcv'd:              SIOCxIFMEDIA (Get/Set Interface Media)
Dec  2 11:47:52 k-45-pc-2 kernel: igb_media_status: begin
Dec  2 11:47:52 k-45-pc-2 kernel: ioctl rcv'd:              SIOCxIFMEDIA (Get/Set Interface Media)
Dec  2 11:47:52 k-45-pc-2 kernel: igb_media_status: begin
Dec  2 11:51:15 k-45-pc-2 kernel: ioctl rcv'd:              SIOCxIFMEDIA (Get/Set Interface Media)
Dec  2 11:51:15 k-45-pc-2 kernel: igb_media_status: begin
Dec  2 11:51:15 k-45-pc-2 kernel: ioctl rcv'd:              SIOCxIFMEDIA (Get/Set Interface Media)
Dec  2 11:51:15 k-45-pc-2 kernel: igb_media_status: begin
Dec  2 11:51:15 k-45-pc-2 kernel: ioctl rcv'd:              SIOCxIFMEDIA (Get/Set Interface Media)
Dec  2 11:51:15 k-45-pc-2 kernel: igb_media_status: begin
Dec  2 12:05:16 k-45-pc-2 kernel: ioctl rcv'd:              SIOCxIFMEDIA (Get/Set Interface Media)
Dec  2 12:05:16 k-45-pc-2 kernel: igb_media_status: begin
Dec  2 12:05:16 k-45-pc-2 kernel: ioctl rcv'd:              SIOCxIFMEDIA (Get/Set Interface Media)
Dec  2 12:05:16 k-45-pc-2 kernel: igb_media_status: begin
Dec  2 12:05:16 k-45-pc-2 kernel: ioctl rcv'd:              SIOCxIFMEDIA (Get/Set Interface Media)
Dec  2 12:05:16 k-45-pc-2 kernel: igb_media_status: begin
Dec  2 12:05:16 k-45-pc-2 kernel:

If I do "ifconfig igb1 up" now, link is brought down for short time then up.

This SuperServer box has two built-in em(4) ports that have not this problem.
How should I fix this?

Eugene Grosbein


More information about the freebsd-net mailing list