func EnableIpForwarding()

in pkg/utils/cniutils/cni_utils.go [100:133]


func EnableIpForwarding(procSys procsyswrapper.ProcSys, ips []*current.IPConfig) error {
	v4 := false
	v6 := false

	for _, ip := range ips {
		isV4 := ip.Address.IP.To4() != nil
		if isV4 && !v4 {
			valueV4, err := procSys.Get(ipv4ForwardKey)
			if err != nil {
				return err
			}
			if valueV4 != "1" {
				err = procSys.Set(ipv4ForwardKey, "1")
				if err != nil {
					return err
				}
			}
			v4 = true
		} else if !isV4 && !v6 {
			valueV6, err := procSys.Get(ipv6ForwardKey)
			if err != nil {
				return err
			}
			if valueV6 != "1" {
				err = procSys.Set(ipv6ForwardKey, "1")
				if err != nil {
					return err
				}
			}
			v6 = true
		}
	}
	return nil
}