aboutsummaryrefslogtreecommitdiff
path: root/rtr-origin/updater.py
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2009-03-31 08:26:26 +0000
committerRob Austein <sra@hactrn.net>2009-03-31 08:26:26 +0000
commit275ec868506ca9510d017cab1aa1a97daefd2979 (patch)
tree2a4cfc655b6b2b875f93fba106ee8f07b74ee159 /rtr-origin/updater.py
parent2250d7f88b4d147d045fee991fef9e1b2d7eebcc (diff)
Checkpoint
svn path=/rpkid/rpki/ipaddrs.py; revision=2284
Diffstat (limited to 'rtr-origin/updater.py')
-rwxr-xr-xrtr-origin/updater.py11
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())))