Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 2 Oct 2024 03:42:14 -0400
From:      Mark Johnston <markj@freebsd.org>
To:        Franco Fichtner <franco@opnsense.org>
Cc:        Zhenlei Huang <zlei@freebsd.org>, FreeBSD Net <freebsd-net@freebsd.org>
Subject:   Re: CALL FOR TEST axgbe promisc mode
Message-ID:  <Zvz5VjK9V0lsxPQ8@nuc>
In-Reply-To: <54063277-FDC6-4B69-914E-08044E09346F@opnsense.org>
References:  <31932BD6-8427-4E68-8496-81AADCE9E290@FreeBSD.org> <54063277-FDC6-4B69-914E-08044E09346F@opnsense.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Oct 01, 2024 at 12:46:07PM +0000, Franco Fichtner wrote:
> Hi,
> 
> > On 1. Oct 2024, at 02:47, Zhenlei Huang <zlei@FreeBSD.org> wrote:
> > 
> > The test plan is simple, either of the following should suffice:
> > 
> > • Do traffic sniffing on axgbe interface. The interface will enter promisc mode and should see packets not for us.
> 
> I tested this with and without the patch and it's inconclusive:
> 
> 1. tcpdump sees foreign packets with and without patch
> 2. tcpdump -p sees foreign packets with and without patch

That's somewhat surprising.

> 
> This oddly enough matches my expectation that nobody raised issues about
> promisc not working so far, but it leaves the question if we are/I am testing the
> right thing?

I think you are.  BPF uses ifpromisc() to enable promiscuous mode, and
tcpdump uses that interface rather than setting IFF_PPROMISC directly,
and without the patch I expect that that's a bit broken.

There is perhaps an unrelated driver bug there.  I wonder what flags get
printed by ifconfig before and during your experiments.  It'd also be
useful to try enabling debug logging (sysctl
dev.ax.0.axgbe_debug_level=1, I think) to see if axgbe_if_promisc_set()
is getting executed as expected.

> 
> 
> Cheers,
> Franco
> 
> ax0: <AMD 10 Gigabit Ethernet Driver> mem 0x80160000-0x8017ffff,0x80140000-0x8015ffff,0x80188000-0x80189fff at device 0.4 on pci6
> ax0: Using 512 TX descriptors and 512 RX descriptors
> ax0: Using 4 RX queues 4 TX queues
> ax0: Using MSI-X interrupts with 8 vectors
> ax0: Ethernet address: XX:XX:XX:XX:XX:XX
> ax0: xgbe_config_sph_mode: SPH disabled in channel 0
> ax0: xgbe_config_sph_mode: SPH disabled in channel 1
> ax0: xgbe_config_sph_mode: SPH disabled in channel 2
> ax0: xgbe_config_sph_mode: SPH disabled in channel 3
> ax0: RSS Enabled
> ax0: Receive checksum offload Enabled
> ax0: VLAN filtering Enabled
> ax0: VLAN Stripping Enabled
> ax0: Checking GPIO expander validity
> ax0: GPIO configuration valid
> ax0: SFP detected:
> ax0:   vendor: FS               ax0:   part number:    SFP-10G-T        ax0:   revision level: A    ax0:   serial number:  XXXXXXXXXXX      ax0: netmap queues/slots: TX 4/512, RX 4/512
> ax0: Link is UP - 10Gbps/Full - flow control off
> ax0: link state changed to UP
> ax0: xgbe_config_sph_mode: SPH disabled in channel 0
> ax0: xgbe_config_sph_mode: SPH disabled in channel 1
> ax0: xgbe_config_sph_mode: SPH disabled in channel 2
> ax0: xgbe_config_sph_mode: SPH disabled in channel 3
> ax0: RSS Enabled
> ax0: Receive checksum offload Disabled
> ax0: VLAN filtering Disabled
> ax0: VLAN Stripping Disabled
> ax0: promiscuous mode enabled
> ax0: promiscuous mode disabled



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