ofctl_v1_2, 3: Fix regression of IP arbitrary bitmask support

Reported-by: Wei-Li Tang <alextwl@xinguard.com>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Reviewed-by: Wei-Li Tang <alextwl@xinguard.com>
This commit is contained in:
FUJITA Tomonori 2014-12-28 22:54:10 +09:00
parent a962e9a472
commit bd4bde945e
2 changed files with 10 additions and 6 deletions

View File

@ -285,9 +285,11 @@ def to_match_eth(value):
def to_match_ip(value):
if '/' in value:
ip = netaddr.ip.IPNetwork(value)
ip_addr = str(ip.ip)
ip_mask = str(ip.netmask)
(ip_addr, ip_mask) = value.split('/')
if ip_mask.isdigit():
ip = netaddr.ip.IPNetwork(value)
ip_addr = str(ip.ip)
ip_mask = str(ip.netmask)
return ip_addr, ip_mask
else:
return value

View File

@ -306,9 +306,11 @@ def to_match_eth(value):
def to_match_ip(value):
if '/' in value:
ip = netaddr.ip.IPNetwork(value)
ip_addr = str(ip.ip)
ip_mask = str(ip.netmask)
(ip_addr, ip_mask) = value.split('/')
if ip_mask.isdigit():
ip = netaddr.ip.IPNetwork(value)
ip_addr = str(ip.ip)
ip_mask = str(ip.netmask)
return ip_addr, ip_mask
else:
return value