@@ -565,7 +565,7 @@ func (csh cniServerHandler) configureContainerNic(podName, podNamespace, nicName
565565func (csh cniServerHandler ) checkGatewayReady (podName , podNamespace string , gwCheckMode int , intr , ipAddr , gateway string , verbose bool ) error {
566566 if gwCheckMode == gatewayCheckModeArpingNotConcerned || gwCheckMode == gatewayCheckModePingNotConcerned {
567567 // ignore error if disableGatewayCheck=true
568- _ = waitNetworkReady (intr , ipAddr , gateway , verbose , 1 , nil )
568+ _ = waitNetworkReady (intr , ipAddr , gateway , true , verbose , 1 , nil )
569569 return nil
570570 }
571571
@@ -600,14 +600,14 @@ func (csh cniServerHandler) checkGatewayReady(podName, podNamespace string, gwCh
600600 }
601601 }()
602602
603- return waitNetworkReady (intr , ipAddr , gateway , verbose , gatewayCheckMaxRetry , done )
603+ return waitNetworkReady (intr , ipAddr , gateway , true , verbose , gatewayCheckMaxRetry , done )
604604}
605605
606- func waitNetworkReady (nic , ipAddr , gateway string , verbose bool , maxRetry int , done chan struct {}) error {
606+ func waitNetworkReady (nic , ipAddr , gateway string , preferARP , verbose bool , maxRetry int , done chan struct {}) error {
607607 ips := strings .Split (ipAddr , "," )
608608 for i , gw := range strings .Split (gateway , "," ) {
609609 src := strings .Split (ips [i ], "/" )[0 ]
610- if util .CheckProtocol (gw ) == kubeovnv1 .ProtocolIPv4 {
610+ if preferARP && util .CheckProtocol (gw ) == kubeovnv1 .ProtocolIPv4 {
611611 mac , count , err := util .ArpResolve (nic , gw , time .Second , maxRetry , done )
612612 cniConnectivityResult .WithLabelValues (nodeName ).Add (float64 (count ))
613613 if err != nil {
@@ -721,8 +721,8 @@ func configureNodeNic(cs kubernetes.Interface, nodeName, portName, ip, gw, joinC
721721 status := corev1 .ConditionFalse
722722 reason := "JoinSubnetGatewayReachable"
723723 message := fmt .Sprintf ("ping check to gateway ip %s succeeded" , gw )
724- if err = waitNetworkReady (util .NodeNic , ip , gw , true , gatewayCheckMaxRetry , nil ); err != nil {
725- klog .Errorf ("failed to init ovn0 check: %v" , err )
724+ if err = waitNetworkReady (util .NodeNic , ip , gw , false , true , gatewayCheckMaxRetry , nil ); err != nil {
725+ klog .Errorf ("failed to init %s check: %v" , util . NodeNic , err )
726726 status = corev1 .ConditionTrue
727727 reason = "JoinSubnetGatewayUnreachable"
728728 message = fmt .Sprintf ("ping check to gateway ip %s failed" , gw )
@@ -739,11 +739,11 @@ func configureNodeNic(cs kubernetes.Interface, nodeName, portName, ip, gw, joinC
739739func (c * Controller ) loopOvn0Check () {
740740 link , err := netlink .LinkByName (util .NodeNic )
741741 if err != nil {
742- util .LogFatalAndExit (err , "failed to get ovn0 nic" )
742+ util .LogFatalAndExit (err , "failed to get node nic %s" , util . NodeNic )
743743 }
744744
745745 if link .Attrs ().OperState == netlink .OperDown {
746- util .LogFatalAndExit (err , "ovn0 nic is down" )
746+ util .LogFatalAndExit (err , "node nic %s is down" , util . NodeNic )
747747 }
748748
749749 node , err := c .nodesLister .Get (c .config .NodeName )
@@ -756,8 +756,8 @@ func (c *Controller) loopOvn0Check() {
756756 status := corev1 .ConditionFalse
757757 reason := "JoinSubnetGatewayReachable"
758758 message := fmt .Sprintf ("ping check to gateway ip %s succeeded" , gw )
759- if err = waitNetworkReady (util .NodeNic , ip , gw , false , 5 , nil ); err != nil {
760- klog .Errorf ("failed to init ovn0 check: %v" , err )
759+ if err = waitNetworkReady (util .NodeNic , ip , gw , false , false , 5 , nil ); err != nil {
760+ klog .Errorf ("failed to init %s check: %v" , util . NodeNic , err )
761761 status = corev1 .ConditionTrue
762762 reason = "JoinSubnetGatewayUnreachable"
763763 message = fmt .Sprintf ("ping check to gateway ip %s failed" , gw )
@@ -778,7 +778,7 @@ func (c *Controller) loopOvn0Check() {
778778 }
779779
780780 if err != nil {
781- util .LogFatalAndExit (err , "failed to ping ovn0 gateway %s" , gw )
781+ util .LogFatalAndExit (err , "failed to ping %s gateway %s" , util . NodeNic , gw )
782782 }
783783}
784784
@@ -831,7 +831,7 @@ func (c *Controller) checkNodeGwNicInNs(nodeExtIP, ip, gw string, gwNS ns.NetNS)
831831 }
832832 if exists {
833833 return ns .WithNetNSPath (gwNS .Path (), func (_ ns.NetNS ) error {
834- err = waitNetworkReady (util .NodeGwNic , ip , gw , true , 3 , nil )
834+ err = waitNetworkReady (util .NodeGwNic , ip , gw , true , true , 3 , nil )
835835 if err == nil {
836836 if output , err := exec .Command ("bfdd-control" , "status" ).CombinedOutput (); err != nil {
837837 err := fmt .Errorf ("failed to get bfdd status, %w, %s" , err , output )
@@ -956,7 +956,7 @@ func configureNodeGwNic(portName, ip, gw string, macAddr net.HardwareAddr, mtu i
956956 klog .Error (err )
957957 return err
958958 }
959- return waitNetworkReady (util .NodeGwNic , ip , gw , true , 3 , nil )
959+ return waitNetworkReady (util .NodeGwNic , ip , gw , true , true , 3 , nil )
960960 })
961961}
962962
0 commit comments