Skip to content

Commit 91c228f

Browse files
committed
bug fixes, more modern pythons
1 parent 7b3ac65 commit 91c228f

File tree

3 files changed

+26
-24
lines changed

3 files changed

+26
-24
lines changed

bgp.py

+19-20
Original file line numberDiff line numberDiff line change
@@ -206,19 +206,19 @@ def parseOpen(msg_len, msg, verbose=1, level=0):
206206
if verbose > 1:
207207
print prtbin(level*INDENT, msg[:msg_len])
208208

209-
version, as, holdtime, bgp_id = struct.unpack(">BHHL", msg[0:9])
209+
version, asn, holdtime, bgp_id = struct.unpack(">BHHL", msg[0:9])
210210

211211
if verbose > 0:
212212
print level*INDENT +\
213213
"Open (len=%d):" % (msg_len+BGP_HDR_LEN, )
214214
print (level+1)*INDENT +\
215215
"version: %d, src AS: %d, holdtime: %d, BGP id: %s" %\
216-
(version, as, holdtime, id2str(bgp_id))
216+
(version, asn, holdtime, id2str(bgp_id))
217217

218218
opts = parseBgpOpts(msg[9:msg_len], verbose, level+1)
219219

220220
rv["V"] = {"VER": version,
221-
"AS": as,
221+
"AS": asn,
222222
"HT": holdtime,
223223
"ID": bgp_id,
224224
"OPTS": opts
@@ -240,11 +240,10 @@ def parseBgpOpts(opts, verbose=1, level=0):
240240

241241
opts = opts[1:]
242242
while len(opts) > 0:
243-
244243
opt_type, opt_len = struct.unpack("BB", opts[0:2])
245244
trv = { "T": opt_type,
246245
"L": opt_len,
247-
"V": {}
246+
"V": {},
248247
}
249248

250249
if verbose > 1:
@@ -503,18 +502,18 @@ def parseBgpAttr(atype, alen, adata, verbose=1, level=0):
503502
asp_t == AS_PATH_SEG_TYPES["CONFED_SET"]):
504503

505504
ret = ret + '(%s){ ' % AS_PATH_SEG_TYPES[asp_t]
506-
for as in path:
507-
ret = ret + "%d, " % as
508-
rv_cpt["V"].append(as)
505+
for asn in path:
506+
ret = ret + "%d, " % asn
507+
rv_cpt["V"].append(asn)
509508
ret = ret + '}'
510509

511510
elif(asp_t == AS_PATH_SEG_TYPES["SEQUENCE"] or
512511
asp_t == AS_PATH_SEG_TYPES["CONFED_SEQUENCE"]):
513512

514513
ret = ret + '(%s)[ ' % AS_PATH_SEG_TYPES[asp_t]
515-
for as in path:
516-
ret = ret + "<- %d " % as
517-
rv_cpt["V"].append(as)
514+
for asn in path:
515+
ret = ret + "<- %d " % asn
516+
rv_cpt["V"].append(asn)
518517
ret = ret + ']'
519518

520519
rv["V"].append(rv_cpt)
@@ -537,10 +536,10 @@ def parseBgpAttr(atype, alen, adata, verbose=1, level=0):
537536

538537
# ATOMIC_AGGREGATOR hit by null check at start...
539538
elif atype == PATH_ATTRIBUTES["AGGREGATOR"]:
540-
(as, ip) = struct.unpack(">H L", adata)
539+
(asn, ip) = struct.unpack(">H L", adata)
541540
ret = level*INDENT +\
542-
"AGGREGATOR: formed by AS %d, router %s" % (as, id2str(ip))
543-
rv["V"] = (as, ip)
541+
"AGGREGATOR: formed by AS %d, router %s" % (asn, id2str(ip))
542+
rv["V"] = (asn, ip)
544543

545544
elif atype == PATH_ATTRIBUTES["COMMUNITY"]:
546545

@@ -732,12 +731,12 @@ class Bgp:
732731
#---------------------------------------------------------------------------
733732

734733

735-
def __init__(self, loc_name, as, rem_name, port, holdtime):
734+
def __init__(self, loc_name, asn, rem_name, port, holdtime):
736735

737736
self._bgp_id_str = loc_name
738737
self._bgp_id_addr = socket.gethostbyname(loc_name)
739738
self._bgp_id = str2id(self._bgp_id_addr)
740-
self._bgp_as = as
739+
self._bgp_as = asn
741740

742741
self._bgp_peer_str = rem_name
743742
self._bgp_peer_addr = socket.gethostbyname(rem_name)
@@ -917,7 +916,7 @@ def sendKeepalive(self, verbose=1, level=0):
917916
mrtd_type = None
918917
loc_name = None
919918
rem_name = None
920-
as = None
919+
asn = None
921920
port = BGP_LISTEN_PORT
922921
holdtime = 0
923922

@@ -989,7 +988,7 @@ def usage():
989988
rem_name = y
990989

991990
elif x in ('-a', '--as'):
992-
as = string.atoi(y)
991+
asn = string.atoi(y)
993992

994993
elif x in ('-o', '--holdtime'):
995994
holdtime = string.atoi(y)
@@ -1009,15 +1008,15 @@ def usage():
10091008
else:
10101009
usage()
10111010

1012-
if not (rem_name and as):
1011+
if not (rem_name and asn):
10131012
usage()
10141013

10151014
if not loc_name:
10161015
loc_name = socket.gethostname()
10171016

10181017
#---------------------------------------------------------------------------
10191018

1020-
bgp = Bgp(loc_name, as, rem_name, port, holdtime)
1019+
bgp = Bgp(loc_name, asn, rem_name, port, holdtime)
10211020
bgp._mrt = mrtd.Mrtd(file_pfx, "w+b", file_sz, mrtd_type, bgp)
10221021

10231022
if VERBOSE > 0:

mrtd.py

+6-3
Original file line numberDiff line numberDiff line change
@@ -292,8 +292,11 @@ def __repr__(self):
292292

293293
def close(self):
294294
# XXX RMM XXX this should possibly be __del__() method?
295-
self._of.flush()
296-
self._of.close()
295+
try:
296+
self._of.flush()
297+
self._of.close()
298+
except IOError:
299+
pass
297300

298301
def write(self, msg):
299302

@@ -341,7 +344,7 @@ def parse(self, msg, verbose=1, level=0):
341344

342345
print level*INDENT + "[ " + time.ctime(ptime) + " ]"
343346
print level*INDENT + "MRT packet: len: %d, type: %s, subtype:" %\
344-
(plen, MSG_TYPES[ptype]),
347+
(plen, MSG_TYPES.get(ptype, "UNKNOWN (%d)" % (ptype,))),
345348

346349
try:
347350
if ptype == MSG_TYPES["PROTOCOL_BGP4MP"]:

mutils.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ def int2bin(int):
243243
ret = "" ; bit = 0
244244
while int != 0:
245245
if bit % 8 == 0: ret = '.' + ret
246-
ret = `int%2` + ret
246+
ret = `int%2` + ret
247247
int = int >> 1
248248
bit += 1
249249

0 commit comments

Comments
 (0)