Broadcom bnxt driver issue with promisc mode

From: Michael Pounov <misho_at_elwix.org>
Date: Wed, 03 Nov 2021 19:59:52 UTC
Hello 

After survey about solution for Broadcom bnxt driver issue with promiscous mode. I am not found any normal solution with that situation.
Only workaround to using promiscous mode to have normal operations with these cards. This isn't normal by me!

I look and do some debug on bnxt driver. Issue came from hardware filter in ASIC. On init driver and its ring buffers default states of filter are all block. Also I saw that we have not ability to append configured VLANs on the host into broadcom vlan tag list to be allowed for further processing from network stack.
Then my solution is simple and effective in such situation. I append to filter mask bit for passing further for processing all tagged vlans and native/primary vlan too.

This is enough to have normal packet processing for bnxt driver.
We have such BCM57414 NetXtreme-E 10Gb/25Gb RDMA Ethernet Controller. I tested patch on them.

Patch is make on FreeBSD 14.0-CURRENT #3 main-n244973-c02a28754bc-dirty: Tue Nov  2 20:53:08 EET 2021

If you are thinking it is ok. You can feel free to merge it to FreeBSD existing driver.

P.S. I found other small issues, but they are not show stoppers now for us.

Br

Michael Pounov
CloudSigma AG
ELWIX.ORG  






-- 
Michael Pounov <misho@elwix.org>