Bug 223573 - vnic: multicast not implemented
Summary: vnic: multicast not implemented
Status: Open
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: CURRENT
Hardware: arm64 Any
: --- Affects Some People
Assignee: Ed Maste
URL:
Keywords: ThunderX
Depends on:
Blocks: 231027
  Show dependency treegraph
 
Reported: 2017-11-09 20:31 UTC by Ed Maste
Modified: 2023-12-25 16:10 UTC (History)
1 user (show)

See Also:
emaste: mfc-stable11+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ed Maste freebsd_committer freebsd_triage 2017-11-09 20:31:46 UTC
See https://svnweb.freebsd.org/base/head/sys/dev/vnic/nicvf_main.c?view=markup#l498 and l516. nicvf_set_multicast is not implemented.
Comment 1 Ed Maste freebsd_committer freebsd_triage 2017-11-10 01:42:18 UTC
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
Comment 2 commit-hook freebsd_committer freebsd_triage 2017-11-14 16:31:56 UTC
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
Comment 3 commit-hook freebsd_committer freebsd_triage 2017-11-21 13:59:49 UTC
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
Comment 4 Ed Maste freebsd_committer freebsd_triage 2017-11-21 14:23:56 UTC
Leave open: we report that the interface supports multicast, but do not actually configure multicast rx filters in the driver yet.
Comment 5 Eitan Adler freebsd_committer freebsd_triage 2018-05-28 19:49:21 UTC
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.
Comment 6 Ed Maste freebsd_committer freebsd_triage 2018-08-30 16:46:55 UTC
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.
Comment 7 commit-hook freebsd_committer freebsd_triage 2019-09-01 16:53:36 UTC
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
Comment 8 commit-hook freebsd_committer freebsd_triage 2021-07-28 19:25:04 UTC
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(+)
Comment 9 commit-hook freebsd_committer freebsd_triage 2022-02-12 19:10:49 UTC
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(-)
Comment 10 Mark Linimon freebsd_committer freebsd_triage 2023-12-25 14:43:55 UTC
^Triage: committed back in 2022.  mfc-stable11 flag is OBE.
Comment 11 Ed Maste freebsd_committer freebsd_triage 2023-12-25 16:10:29 UTC
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.