See https://svnweb.freebsd.org/base/head/sys/dev/vnic/nicvf_main.c?view=markup#l498 and l516. nicvf_set_multicast is not implemented.
Note that the Linux driver which was used for porting (Cavium provided a BSD licensed version) also uses promiscuous mode: https://github.com/torvalds/linux/blob/master/drivers/net/ethernet/cavium/thunder/thunder_bgx.c#L889
A commit references this bug: Author: emaste Date: Tue Nov 14 16:31:12 UTC 2017 New revision: 325811 URL: https://svnweb.freebsd.org/changeset/base/325811 Log: vnic: report that the driver supports multicast The driver is currently hardcoded to force promiscuous mode, so all of the MAC filtering code is presently unused and multicast should "just work." Report to the higher layers that multicast is supported. PR: 223573 Reported by: bz Sponsored by: The FreeBSD Foundation, Packet.net (hardware) Changes: head/sys/dev/vnic/nicvf_main.c
A commit references this bug: Author: emaste Date: Tue Nov 21 13:59:40 UTC 2017 New revision: 326059 URL: https://svnweb.freebsd.org/changeset/base/326059 Log: MFC r325811: vnic: report that the driver supports multicast The driver is currently hardcoded to force promiscuous mode, so all of the MAC filtering code is presently unused and multicast should "just work." Report to the higher layers that multicast is supported. PR: 223573 Reported by: bz Sponsored by: The FreeBSD Foundation Changes: _U stable/11/ stable/11/sys/dev/vnic/nicvf_main.c
Leave open: we report that the interface supports multicast, but do not actually configure multicast rx filters in the driver yet.
batch change: For bugs that match the following - Status Is In progress AND - Untouched since 2018-01-01. AND - Affects Base System OR Documentation DO: Reset to open status. Note: I did a quick pass but if you are getting this email it might be worthwhile to double check to see if this bug ought to be closed.
Move to 13.x tracking PR - if we're able to take on work for the Cavium Octeon TX family (i.e., basically embedded ThunderX) this issue will be investigated as part of that work.
A commit references this bug: Author: emaste Date: Sun Sep 1 16:53:17 UTC 2019 New revision: 351664 URL: https://svnweb.freebsd.org/changeset/base/351664 Log: vnic: correct and simplify SIOCSIFFLAGS PR: 223573, 223575 Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D13028 Changes: head/sys/dev/vnic/nicvf_main.c
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=29e9b487c1d427409a8bf1f893bc71a57c76f4b0 commit 29e9b487c1d427409a8bf1f893bc71a57c76f4b0 Author: Ed Maste <emaste@FreeBSD.org> AuthorDate: 2021-07-28 18:08:36 +0000 Commit: Ed Maste <emaste@FreeBSD.org> CommitDate: 2021-07-28 18:09:32 +0000 vnic: add TODO list item for multicast filter support PR: 223573 sys/dev/vnic/nic_main.c | 1 + 1 file changed, 1 insertion(+)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=a60685ffbc743e417972390ce6674ce38918a115 commit a60685ffbc743e417972390ce6674ce38918a115 Author: Ed Maste <emaste@FreeBSD.org> AuthorDate: 2021-07-27 21:51:21 +0000 Commit: Ed Maste <emaste@FreeBSD.org> CommitDate: 2022-02-12 19:09:52 +0000 vnic: add TODO list - non-promisc mode - multicast filter support Also drop ARM64TODO comments; this is an issue with this specific driver, not a general arm64 issue. PR: 223575 PR: 223573 (cherry picked from commit 941650aae9762293f4c63788ddb17e0114828813) (cherry picked from commit 29e9b487c1d427409a8bf1f893bc71a57c76f4b0) sys/dev/vnic/nic_main.c | 12 ++++++++++++ sys/dev/vnic/nicvf_main.c | 6 ++---- 2 files changed, 14 insertions(+), 4 deletions(-)
^Triage: committed back in 2022. mfc-stable11 flag is OBE.
This is not completed - the driver forces promiscuous mode, which in turn means that the lack of multicast filtering support doesn't matter (since all packets are being received). Linux implemented rx filter support starting in 2018. Now, it may be that we desupport this hardware prior to implementing receive filtering but until then this bug should be open.
^Triage: clear stale flags.