diff --git a/cmd/daemon/cniserver.go b/cmd/daemon/cniserver.go index db3195234d3..eedfe723df1 100644 --- a/cmd/daemon/cniserver.go +++ b/cmd/daemon/cniserver.go @@ -31,6 +31,10 @@ func CmdMain() { daemon.InitMetrics() util.InitKlogMetrics() + if err := initForOS(); err != nil { + util.LogFatalAndExit(err, "failed to do the OS initialization") + } + nicBridgeMappings, err := daemon.InitOVSBridges() if err != nil { util.LogFatalAndExit(err, "failed to initialize OVS bridges") diff --git a/cmd/daemon/init.go b/cmd/daemon/init.go new file mode 100644 index 00000000000..bf094065afd --- /dev/null +++ b/cmd/daemon/init.go @@ -0,0 +1,22 @@ +//go:build !windows +// +build !windows + +package daemon + +import ( + "fmt" + "os/exec" + + "k8s.io/klog/v2" +) + +func initForOS() error { + // disable checksum for genev_sys_6081 as default + cmd := exec.Command("sh", "-c", "ethtool -K genev_sys_6081 tx off") + if err := cmd.Run(); err != nil { + err := fmt.Errorf("failed to set checksum off for genev_sys_6081, %v", err) + // should not affect cni pod running if failed, just record err log + klog.Error(err) + } + return nil +}