Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation and fixes for IGMP/MLD snooping #402

Merged
merged 13 commits into from
Apr 29, 2024
Merged

Documentation and fixes for IGMP/MLD snooping #402

merged 13 commits into from
Apr 29, 2024

Conversation

troglobit
Copy link
Contributor

@troglobit troglobit commented Apr 23, 2024

Description

This PR primarily deals with fixes for IGMP/MLD snooping and bridge set up, as well as documentation of said feature, which is a new feature for Infix v24.04.

Other changes also included here:

  • Fix "random IPv6 autoconf" address, caused by random MAC address on bridges
    • Bridges now use the base MAC address by default
    • Overriding bridge MAC address using phys-address
  • Base MAC support for Qemu systems (derived from first Ethernet interface)
  • qemu.sh and Qeneth changes to interface MAC address
  • Probing factory-config hostname from /sys/firmware/qemu_fw_cfg (for Infamy and other Qemu based systems)
  • Rename port names in Infamy virtual topologies: ethN -> eN, also changing start index from 0 to 1
  • Bump test/qeneth submodule to support new Infamy port names

Checklist

Tick relevant boxes, this PR is-a or has-a:

  • Bugfix
    • Regression tests
    • ChangeLog updates (for next release)
  • Feature
    • YANG model change => revision updated?
    • Regression tests added?
    • ChangeLog updates (for next release)
    • Documentation added
  • Code style update (formatting, renaming)
  • Refactoring (please detail in commit messages)
  • Build related changes
  • Documentation content changes
  • Other (please describe):

@troglobit troglobit added bug Something isn't working enhancement New feature or request labels Apr 23, 2024
@troglobit troglobit added this to the Infix v24.04 milestone Apr 23, 2024
@troglobit troglobit marked this pull request as draft April 23, 2024 18:17
@troglobit troglobit marked this pull request as ready for review April 23, 2024 19:02
@troglobit troglobit force-pushed the docs-and-fixes branch 4 times, most recently from c9b3fbc to e06084c Compare April 25, 2024 03:29
@troglobit troglobit requested a review from wkz April 25, 2024 03:57
@troglobit troglobit marked this pull request as draft April 25, 2024 04:29
@troglobit
Copy link
Contributor Author

Tests not passing, at all, so marking as draft while troubleshooting that. I'll give you a ping when it's ready for review.

@troglobit troglobit force-pushed the docs-and-fixes branch 3 times, most recently from e33f7e9 to 72c5b37 Compare April 25, 2024 15:30
@troglobit troglobit marked this pull request as ready for review April 25, 2024 16:01
@troglobit
Copy link
Contributor Author

@wkz build and tests should now pass, with massive-parallel disabled in the CI jobs for now.

Copy link
Contributor

@wkz wkz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really like all the new goodies in qeneth!

board/common/rootfs/libexec/infix/probe Show resolved Hide resolved
board/common/qemu/qemu.sh Outdated Show resolved Hide resolved
board/common/rootfs/libexec/infix/probe Outdated Show resolved Hide resolved
src/confd/bin/gen-hostname Outdated Show resolved Hide resolved
doc/networking.md Outdated Show resolved Hide resolved
doc/networking.md Outdated Show resolved Hide resolved
@troglobit
Copy link
Contributor Author

Dropping fix for issue #357 since it, for some odd reason, breaks IGMP/MLD snooping. The fix has been moved to a separate branch, stable-bridge-mac, for later triage.

As described in issue #396, multicast filtering on VLAN filtering
bridges did not work at all.  This because bridge_mcast_settings()
exited when no global multicast settings were found -- a change to
the YANG model made previously triggered this fauled behavior.

Also, the initial IGMP/MLD versions were set to 2/1 (kernel default)
instead of 3/2 (Infix default).

Fixes #396

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Writable by root, readble only by wheel members, e.g. admin.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
The base mac address is used by bridges in Infix.  This patch adds
support for extracting a base mac from the first interface "- 1",
e.g., if the mac address of e1 is 08:00:20:00:00:01, the base mac
will be 08:00:20:00:00:00.

This works with the Infamy test framework (Qeneth) and also with
the qemu script, included in this patch.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This patch adds support for overriding the default hostname generation
on Qemu systems with the /sys/firmware/qemu_fw_cfg/by_name/opt/hostname
file.  E.g., virtual Infamy test systems using Qeneth.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Final work item for the Infix bridge MDB support epic.

Fixes #334

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Ethernet ports start with 'e'
Port numbers start with '1'

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Over the lifetime of Infix, so far, we've run into at least one customer
issue where we had qualms about our use of the local bit causing issues
with 3rd party software.  In the end that was not the root cause of our
problems, but we spent way too much time worrying about it.  Hence this
patch, which brings our virtual environments another step closer to the
real hardware that Infix runs on.

The OUI used is one of the "private" ones, taken completly at random.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
The massive-parallel build change added recently is a bit shaky still,
so while we stabilze that, we revert it and also take the oppportunity
to tag the new build server.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
@troglobit
Copy link
Contributor Author

Finally, tests now pass. Could you lend an eye for final review, @wkz so we can merge this puppy?

@troglobit troglobit requested a review from wkz April 28, 2024 18:31
Copy link
Contributor

@wkz wkz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:!

@wkz wkz merged commit d1a7e1d into main Apr 29, 2024
2 checks passed
@wkz wkz deleted the docs-and-fixes branch April 29, 2024 06:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants