Skip to content

Restore MP-BGP - #1444

Merged
fedepaol merged 8 commits into
metallb:mainfrom
fedepaol:fix/bgpmp
Jun 22, 2022
Merged

fedepaol merged 8 commits into
metallb:mainfrom
fedepaol:fix/bgpmp

Conversation

@fedepaol

@fedepaol fedepaol commented Jun 20, 2022 •

Copy link
Copy Markdown
Member

Changing the way we render the config to accommodate MP-BGP.
We advertise the ips regardless of the ip family of the session established with the neighbor, plus we add e2e tests for that.

Fixes #1402

fedepaol added 2 commits June 21, 2022 14:57
With MP-BGP, we can advertise the routes to our services regardless of
the ip family of the session established with the router.

In order to do that, we need to change the configuration so that we
announce and we set propertise on prefixes regardless of the session.

Signed-off-by: Federico Paolinelli <fpaoline@redhat.com>
We want to be able to instruct the external containers to accept routes
regardless of the ip family of the session.

Signed-off-by: Federico Paolinelli <fpaoline@redhat.com>

@oribon oribon left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

nice! few nits

Comment thread e2etest/bgptests/bgp_multiprotocol.go Outdated
admissionapi "k8s.io/pod-security-admission/api"
)

var _ = ginkgo.Describe("BGP Multipath", func() {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

nit: BGP Multiprotocol

Comment thread e2etest/bgptests/bgp_multiprotocol.go Outdated
var _ = ginkgo.Describe("BGP Multipath", func() {
var cs clientset.Interface
var f *framework.Framework
var nodeToLabel *v1.Node

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

are we using this?

Comment thread e2etest/bgptests/bgp_multiprotocol.go Outdated
cs = f.ClientSet
})

ginkgo.Context("Multipath", func() {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

same: multipath -> multiprotocol

Comment thread e2etest/bgptests/bgp_multipath.go Outdated
@@ -0,0 +1,228 @@
// SPDX-License-Identifier:Apache-2.0

package bgptests

@oribon oribon Jun 21, 2022 •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think this file was added by mistake, need to squash these changes with the other one?

fedepaol added 6 commits June 21, 2022 22:02
We add a new set of tests that leverage a dual stack cluster and:
- establish a ipv4 / ipv6 only session
- check that both the ips of the service work
- check that the communities / local prefs are advertised to both the
  ips of the service

Signed-off-by: Federico Paolinelli <fpaoline@redhat.com>
We want to document that now MP-BGP is available.

Signed-off-by: Federico Paolinelli <fpaoline@redhat.com>
Due to the fact that we now support MP-BGP, we have duplicate nexthops
because they are received both from the v4 session and the v6 session.
We remove the duplicates so we can check the 1:1 mapping with the nodes.

Signed-off-by: Federico Paolinelli <fpaoline@redhat.com>
It helps in triaging test failures.

Signed-off-by: Federico Paolinelli <fpaoline@redhat.com>
We are trying to keep the multiprotocol tests (where we enable the
external containers to MP) isolated. The dual stack - announce v6 only
test must have the external containers enabled to mp, due to the fact
that we are announcing one single ip family (v6) but we have two open
sessions, so we are moving it.

Signed-off-by: Federico Paolinelli <fpaoline@redhat.com>
Expanding the mp coverage with a test that connects both ipfamilies and
advertise v4 to both.

Signed-off-by: Federico Paolinelli <fpaoline@redhat.com>
@oribon

oribon commented Jun 22, 2022

Copy link
Copy Markdown
Member

lgtm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

MP BGP (ipv6) is broken in main with crds

2 participants