diff options
author | Rob Austein <sra@hactrn.net> | 2009-03-31 08:26:26 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2009-03-31 08:26:26 +0000 |
commit | 275ec868506ca9510d017cab1aa1a97daefd2979 (patch) | |
tree | 2a4cfc655b6b2b875f93fba106ee8f07b74ee159 /rtr-origin/updater.py | |
parent | 2250d7f88b4d147d045fee991fef9e1b2d7eebcc (diff) |
Checkpoint
svn path=/rpkid/rpki/ipaddrs.py; revision=2284
Diffstat (limited to 'rtr-origin/updater.py')
-rwxr-xr-x | rtr-origin/updater.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/rtr-origin/updater.py b/rtr-origin/updater.py index d97e5e42..58d14daa 100755 --- a/rtr-origin/updater.py +++ b/rtr-origin/updater.py @@ -23,7 +23,7 @@ OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. """ -import sys, os, rpki.x509, rpki.ipaddrs +import sys, os, struct, rpki.x509, rpki.ipaddrs rcynic_dir = "../rcynic/rcynic-data/authenticated" @@ -54,11 +54,18 @@ class prefix(object): if c > 0: c = 1 return c + def to_pdu(self, announce = 1, color = 0): + return (struct.pack("!BBHBBBB", 0, self.pdu_type, color, announce, self.prefixlen, self.max_prefixlen, 0) + + self.prefix.to_bytes() + + struct.pack("!L", self.asn)) + class v4prefix(prefix): addr_type = rpki.ipaddrs.v4addr + pdu_type = 4 class v6prefix(prefix): addr_type = rpki.ipaddrs.v6addr + pdu_type = 6 prefix.map = { "\x00\x01" : v4prefix, "\x00\x02" : v6prefix } @@ -82,4 +89,4 @@ for i in xrange(len(prefixes) - 2, -1, -1): del prefixes[i + 1] for p in prefixes: - print p + print "%-40s %s" % (p, ":".join(("%02X" % ord(i) for i in p.to_pdu()))) |