Ejemplo n.º 1
0
def process_eid_records(record_count, nonce, packet):

    for i in range(record_count):
        eid_record = lisp.lisp_eid_record()
        packet = eid_record.decode(packet)
        if (packet == None): break
        print "EID-prefix: {}, ttl: {}, rloc-set:".format( \
            eid_record.print_prefix(), eid_record.print_ttl())

        if (eid_record.rloc_count == 0):
            action = lisp.lisp_map_reply_action_string[eid_record.action]
            action = lisp.bold(action, False)
            print "  Empty, map-reply action: {}".format(action)
        #endif
        
        eid_record.print_record("", False)
        for j in range(eid_record.rloc_count):
            rloc_record = lisp.lisp_rloc_record()
            packet = rloc_record.decode(packet, nonce)
            if (packet == None): break
            p = rloc_record.priority
            mp = rloc_record.mpriority
            print "  RLOC: {}, up/uw/mp/mw: {}/{}/{}/{}, flags: {}{}{}". \
                format(rloc_record.rloc.print_address_no_iid(), p, rloc_record.
                weight, mp, rloc_record.mweight, rloc_record.print_flags(), 
                "" if rloc_record.rloc_name == None else \
                ", " + rloc_record.print_rloc_name(),
                ", RTR" if p == 254 and mp == 255 else "")

            if (rloc_record.geo):
                print "        geo: {}".format(rloc_record.geo.print_geo())
            #endif
            if (rloc_record.elp):
                elp = rloc_record.elp.print_elp(False)
                print "        elp: {}".format(elp)
            #endif
            if (rloc_record.rle):
                rle = rloc_record.rle.print_rle(False)
                print "        rle: {}".format(rle)
            #endif
            if (rloc_record.json):
                json = rloc_record.json.print_json(False)
                print "        json: {}".format(json)
            #endif
            rloc_record.print_record("  ")
        #endfor
        print ""
    #endfor
    return
Ejemplo n.º 2
0
            ref_select = random.randint(0, 255) % eid_record.rloc_count
        #endif

        to_ms = eid_record.action in (lisp.LISP_DDT_ACTION_MS_REFERRAL,
                                      lisp.LISP_DDT_ACTION_MS_ACK)

        neg_or_done = eid_record.action in (
            lisp.LISP_DDT_ACTION_MS_NOT_REG,
            lisp.LISP_DDT_ACTION_DELEGATION_HOLE,
            lisp.LISP_DDT_ACTION_NOT_AUTH, lisp.LISP_DDT_ACTION_MS_ACK)

        #
        # Walk referral list.
        #
        for j in range(eid_record.rloc_count):
            rloc_record = lisp.lisp_rloc_record()
            packet = rloc_record.decode(packet, map_referral.nonce)
            if (packet == None): break
            rloc_record.print_record("  ")

            if (lisp.lisp_debug_logging == False):
                string = rloc_record.rloc.print_address_no_iid()
                if (j != eid_record.rloc_count - 1): string += ","
                print(string, end=" ")
            #endif

            if (follow_all):
                if (neg_or_done): continue
            else:
                if (ref_select != j): continue
            #endif
Ejemplo n.º 3
0
def ii1I(record_count, nonce, packet):
    if 76 - 76: O0 / o0oOOo0O0Ooo.I1IiiI * Ii1I - OOooOOo
    for Oooo in range(record_count):
        O00o = lisp.lisp_eid_record()
        packet = O00o.decode(packet)
        if (packet == None): break
        print "EID-prefix: {}, ttl: {}, rloc-set:".format(
            O00o.print_prefix(), O00o.print_ttl())
        if 61 - 61: iII111i.iIii1I11I1II1 * I1IiiI.ooOoO0o % Oo0Ooo
        if 72 - 72: OOooOOo
        if (O00o.rloc_count == 0):
            o0Oo00OOOOO = lisp.lisp_map_reply_action_string[O00o.action]
            o0Oo00OOOOO = lisp.bold(o0Oo00OOOOO, False)
            print "  Empty, map-reply action: {}".format(o0Oo00OOOOO)
            if 85 - 85: ooOoO0o.iII111i - OoO0O00 % ooOoO0o % II111iiii
            if 81 - 81: OoO0O00 + II111iiii % iII111i * O0
        O00o.print_record("", False)
        for oOOo0oo in range(O00o.rloc_count):
            o0oo0o0O00OO = lisp.lisp_rloc_record()
            packet = o0oo0o0O00OO.decode(packet, nonce)
            if (packet == None): break
            o0oO = o0oo0o0O00OO.priority
            I1i1iii = o0oo0o0O00OO.mpriority
            print "  RLOC: {}, up/uw/mp/mw: {}/{}/{}/{}, flags: {}{}{}".format(
                o0oo0o0O00OO.rloc.print_address_no_iid(),
                o0oO,
                o0oo0o0O00OO.
                # o0oOOo0O0Ooo . Ii1I
                weight,
                I1i1iii,
                o0oo0o0O00OO.mweight,
                o0oo0o0O00OO.print_flags(),
                "" if o0oo0o0O00OO.rloc_name == None else ", " +
                o0oo0o0O00OO.print_rloc_name(),
                # OoOoOO00 / I11i
                ", RTR" if o0oO == 254 and I1i1iii == 255 else "")
            if 98 - 98: iIii1I11I1II1 / i1IIi / i11iIiiIii / o0oOOo0O0Ooo
            if (o0oo0o0O00OO.geo):
                print "        geo: {}".format(o0oo0o0O00OO.geo.print_geo())
                if 28 - 28: OOooOOo - IiII.IiII + OoOoOO00 - OoooooooOO + O0
            if (o0oo0o0O00OO.elp):
                oOoOooOo0o0 = o0oo0o0O00OO.elp.print_elp(False)
                print "        elp: {}".format(oOoOooOo0o0)
                if 61 - 61: o0oOOo0O0Ooo / OoO0O00 + ooOoO0o * oO0o / oO0o
            if (o0oo0o0O00OO.rle):
                OoOo = o0oo0o0O00OO.rle.print_rle(False)
                print "        rle: {}".format(OoOo)
                if 18 - 18: i11iIiiIii
            if (o0oo0o0O00OO.json):
                Ii11I = o0oo0o0O00OO.json.print_json(False)
                print "        json: {}".format(Ii11I)
                if 69 - 69:
                    oO0o % I1Ii111 - o0oOOo0O0Ooo + I1Ii111 - O0 % OoooooooOO
            o0oo0o0O00OO.print_record("  ")
            if 31 - 31: II111iiii - OOooOOo.I1Ii111 % OoOoOO00 - O0
        print ""
        if 4 - 4: II111iiii / ooOoO0o.iII111i
    return
    if 58 - 58: OOooOOo * i11iIiiIii / OoOoOO00 % I1Ii111 - I1ii11iIi11i / oO0o
    if 50 - 50: I1IiiI
    if 34 - 34: I1IiiI * II111iiii % iII111i * OoOoOO00 - I1IiiI
    if 33 - 33: o0oOOo0O0Ooo + OOooOOo * OoO0O00 - Oo0Ooo / oO0o % Ii1I
    if 21 - 21: OoO0O00 * iIii1I11I1II1 % oO0o * i1IIi
Ejemplo n.º 4
0
     if 100 - 100: oO0o / I1Ii111 / I1ii11iIi11i
     if 78 - 78: Oo0Ooo - o0oOOo0O0Ooo / OoOoOO00
 ii111iI1iIi1 = O0i1iI.action in (lisp.LISP_DDT_ACTION_MS_REFERRAL,
                                  lisp.LISP_DDT_ACTION_MS_ACK)
 if 10 - 10:
     iII111i + Oo0Ooo * I1ii11iIi11i + iIii1I11I1II1 / I1Ii111 / I1ii11iIi11i
 iI1II = O0i1iI.action in (lisp.LISP_DDT_ACTION_MS_NOT_REG,
                           lisp.LISP_DDT_ACTION_DELEGATION_HOLE,
                           lisp.LISP_DDT_ACTION_NOT_AUTH,
                           lisp.LISP_DDT_ACTION_MS_ACK)
 if 69 - 69: ooOoO0o % oO0o
 if 50 - 50: OoooooooOO % I11i
 if 49 - 49: oO0o - i11iIiiIii.I1Ii111 * Ii1I % iII111i + i1IIi
 if 71 - 71: o0oOOo0O0Ooo
 for IIIIiIiIi1 in range(O0i1iI.rloc_count):
     I11iiiiI1i = lisp.lisp_rloc_record()
     iI11Ii = I11iiiiI1i.decode(iI11Ii, III1Iiii1I11.nonce)
     if (iI11Ii == None): break
     I11iiiiI1i.print_record("  ")
     if 40 - 40: I1ii11iIi11i + i1IIi * OOooOOo
     if (lisp.lisp_debug_logging == False):
         O0oOOoooOO0O = I11iiiiI1i.rloc.print_address_no_iid()
         if (IIIIiIiIi1 != O0i1iI.rloc_count - 1): O0oOOoooOO0O += ","
         print(O0oOOoooOO0O, end=" ")
         if 86 - 86: o0oOOo0O0Ooo
         if 5 - 5: IiII * OoOoOO00
     if (o0O):
         if (iI1II): continue
     else:
         if (III1i1i11i != IIIIiIiIi1): continue
         if 5 - 5: I1Ii111
Ejemplo n.º 5
0
     O00OO = random.randint(0, 255) % i11i1ii1I.rloc_count
     if 17 - 17: I11i / I1Ii111 + oO0o - i11iIiiIii.iII111i
     if 95 - 95: OoO0O00 % i1IIi * i11iIiiIii % Oo0Ooo - oO0o
 ii1Ii11I = i11i1ii1I.action in (lisp.LISP_DDT_ACTION_MS_REFERRAL,
                                 lisp.LISP_DDT_ACTION_MS_ACK)
 if 67 - 67: OoOoOO00 + I1ii11iIi11i.o0oOOo0O0Ooo.II111iiii
 o000ooooO0o = i11i1ii1I.action in (
     lisp.LISP_DDT_ACTION_MS_NOT_REG,
     lisp.LISP_DDT_ACTION_DELEGATION_HOLE,
     lisp.LISP_DDT_ACTION_NOT_AUTH, lisp.LISP_DDT_ACTION_MS_ACK)
 if 40 - 40: I1ii11iIi11i + i1IIi * OOooOOo
 if 85 - 85: Ii1I * Oo0Ooo.O0 - i11iIiiIii
 if 18 - 18: Ii1I + IiII - O0
 if 53 - 53: i1IIi
 for Ooo00Oo in range(i11i1ii1I.rloc_count):
     oO00Oooo0O0o0 = lisp.lisp_rloc_record()
     III1Iiii1I11 = oO00Oooo0O0o0.decode(III1Iiii1I11, o00O0OoO.nonce)
     if (III1Iiii1I11 == None): break
     oO00Oooo0O0o0.print_record("  ")
     if 14 - 14: o0oOOo0O0Ooo % O0 * iII111i + Ii1I + Oo0Ooo * Ii1I
     if (lisp.lisp_debug_logging == False):
         iII1I1IiI11ii = oO00Oooo0O0o0.rloc.print_address_no_iid()
         if (Ooo00Oo != i11i1ii1I.rloc_count - 1): iII1I1IiI11ii += ","
         print iII1I1IiI11ii,
         if 72 - 72: I1IiiI % i11iIiiIii.Oo0Ooo / II111iiii
         if 14 - 14: I1ii11iIi11i + OoO0O00
     if (O0o0):
         if (o000ooooO0o): continue
     else:
         if (O00OO != Ooo00Oo): continue
         if 3 - 3: I1ii11iIi11i.Oo0Ooo / II111iiii