diff options
author | Rob Austein <sra@hactrn.net> | 2012-11-15 22:13:53 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2012-11-15 22:13:53 +0000 |
commit | 756fdbe0d7eda1e98663c62bb3e57f2c18e88ee1 (patch) | |
tree | c0af81a5987e9859d12a0323d0d240f58d8b2f36 /rpkid/rpki/gui/app/forms.py | |
parent | 713507be1695d8f2f278ab925d58defc58eff2aa (diff) | |
parent | 11f3b8df179a16ebe1446dab620522ac97e3c327 (diff) |
Merge tk274 performance work back to trunk. Closes #274.
svn path=/trunk/; revision=4878
Diffstat (limited to 'rpkid/rpki/gui/app/forms.py')
-rw-r--r-- | rpkid/rpki/gui/app/forms.py | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/rpkid/rpki/gui/app/forms.py b/rpkid/rpki/gui/app/forms.py index 99a5cc5e..2dfbb6a5 100644 --- a/rpkid/rpki/gui/app/forms.py +++ b/rpkid/rpki/gui/app/forms.py @@ -23,7 +23,7 @@ from rpki.resource_set import (resource_range_as, resource_range_ipv4, from rpki.gui.app import models from rpki.exceptions import BadIPResource from rpki.gui.app.glue import str_to_resource_range -import rpki.ipaddrs +from rpki.POW import IPAddress class AddConfForm(forms.Form): @@ -190,11 +190,7 @@ class ROARequest(forms.Form): """ prefix = self.cleaned_data.get('prefix') if '/' not in prefix: - p = rpki.ipaddrs.parse(prefix) - - # rpki.ipaddrs.parse doesn't return a v?addr object, so can't - # introspect p.bits - bits = 32 if ':' not in prefix else 64 + p = IPAddress(prefix) # determine the first nonzero bit starting from the lsb and # subtract from the address size to find the closest classful @@ -203,7 +199,7 @@ class ROARequest(forms.Form): while (p != 0) and (p & 1) == 0: prefixlen = prefixlen + 1 p = p >> 1 - mask = bits - (8 * (prefixlen / 8)) + mask = p.bits - (8 * (prefixlen / 8)) prefix = prefix + '/' + str(mask) return str_to_resource_range(prefix) |