Weave script calls Go implementation of expose_nat

This commit is contained in:
Bryan Boreham committed 2016-11-14 12:37:42 +00:00
1 parent a07e3301b1
commit e458c11e66
3 files changed
+25 -9

No files matched your search

+23
View File
@@ -0,0 +1,23 @@
package main
import (
weavenet "github.com/weaveworks/weave/net"
)
func exposeNAT(args []string) error {
if len(args) < 1 {
cmdUsage("expose-nat", "<cidr>...")
}
cidrs, err := parseCIDRs(args)
if err != nil {
return err
}
for _, cidr := range cidrs {
if err := weavenet.ExposeNAT(*cidr); err != nil {
return err
}
}
return nil
}
+1
View File
@@ -34,6 +34,7 @@ func init() {
"list-netdevs": listNetDevs,
"cni-net": cniNet,
"cni-ipam": cniIPAM,
"expose-nat": exposeNAT,
}
}
+1 -9
View File
@@ -661,14 +661,6 @@ expose_ip() {
done
}
expose_nat() {
for CIDR in $ALL_CIDRS ; do
add_iptables_rule nat WEAVE -s $CIDR -d 224.0.0.0/4 -j RETURN
add_iptables_rule nat WEAVE -d $CIDR ! -s $CIDR -j MASQUERADE
add_iptables_rule nat WEAVE -s $CIDR ! -d $CIDR -j MASQUERADE
done
}
# create veth with ends $1-$2, and then invoke $3..., removing the
# veth on failure. No-op of veth already exists.
create_veth() {
@@ -2222,7 +2214,7 @@ EOF
fi
create_bridge --without-ethtool
expose_ip
expose_nat
util_op expose-nat $ALL_CIDRS
show_addrs $ALL_CIDRS
;;
hide)