Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Apr 2013 17:29:19 -0700
From:      Jeremy Chadwick <jdc@koitsu.org>
To:        Chris Forgeron <cforgeron@acsi.ca>
Cc:        Gleb Smirnoff <glebius@freebsd.org>, "freebsd-stable@freebsd.org" <freebsd-stable@freebsd.org>, Jack Vogel <jack.vogel@intel.com>, John Baldwin <jhb@freebsd.org>
Subject:   Re: kern/165903: mbuf leak
Message-ID:  <20130414002919.GA9076@icarus.home.lan>
In-Reply-To: <46D80686C389884BB0C047851038EC456D8C0F52@AA-EX0.acsi.ca>
References:  <46D80686C389884BB0C047851038EC456D8BCEBC@AA-EX0.acsi.ca> <20130410235347.GA38492@icarus.home.lan> <20130411000818.GA38803@icarus.home.lan> <46D80686C389884BB0C047851038EC456D8C0EF0@AA-EX0.acsi.ca> <20130413235031.GA8212@icarus.home.lan> <46D80686C389884BB0C047851038EC456D8C0F52@AA-EX0.acsi.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Apr 14, 2013 at 12:02:56AM +0000, Chris Forgeron wrote:
> Interesting about the drivers - I will look into that tomorrow, I could be on an older version. I started down that path a little while ago, but when pkng wasn't quite ready, I just reverted to the old ways/ommands that seemed to work. 
> 
> Here is the dump of the requested commands. I will point out the most interesting one first: dmsg
> 
> It's flooded with:
> 
> arp: 43:05:43:05:00:00 is multicast
> arp: 43:05:43:05:00:00 is multicast
> arp: 43:05:43:05:00:00 is multicast
> arp: 43:05:43:05:00:00 is multicast
> arp: 43:05:43:05:00:00 is multicast
> arp: 43:05:43:05:00:00 is multicast
> arp: 43:05:43:05:00:00 is multicast
> arp: 43:05:43:05:00:00 is multicast
> arp: 43:05:43:05:00:00 is multicast
> arp: 43:05:43:05:00:00 is multicast
> arp: 43:05:43:05:00:00 is multicast
> arp: 43:05:43:05:00:00 is multicast
> arp: 43:05:43:05:00:00 is multicast
> arp: 43:05:43:05:00:00 is multicast
> 
> Checking an older 9.0-STABLE from july, I see the same message flood in dmesg, but these machines are not exhausting mbuf.
> 
> Perhaps there is a leak in handling this condition?
> 
> Please note: I will also have this problem with the vmware VMXNET3 driver using vmware's official tools, so it's not just em at fault. 
> 
> Here is the rest. I left pciconf verbose
> 
> Thanks. 
> 
> 
> root@test:/usr/home/aatech # sysctl -a dev.em.0 
> dev.em.0.%desc: Intel(R) PRO/1000 Legacy Network Connection 1.0.5
> dev.em.0.%driver: em
> dev.em.0.%location: slot=0 function=0 handle=\_SB_.PCI0.P2P0.S1F0
> dev.em.0.%pnpinfo: vendor=0x8086 device=0x100f subvendor=0x15ad subdevice=0x0750 class=0x020000
> dev.em.0.%parent: pci2
> dev.em.0.nvm: -1
> dev.em.0.rx_int_delay: 0
> dev.em.0.tx_int_delay: 66
> dev.em.0.rx_abs_int_delay: 66
> dev.em.0.tx_abs_int_delay: 66
> dev.em.0.rx_processing_limit: 100
> dev.em.0.flow_control: 3
> dev.em.0.mbuf_alloc_fail: 0
> dev.em.0.cluster_alloc_fail: 0
> dev.em.0.dropped: 0
> dev.em.0.tx_dma_fail: 0
> dev.em.0.tx_desc_fail1: 0
> dev.em.0.tx_desc_fail2: 0
> dev.em.0.rx_overruns: 0
> dev.em.0.watchdog_timeouts: 0
> dev.em.0.device_control: 1086325321
> dev.em.0.rx_control: 32770
> dev.em.0.fc_high_water: 47104
> dev.em.0.fc_low_water: 45604
> dev.em.0.fifo_workaround: 0
> dev.em.0.fifo_reset: 0
> dev.em.0.txd_head: 23
> dev.em.0.txd_tail: 24
> dev.em.0.rxd_head: 138
> dev.em.0.rxd_tail: 137
> dev.em.0.mac_stats.excess_coll: 0
> dev.em.0.mac_stats.single_coll: 0
> dev.em.0.mac_stats.multiple_coll: 0
> dev.em.0.mac_stats.late_coll: 0
> dev.em.0.mac_stats.collision_count: 0
> dev.em.0.mac_stats.symbol_errors: 0
> dev.em.0.mac_stats.sequence_errors: 0
> dev.em.0.mac_stats.defer_count: 0
> dev.em.0.mac_stats.missed_packets: 0
> dev.em.0.mac_stats.recv_no_buff: 0
> dev.em.0.mac_stats.recv_undersize: 0
> dev.em.0.mac_stats.recv_fragmented: 0
> dev.em.0.mac_stats.recv_oversize: 0
> dev.em.0.mac_stats.recv_jabber: 0
> dev.em.0.mac_stats.recv_errs: 0
> dev.em.0.mac_stats.crc_errs: 0
> dev.em.0.mac_stats.alignment_errs: 0
> dev.em.0.mac_stats.coll_ext_errs: 0
> dev.em.0.mac_stats.xon_recvd: 0
> dev.em.0.mac_stats.xon_txd: 0
> dev.em.0.mac_stats.xoff_recvd: 0
> dev.em.0.mac_stats.xoff_txd: 0
> dev.em.0.mac_stats.total_pkts_recvd: 73008
> dev.em.0.mac_stats.good_pkts_recvd: 49029
> dev.em.0.mac_stats.bcast_pkts_recvd: 0
> dev.em.0.mac_stats.mcast_pkts_recvd: 0
> dev.em.0.mac_stats.rx_frames_64: 0
> dev.em.0.mac_stats.rx_frames_65_127: 45990
> dev.em.0.mac_stats.rx_frames_128_255: 2446
> dev.em.0.mac_stats.rx_frames_256_511: 592
> dev.em.0.mac_stats.rx_frames_512_1023: 1
> dev.em.0.mac_stats.rx_frames_1024_1522: 0
> dev.em.0.mac_stats.good_octets_recvd: 3809187
> dev.em.0.mac_stats.good_octets_txd: 441363
> dev.em.0.mac_stats.total_pkts_txd: 3497
> dev.em.0.mac_stats.good_pkts_txd: 3497
> dev.em.0.mac_stats.bcast_pkts_txd: 0
> dev.em.0.mac_stats.mcast_pkts_txd: 0
> dev.em.0.mac_stats.tx_frames_64: 418
> dev.em.0.mac_stats.tx_frames_65_127: 2678
> dev.em.0.mac_stats.tx_frames_128_255: 131
> dev.em.0.mac_stats.tx_frames_256_511: 213
> dev.em.0.mac_stats.tx_frames_512_1023: 49
> dev.em.0.mac_stats.tx_frames_1024_1522: 8
> dev.em.0.mac_stats.tso_txd: 0
> dev.em.0.mac_stats.tso_ctx_fail: 0
> dev.em.0.wake: 0
> 
> 
> 
> root@test:/usr/home/aatech # cat pciconf.txt
> hostb0@pci0:0:0:0:      class=0x060000 card=0x197615ad chip=0x71908086 rev=0x01 hdr=0x00
>     vendor     = 'Intel Corporation'
>     device     = '440BX/ZX/DX - 82443BX/ZX/DX Host bridge'
>     class      = bridge
>     subclass   = HOST-PCI
> pcib1@pci0:0:1:0:       class=0x060400 card=0x00000000 chip=0x71918086 rev=0x01 hdr=0x01
>     vendor     = 'Intel Corporation'
>     device     = '440BX/ZX/DX - 82443BX/ZX/DX AGP bridge'
>     class      = bridge
>     subclass   = PCI-PCI
> isab0@pci0:0:7:0:       class=0x060100 card=0x197615ad chip=0x71108086 rev=0x08 hdr=0x00
>     vendor     = 'Intel Corporation'
>     device     = '82371AB/EB/MB PIIX4 ISA'
>     class      = bridge
>     subclass   = PCI-ISA
> atapci0@pci0:0:7:1:     class=0x01018a card=0x197615ad chip=0x71118086 rev=0x01 hdr=0x00
>     vendor     = 'Intel Corporation'
>     device     = '82371AB/EB/MB PIIX4 IDE'
>     class      = mass storage
>     subclass   = ATA
>     bar   [20] = type I/O Port, range 32, base 0x10c0, size 16, enabled
> none0@pci0:0:7:3:       class=0x068000 card=0x197615ad chip=0x71138086 rev=0x08 hdr=0x00
>     vendor     = 'Intel Corporation'
>     device     = '82371AB/EB/MB PIIX4 ACPI'
>     class      = bridge
> none1@pci0:0:7:7:       class=0x088000 card=0x074015ad chip=0x074015ad rev=0x10 hdr=0x00
>     vendor     = 'VMware'
>     device     = 'Virtual Machine Communication Interface'
>     class      = base peripheral
>     bar   [10] = type I/O Port, range 32, base 0x1080, size 64, enabled
>     bar   [14] = type Memory, range 64, base 0xd0000000, size 8192, enabled
>     cap 05[40] = MSI supports 1 message, 64 bit 
>     cap 11[58] = MSI-X supports 2 messages in map 0x14
> vgapci0@pci0:0:15:0:    class=0x030000 card=0x040515ad chip=0x040515ad rev=0x00 hdr=0x00
>     vendor     = 'VMware'
>     device     = 'SVGA II Adapter'
>     class      = display
>     subclass   = VGA
>     bar   [10] = type I/O Port, range 32, base 0x10d0, size 16, enabled
>     bar   [14] = type Prefetchable Memory, range 32, base 0xd8000000, size 67108864, enabled
>     bar   [18] = type Memory, range 32, base 0xd0800000, size 8388608, enabled
>     cap 09[40] = vendor (length 0)
> mpt0@pci0:0:16:0:       class=0x010000 card=0x197615ad chip=0x00301000 rev=0x01 hdr=0x00
>     vendor     = 'LSI Logic / Symbios Logic'
>     device     = '53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI'
>     class      = mass storage
>     subclass   = SCSI
>     bar   [10] = type I/O Port, range 32, base 0x1400, size 256, enabled
>     bar   [14] = type Memory, range 64, base 0xd0040000, size 131072, enabled
>     bar   [1c] = type Memory, range 64, base 0xd0020000, size 131072, enabled
> pcib2@pci0:0:17:0:      class=0x060401 card=0x079015ad chip=0x079015ad rev=0x02 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI bridge'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x079015ad
> pcib3@pci0:0:21:0:      class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib4@pci0:0:21:1:      class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib5@pci0:0:21:2:      class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib6@pci0:0:21:3:      class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib7@pci0:0:21:4:      class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib8@pci0:0:21:5:      class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib9@pci0:0:21:6:      class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib10@pci0:0:21:7:     class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib11@pci0:0:22:0:     class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib12@pci0:0:22:1:     class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib13@pci0:0:22:2:     class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib14@pci0:0:22:3:     class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib15@pci0:0:22:4:     class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib16@pci0:0:22:5:     class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib17@pci0:0:22:6:     class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib18@pci0:0:22:7:     class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib19@pci0:0:23:0:     class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib20@pci0:0:23:1:     class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib21@pci0:0:23:2:     class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib22@pci0:0:23:3:     class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib23@pci0:0:23:4:     class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib24@pci0:0:23:5:     class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib25@pci0:0:23:6:     class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib26@pci0:0:23:7:     class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib27@pci0:0:24:0:     class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib28@pci0:0:24:1:     class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib29@pci0:0:24:2:     class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib30@pci0:0:24:3:     class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib31@pci0:0:24:4:     class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib32@pci0:0:24:5:     class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib33@pci0:0:24:6:     class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> pcib34@pci0:0:24:7:     class=0x060400 card=0x07a015ad chip=0x07a015ad rev=0x01 hdr=0x01
>     vendor     = 'VMware'
>     device     = 'PCI Express Root Port'
>     class      = bridge
>     subclass   = PCI-PCI
>     cap 0d[40] = PCI Bridge card=0x07a015ad
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 10[50] = PCI-Express 2 root port slot max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[8c] = MSI supports 1 message, 64 bit, vector masks 
> em0@pci0:2:0:0: class=0x020000 card=0x075015ad chip=0x100f8086 rev=0x01 hdr=0x00
>     vendor     = 'Intel Corporation'
>     device     = '82545EM Gigabit Ethernet Controller (Copper)'
>     class      = network
>     subclass   = ethernet
>     bar   [10] = type Memory, range 64, base 0xd1020000, size 131072, enabled
>     bar   [18] = type Memory, range 64, base 0xd1000000, size 65536, enabled
>     bar   [20] = type I/O Port, range 32, base 0x2000, size 64, enabled
>     cap 01[dc] = powerspec 2  supports D0 D3  current D0
>     cap 07[e4] = PCI-X 64-bit supports 133MHz, 2048 burst read, 1 split transaction
> uhci0@pci0:2:2:0:       class=0x0c0300 card=0x197615ad chip=0x077415ad rev=0x00 hdr=0x00
>     vendor     = 'VMware'
>     device     = 'USB1.1 UHCI Controller'
>     class      = serial bus
>     subclass   = USB
>     bar   [20] = type I/O Port, range 32, base 0x2040, size 32, enabled
> ehci0@pci0:2:3:0:       class=0x0c0320 card=0x077015ad chip=0x077015ad rev=0x00 hdr=0x00
>     vendor     = 'VMware'
>     device     = 'USB2 EHCI Controller'
>     class      = serial bus
>     subclass   = USB
>     bar   [10] = type Memory, range 32, base 0xd1010000, size 4096, enabled
> none2@pci0:3:0:0:       class=0x020000 card=0x07b015ad chip=0x07b015ad rev=0x01 hdr=0x00
>     vendor     = 'VMware'
>     device     = 'VMXNET3 Ethernet Controller'
>     class      = network
>     subclass   = ethernet
>     bar   [10] = type Memory, range 32, base 0xd2404000, size 4096, enabled
>     bar   [14] = type Memory, range 32, base 0xd2403000, size 4096, enabled
>     bar   [18] = type Memory, range 32, base 0xd2400000, size 8192, enabled
>     bar   [1c] = type I/O Port, range 32, base 0x4000, size 16, enabled
>     cap 01[40] = powerspec 3  supports D0 D1 D2 D3  current D0
>     cap 10[48] = PCI-Express 2 endpoint max data 128(128) link x32(x32)
>                  speed 5.0(5.0)
>     cap 05[84] = MSI supports 1 message, 64 bit 
>     cap 11[9c] = MSI-X supports 25 messages in map 0x18
> ecap 0003[100] = Serial 1 ff5650003a0d80fe

The multicast messages are coming from src/sys/netinet/if_ether.c.
Reviewing that code:

http://svnweb.freebsd.org/base/stable/9/sys/netinet/if_ether.c

r241992 catches my eye, referring to the sysctl named
net.link.ether.inet.allow_multicast, which defaults to 0.  Note
the commit message, however:

Merge 240073 from head:
  Provide a sysctl switch that allows to install ARP entries
  with multicast bit set. FreeBSD refuses to install such
  entries since 9.0, and this broke installations running
  Microsoft NLB, which are violating standards.

  Tested by:    Tarasov Oleg <oleg_tarasov sg-tea.com>

The relevant logging line code is:

549         if (allow_multicast == 0 && ETHER_IS_MULTICAST(ar_sha(ah))) {
550                 log(LOG_NOTICE, "arp: %*D is multicast\n",
551                     ifp->if_addrlen, (u_char *)ar_sha(ah), ":");
552                 return;
553         }

Where allow_multicast correlates directly with the aforementioned
sysctl, and ETHER_IS_MULTICAST is a macro in src/sys/net/ethernet.h

 73 #define ETHER_IS_MULTICAST(addr) (*(addr) & 0x01) /* is address mcast/bcast? */

I'm not familiar with what ar_sha() does, but the macro checks to see if
the dereferenced value has bit 0 set or not.

I do not think setting net.link.ether.inet.allow_multicast=1 would
alleviate the mbuf issue, based on the code I've looked at.  I do see
some code in src/sys/net/if_ethersubr.c that relates to mbufs and
ETHER_IS_MULTICAST() conditions, however.

I'm CC'ing the committer, Gleb Smirnoff, who might have some more
insights on what's going on here, where in the kernel the leak may be,
and/or how to track it down.

-- 
| Jeremy Chadwick                                   jdc@koitsu.org |
| UNIX Systems Administrator                http://jdc.koitsu.org/ |
| Mountain View, CA, US                                            |
| Making life hard for others since 1977.             PGP 4BD6C0CB |



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