Skip to content

Commit 9927d24

Browse files
committed
controller: do not set mac binding age when the vpc is connected to external network
Signed-off-by: zhangzujian <zhangzujian.7@gmail.com>
1 parent 67f08f8 commit 9927d24

File tree

1 file changed

+17
-7
lines changed

1 file changed

+17
-7
lines changed

pkg/controller/vpc.go

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,7 @@ func (c *Controller) handleAddOrUpdateVpc(key string) error {
268268
return err
269269
}
270270

271-
if err = c.createVpcRouter(key); err != nil {
271+
if err = c.createVpcRouter(key, vpc.Spec.EnableExternal); err != nil {
272272
klog.Errorf("failed to create vpc router for vpc %s: %v", key, err)
273273
return err
274274
}
@@ -1235,7 +1235,7 @@ func (c *Controller) getVpcSubnets(vpc *kubeovnv1.Vpc) (subnets []string, defaul
12351235
}
12361236

12371237
// createVpcRouter create router to connect logical switches in vpc
1238-
func (c *Controller) createVpcRouter(lr string) error {
1238+
func (c *Controller) createVpcRouter(lr string, enableExternal bool) error {
12391239
if err := c.OVNNbClient.CreateLogicalRouter(lr); err != nil {
12401240
klog.Errorf("create logical router %s failed: %v", lr, err)
12411241
return err
@@ -1247,12 +1247,22 @@ func (c *Controller) createVpcRouter(lr string) error {
12471247
return err
12481248
}
12491249

1250-
vpcRouter.Options = map[string]string{"always_learn_from_arp_request": "false", "dynamic_neigh_routers": "true", "mac_binding_age_threshold": "300"}
1251-
err = c.OVNNbClient.UpdateLogicalRouter(vpcRouter, &vpcRouter.Options)
1252-
if err != nil {
1253-
klog.Errorf("update logical router %s failed: %v", lr, err)
1254-
return err
1250+
var lrOptions map[string]string
1251+
if !enableExternal {
1252+
lrOptions = map[string]string{
1253+
"always_learn_from_arp_request": "false",
1254+
"dynamic_neigh_routers": "true",
1255+
"mac_binding_age_threshold": "300",
1256+
}
12551257
}
1258+
if !maps.Equal(vpcRouter.Options, lrOptions) {
1259+
vpcRouter.Options = lrOptions
1260+
if err = c.OVNNbClient.UpdateLogicalRouter(vpcRouter, &vpcRouter.Options); err != nil {
1261+
klog.Errorf("failed to update options of logical router %s: %v", lr, err)
1262+
return err
1263+
}
1264+
}
1265+
12561266
return nil
12571267
}
12581268

0 commit comments

Comments
 (0)