self.address, self.netmask,
self.lladdr,
)
+
+ __repr__ = __str__
def add_address(self, address, netprefix, broadcast):
raise RuntimeError, "Cannot add explicit addresses to public interface"
self.tun_addr,
self.tun_port )
)
+
+ __repr__ = __str__
class TunIface(object):
_PROTO_MAP = tunproto.TUN_PROTO_MAP
def __str__(self):
- return "%s<ip:%s/%s %s%s>" % (
+ return "%s<ip:%s/%s %s%s%s>" % (
self.__class__.__name__,
self.address, self.netprefix,
" up" if self.up else " down",
" snat" if self.snat else "",
+ (" p2p %s" % (self.pointopoint,)) if self.pointopoint else "",
)
+ __repr__ = __str__
+
@property
def if_name(self):
if self.peer_proto_impl:
myNet = ipaddr.IPNetwork("%s/%d" % (addr, prefix))
gwIp = ipaddr.IPNetwork(nexthop)
- tgtIp = ipaddr.IPNetwork(dest
- + (("/%d" % destprefix) if destprefix else "") )
-
- if gwIp in myNet or tgtIp in myNet:
- return True
-
if self.pointopoint:
peerIp = ipaddr.IPNetwork(self.pointopoint)
if gwIp == peerIp:
return True
+ else:
+ if gwIp in myNet:
+ return True
+ return False
def add_address(self, address, netprefix, broadcast):
if (self.address or self.netprefix or self.netmask) is not None:
"- PL can only handle rules over virtual interfaces. Candidates are: %s" % (route,devs)
(out,err),proc = server.popen_ssh_command(
- "( sudo -S bash -c 'cat /vsys/vroute.out >&2' & ) ; sudo -S bash -c 'cat > /vsys/vroute.in'" % dict(
+ "( sudo -S bash -c 'cat /vsys/vroute.out >&2' & ) ; sudo -S bash -c 'cat > /vsys/vroute.in' ; sleep 0.1" % dict(
home = server.shell_escape(self.home_path)),
host = self.hostname,
port = None,
)
if proc.wait() or err:
- raise RuntimeError, "Could not set routes: %s%s" % (out,err)
+ raise RuntimeError, "Could not set routes (%s) errors: %s%s" % (rules,out,err)