setup_ip_forwarding.go 428 B

1234567891011121314151617181920
  1. package bridge
  2. import (
  3. "fmt"
  4. "io/ioutil"
  5. )
  6. const (
  7. IPV4_FORW_CONF_FILE = "/proc/sys/net/ipv4/ip_forward"
  8. PERM = 0644
  9. )
  10. func SetupIPForwarding(i *Interface) error {
  11. // Sanity Check
  12. if i.Config.EnableIPForwarding == false {
  13. return fmt.Errorf("Unexpected request to enable IP Forwarding for: %v", *i)
  14. }
  15. // Enable IPv4 forwarding
  16. return ioutil.WriteFile(IPV4_FORW_CONF_FILE, []byte{'1', '\n'}, PERM)
  17. }