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

Mutiple physical interface support for secondary network bridge #5846

Closed
john5985 opened this issue Jan 5, 2024 · 11 comments · Fixed by #5959
Closed

Mutiple physical interface support for secondary network bridge #5846

john5985 opened this issue Jan 5, 2024 · 11 comments · Fixed by #5959
Assignees
Labels
area/secondary-network Issues or PRs related to support for secondary networks in Antrea kind/feature Categorizes issue or PR as related to a new feature.

Comments

@john5985
Copy link

john5985 commented Jan 5, 2024

Describe the problem/challenge you have

When I used secondary network bridge feature, I specified more than one port in secondary bridge, but only one show up:
secondaryNetwork:
ovsBridges: [{"bridgeName": "br-kbear", "physicalInterfaces": ["enp1s0f1v0", "enp1s0f1v1"]}]

Given most SRIOV NICs have 8 HW queues, my request is to support up to 8 ports.

Describe the solution you'd like

secondaryNetwork:
ovsBridges: [{"bridgeName": "br-kbear", "physicalInterfaces": ["enp1s0f1v0", "enp1s0f1v1", "enp1s0f1v2", "enp1s0f1v3", "enp1s0f1v4", "enp1s0f1v5", "enp1s0f1v6", "enp1s0f1v7"]}]

Anything else you would like to add?

@john5985 john5985 added the kind/feature Categorizes issue or PR as related to a new feature. label Jan 5, 2024
@antoninbas antoninbas added the area/secondary-network Issues or PRs related to support for secondary networks in Antrea label Jan 5, 2024
@aroradaman
Copy link
Contributor

/assign

@jianjuns
Copy link
Contributor

jianjuns commented Feb 7, 2024

@john5985 : in your case, are all these interfaces connect to the same underlay subnet/L2? If yes, do you assume we auto create a bound for these interfaces when connecting to the OVS bridge?

@john5985
Copy link
Author

john5985 commented Feb 8, 2024

@jianjuns Thank you for following up! I would not group all these interfaces to the same underlay; each interface is associated with a L2 VLAN segment and a private subnet over the OVS bridge. I followed your example of VLAN based network attachment and configured this VLAN as a router with SRIOV interface as WAN.

@jianjuns
Copy link
Contributor

jianjuns commented Feb 8, 2024

But in this case, do you assume OVS will add the VLAN tag for the traffic? That means we should include a VLAN ID parameter on the physical interface setting in the Antrea secondary OVS bridge configuration.

@john5985
Copy link
Author

john5985 commented Feb 8, 2024

I assume OVS will implicitly push vlan tag when traffic entering OVS and pop vlan tag when traffic leaving from this port.
I see -- yes I manually set vlan tag to this sriov port using ovs-vsctl command.

@john5985
Copy link
Author

john5985 commented Feb 8, 2024

I think you could default sriov port to trunk which means no vlan, or one or multiple vlan tags:
trunk: []. # do nothing
trunk: [10] # ovs-vsctl set port myport tag=10, which is my configuration
trunk: [10,20] # ovs-vsctl set port myport trunks=10,20

@jianjuns
Copy link
Contributor

jianjuns commented Feb 8, 2024

Humm.. Have you checked if no VLAN ID on the OVS port, will OVS still insert the VLAN tag before sending the packets out?

Also broadcast from one Pod will be sent to all physical interfaces. Maybe it is ok as physical network should drop the packets if the VLAN does not match.

@aroradaman is working on the implementation. He may comment with his test results.

@john5985
Copy link
Author

john5985 commented Feb 8, 2024

Broadcast is exactly what I am worried about. The traffic from SRIOV interfaces may come from the same (set of) gateways; I didn't want ARP traffic broadcast between these sriov interfaces thus using vlan to isolate.

@aroradaman
Copy link
Contributor

Humm.. Have you checked if no VLAN ID on the OVS port, will OVS still insert the VLAN tag before sending the packets out?

If I simply attach multiple physical ports with no VLAN ID to the secondary bridge then my kind of cluster networking gets affected and I lose connection to the API Server.

However, If I manually create a bond of all physical interfaces everything is fine and the reachability test passes.

@john5985
Copy link
Author

john5985 commented Feb 20, 2024

In my case, I made one of physical port as trunk (no tag) while all other tagged with one particular VLAN; they are all set with ovs-vsctl set port tag

@aroradaman
Copy link
Contributor

In my case, I made one of physical port as trunk (no tag) while all other tagged with one particular VLAN; they are all set with ovs-vsctl set port tag

I tried to replicate the same thing in the kind cluster, reachability/ping tests were working fine.
(infra setup: aroradaman@3b138ee)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/secondary-network Issues or PRs related to support for secondary networks in Antrea kind/feature Categorizes issue or PR as related to a new feature.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants