Skip to content

Commit 39e94d8

Browse files
authored
Merge pull request #5114 from cathy-zhou/vf-gateway-fix
detect VF accelerated gateway interface without explicit configuration
2 parents 0768e7b + 0851d4c commit 39e94d8

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

go-controller/pkg/node/gateway.go

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -625,19 +625,24 @@ func bridgeForInterface(intfName, nodeName,
625625
if err != nil {
626626
return nil, fmt.Errorf("gateway accelerated interface %s is not valid: %w", config.Gateway.GatewayAcceleratedInterface, err)
627627
}
628+
gwIntf = config.Gateway.GatewayAcceleratedInterface
628629
isGWAcclInterface = true
629630
klog.Infof("For gateway accelerated interface %s representor: %s", config.Gateway.GatewayAcceleratedInterface, intfRep)
631+
} else {
632+
intfRep, err = getRepresentor(gwIntf)
633+
if err == nil {
634+
isGWAcclInterface = true
635+
}
630636
}
631637

632638
if isGWAcclInterface {
633-
gatewayAcceleratedInterface := config.Gateway.GatewayAcceleratedInterface
634639
bridgeName, _, err := util.RunOVSVsctl("port-to-br", intfRep)
635640
if err != nil {
636641
return nil, fmt.Errorf("failed to find bridge that has port %s: %w", intfRep, err)
637642
}
638-
link, err := util.GetNetLinkOps().LinkByName(gatewayAcceleratedInterface)
643+
link, err := util.GetNetLinkOps().LinkByName(gwIntf)
639644
if err != nil {
640-
return nil, fmt.Errorf("failed to get netdevice link for %s: %w", gatewayAcceleratedInterface, err)
645+
return nil, fmt.Errorf("failed to get netdevice link for %s: %w", gwIntf, err)
641646
}
642647
uplinkName, err := util.GetNicName(bridgeName)
643648
if err != nil {
@@ -646,7 +651,7 @@ func bridgeForInterface(intfName, nodeName,
646651
res.bridgeName = bridgeName
647652
res.uplinkName = uplinkName
648653
res.gwIfaceRep = intfRep
649-
res.gwIface = gatewayAcceleratedInterface
654+
res.gwIface = gwIntf
650655
res.macAddress = link.Attrs().HardwareAddr
651656
} else if bridgeName, _, err := util.RunOVSVsctl("port-to-br", intfName); err == nil {
652657
// This is an OVS bridge's internal port

0 commit comments

Comments
 (0)