diff --git a/bindata/network/frr-k8s/config.yaml b/bindata/network/frr-k8s/config.yaml index e261fb79db..a7b64c7142 100644 --- a/bindata/network/frr-k8s/config.yaml +++ b/bindata/network/frr-k8s/config.yaml @@ -46,7 +46,7 @@ data: # vtysh_enable=yes zebra_options=" -A 127.0.0.1 -s 90000000 --limit-fds 100000" - bgpd_options=" -A 127.0.0.1 -p 0 --limit-fds 100000" + bgpd_options=" -A 127.0.0.1 -p {{ if .NoOverlayManagedEnabled }}179{{ else }}0{{ end }} --limit-fds 100000" ospfd_options=" -A 127.0.0.1" ospf6d_options=" -A ::1" ripd_options=" -A 127.0.0.1" diff --git a/bindata/network/ovn-kubernetes/common/004-rbac-control-plane.yaml b/bindata/network/ovn-kubernetes/common/004-rbac-control-plane.yaml index e100ac3130..8c7feb9206 100644 --- a/bindata/network/ovn-kubernetes/common/004-rbac-control-plane.yaml +++ b/bindata/network/ovn-kubernetes/common/004-rbac-control-plane.yaml @@ -243,7 +243,7 @@ rules: verbs: - patch - update -- apiGroups: +- apiGroups: - frrk8s.metallb.io resources: - frrconfigurations @@ -256,6 +256,17 @@ rules: - update - patch {{- end}} +{{- if .NoOverlayManagedEnabled }} +- apiGroups: + - k8s.ovn.org + resources: + - routeadvertisements + verbs: + - create + - delete + - patch + - update +{{- end}} {{- if .OVN_EVPN_ENABLE }} - apiGroups: - k8s.ovn.org diff --git a/pkg/network/render.go b/pkg/network/render.go index 9dfd67bcc9..ffa2579e0f 100644 --- a/pkg/network/render.go +++ b/pkg/network/render.go @@ -860,6 +860,8 @@ func renderAdditionalRoutingCapabilities(conf *operv1.NetworkSpec, manifestDir s data := render.MakeRenderData() data.Data["FRRK8sImage"] = os.Getenv("FRR_K8S_IMAGE") data.Data["ReleaseVersion"] = os.Getenv("RELEASE_VERSION") + data.Data["NoOverlayManagedEnabled"] = conf.DefaultNetwork.OVNKubernetesConfig != nil && + conf.DefaultNetwork.OVNKubernetesConfig.BGPManagedConfig.BGPTopology != "" objs, err := render.RenderDir(filepath.Join(manifestDir, "network/frr-k8s"), &data) if err != nil { return nil, fmt.Errorf("failed to render frr-k8s manifests: %w", err)