Prechádzať zdrojové kódy

sysinfo: add IPv4Forwarding check

Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
Ma Shimiao 10 rokov pred
rodič
commit
05418df539
1 zmenil súbory, kde vykonal 13 pridanie a 0 odobranie
  1. 13 0
      pkg/sysinfo/sysinfo.go

+ 13 - 0
pkg/sysinfo/sysinfo.go

@@ -4,6 +4,8 @@ import (
 	"io/ioutil"
 	"io/ioutil"
 	"os"
 	"os"
 	"path"
 	"path"
+	"strconv"
+	"strings"
 
 
 	"github.com/Sirupsen/logrus"
 	"github.com/Sirupsen/logrus"
 	"github.com/docker/libcontainer/cgroups"
 	"github.com/docker/libcontainer/cgroups"
@@ -52,6 +54,17 @@ func New(quiet bool) *SysInfo {
 		}
 		}
 	}
 	}
 
 
+	// Checek if ipv4_forward is disabled.
+	if data, err := ioutil.ReadFile("/proc/sys/net/ipv4/ip_forward"); os.IsNotExist(err) {
+		sysInfo.IPv4ForwardingDisabled = true
+	} else {
+		if enabled, _ := strconv.Atoi(strings.TrimSpace(string(data))); enabled == 0 {
+			sysInfo.IPv4ForwardingDisabled = true
+		} else {
+			sysInfo.IPv4ForwardingDisabled = false
+		}
+	}
+
 	// Check if AppArmor is supported.
 	// Check if AppArmor is supported.
 	if _, err := os.Stat("/sys/kernel/security/apparmor"); os.IsNotExist(err) {
 	if _, err := os.Stat("/sys/kernel/security/apparmor"); os.IsNotExist(err) {
 		sysInfo.AppArmor = false
 		sysInfo.AppArmor = false