def I11(kv_pair): Oo0o0000o0o0 = lisp.lisp_ddt_entry() if 86 - 86: OoOoOO00 % I1IiiI for oo in kv_pair.keys(): IiII1I1i1i1ii = kv_pair[oo] if 44 - 44: oO0o / Oo0Ooo - II111iiii - i11iIiiIii % I1Ii111 if (oo == "instance-id"): O0OoOoo00o = IiII1I1i1i1ii.split("-") if (O0OoOoo00o[0] == ""): continue if 31 - 31: II111iiii + OoO0O00.I1Ii111 OoOooOOOO = (kv_pair.has_key("eid-prefix") == False or kv_pair["eid-prefix"] == "") i11iiII = (kv_pair.has_key("group-prefix") == False or kv_pair["group-prefix"] == "") if 34 - 34: OOooOOo % OoooooooOO / i1IIi.iII111i + O0 if (OoOooOOOO and i11iiII): Oo0o0000o0o0.eid.store_iid_range(int(O0OoOoo00o[0]), int(O0OoOoo00o[1])) else: Oo0o0000o0o0.eid.instance_id = int(O0OoOoo00o[0]) Oo0o0000o0o0.group.instance_id = int(O0OoOoo00o[0]) if 42 - 42: OOooOOo / i1IIi + i11iIiiIii - Ii1I if 78 - 78: OoO0O00 if (oo == "eid-prefix"): Oo0o0000o0o0.eid.store_prefix(IiII1I1i1i1ii) if 18 - 18: O0 - iII111i / iII111i + ooOoO0o % ooOoO0o - IiII if (oo == "group-prefix"): Oo0o0000o0o0.group.store_prefix(IiII1I1i1i1ii) if 62 - 62: iII111i - IiII - OoOoOO00 % i1IIi / oO0o if 77 - 77: II111iiii - II111iiii.I1IiiI / o0oOOo0O0Ooo if 14 - 14: I11i % O0 if 41 - 41: i1IIi + I1Ii111 + OOooOOo - IiII if 77 - 77: Oo0Ooo.IiII % ooOoO0o if 42 - 42: oO0o - i1IIi / i11iIiiIii + OOooOOo + OoO0O00 if 17 - 17: oO0o.Oo0Ooo.I1ii11iIi11i IIi = lisp.lisp_ddt_cache_lookup(Oo0o0000o0o0.eid, Oo0o0000o0o0.group, True) if (IIi != None and IIi.is_auth_prefix() == False): return if 38 - 38: Ii1I / Oo0Ooo if 76 - 76: O0 / o0oOOo0O0Ooo.I1IiiI * Ii1I - OOooOOo if 76 - 76: i11iIiiIii / iIii1I11I1II1.I1ii11iIi11i % OOooOOo / OoooooooOO % oO0o if 75 - 75: iII111i Oo0o0000o0o0.add_cache() return if 97 - 97: i11iIiiIii if 32 - 32: Oo0Ooo * O0 % oO0o % Ii1I.IiII if 61 - 61: ooOoO0o if 79 - 79: Oo0Ooo + I1IiiI - iII111i if 83 - 83: ooOoO0o if 64 - 64: OoO0O00 % ooOoO0o % iII111i / OoOoOO00 - OoO0O00 if 74 - 74: iII111i * O0
def lisp_ddt_show_delegations_lookup(eid_str): eid, eid_exact, group, group_exact = \ lispconfig.lisp_get_lookup_string(eid_str) output = "<br>" # # Do lookup in DDT-cache. # ddt_entry = lisp.lisp_ddt_cache_lookup(eid, group, eid_exact) if (ddt_entry == None): banner = "DDT entry not found for non-authoritative EID" output += "{} {}".format(lisp.lisp_print_sans(banner), lisp.lisp_print_cour(eid_str)) return (output + "<br>") #endif if (ddt_entry.is_auth_prefix()): if (group.is_null()): neg_prefix = lisp.lisp_ddt_compute_neg_prefix( eid, ddt_entry, lisp.lisp_ddt_cache) neg_prefix = lisp.lisp_print_cour(neg_prefix.print_prefix()), else: gneg_prefix = lisp.lisp_ddt_compute_neg_prefix( group, ddt_entry, lisp.lisp_ddt_cache) neg_prefix = lisp.lisp_ddt_compute_neg_prefix( eid, ddt_entry, ddt_entry.source_cache) neg_prefix = lisp.lisp_print_cour( \ "(" + neg_prefix.print_prefix() + ", ") gneg_prefix = lisp.lisp_print_cour( \ gneg_prefix.print_prefix() + ")") neg_prefix += gneg_prefix #endif output += "{} {} {} {} {} {}".format( \ lisp.lisp_print_sans("DDT authoritative-prefix entry"), lisp.lisp_print_cour(ddt_entry.print_eid_tuple()), lisp.lisp_print_sans("found for EID"), lisp.lisp_print_cour(eid_str), lisp.lisp_print_sans("<br><br>Computed negative-prefix"), neg_prefix) else: output += "{} {} {} {} {} {}".format( \ lisp.lisp_print_sans("DDT entry"), lisp.lisp_print_cour(ddt_entry.print_eid_tuple()), lisp.lisp_print_sans("found for EID"), lisp.lisp_print_cour(eid_str), lisp.lisp_print_sans(", delegation-type"), lisp.lisp_print_cour(ddt_entry.print_referral_type())) #endif return (output + "<br>")
def lisp_ddt_auth_prefix_command(kv_pair): ddt_entry = lisp.lisp_ddt_entry() for kw in list(kv_pair.keys()): value = kv_pair[kw] if (kw == "instance-id"): v = value.split("-") if (v[0] == ""): continue no_eid = ("eid-prefix" not in kv_pair or kv_pair["eid-prefix"] == "") no_group = ("group-prefix" not in kv_pair or kv_pair["group-prefix"] == "") if (no_eid and no_group): ddt_entry.eid.store_iid_range(int(v[0]), int(v[1])) else: ddt_entry.eid.instance_id = int(v[0]) ddt_entry.group.instance_id = int(v[0]) #endif #endif if (kw == "eid-prefix"): ddt_entry.eid.store_prefix(value) #endif if (kw == "group-prefix"): ddt_entry.group.store_prefix(value) #endif #endfor # # Do not configure auth-prefix if delegation already exists. Always give # a configured delegation priority over a configured auth-prefix. # ddt = lisp.lisp_ddt_cache_lookup(ddt_entry.eid, ddt_entry.group, True) if (ddt != None and ddt.is_auth_prefix() == False): return # # Store in map-cache data structures. # ddt_entry.add_cache() return
def o000O0o(eid_str): iI1iII1, oO0OOoo0OO, O0ii1ii1ii, oooooOoo0ooo = lispconfig.lisp_get_lookup_string( eid_str) if 6 - 6: I11i - Ii1I + iIii1I11I1II1 - I1Ii111 - i11iIiiIii if 79 - 79: OoOoOO00 - O0 * OoO0O00 + OoOoOO00 % O0 * O0 oOOo0 = "<br>" if 54 - 54: O0 - IiII % OOooOOo if 77 - 77: OoOoOO00 / I1IiiI / OoO0O00 + OoO0O00.OOooOOo if 38 - 38: I1Ii111 if 7 - 7: O0.iII111i % I1ii11iIi11i - I1IiiI - iIii1I11I1II1 Oo0o0000o0o0 = lisp.lisp_ddt_cache_lookup(iI1iII1, O0ii1ii1ii, oO0OOoo0OO) if (Oo0o0000o0o0 == None): I111IIIiIii = "DDT entry not found for non-authoritative EID" oOOo0 += "{} {}".format(lisp.lisp_print_sans(I111IIIiIii), lisp.lisp_print_cour(eid_str)) return (oOOo0 + "<br>") if 85 - 85: I1ii11iIi11i % iII111i % ooOoO0o if 82 - 82: i11iIiiIii - iII111i * OoooooooOO / I11i if (Oo0o0000o0o0.is_auth_prefix()): if (O0ii1ii1ii.is_null()): i1oOo = lisp.lisp_ddt_compute_neg_prefix(iI1iII1, Oo0o0000o0o0, lisp.lisp_ddt_cache) i1oOo = lisp.lisp_print_cour(i1oOo.print_prefix()), else: oOO00Oo = lisp.lisp_ddt_compute_neg_prefix(O0ii1ii1ii, Oo0o0000o0o0, lisp.lisp_ddt_cache) i1oOo = lisp.lisp_ddt_compute_neg_prefix(iI1iII1, Oo0o0000o0o0, Oo0o0000o0o0.source_cache) i1oOo = lisp.lisp_print_cour("(" + i1oOo.print_prefix() + ", ") if 6 - 6: oO0o oOO00Oo = lisp.lisp_print_cour(oOO00Oo.print_prefix() + ")") if 68 - 68: OoOoOO00 - OoO0O00 i1oOo += oOO00Oo if 28 - 28: OoO0O00.OOooOOo / OOooOOo + Oo0Ooo.I1ii11iIi11i if 1 - 1: iIii1I11I1II1 / II111iiii oOOo0 += "{} {} {} {} {} {}".format( lisp.lisp_print_sans("DDT authoritative-prefix entry"), # I11i . OoooooooOO lisp.lisp_print_cour(Oo0o0000o0o0.print_eid_tuple()), lisp.lisp_print_sans("found for EID"), lisp.lisp_print_cour(eid_str), lisp.lisp_print_sans("<br><br>Computed negative-prefix"), i1oOo) else: oOOo0 += "{} {} {} {} {} {}".format( lisp.lisp_print_sans("DDT entry"), # o0oOOo0O0Ooo % iII111i * O0 lisp.lisp_print_cour(Oo0o0000o0o0.print_eid_tuple()), lisp.lisp_print_sans("found for EID"), lisp.lisp_print_cour(eid_str), lisp.lisp_print_sans(", delegation-type"), lisp.lisp_print_cour(Oo0o0000o0o0.print_referral_type())) if 87 - 87: i11iIiiIii return (oOOo0 + "<br>") if 93 - 93: I1ii11iIi11i - OoO0O00 % i11iIiiIii.iII111i / iII111i - I1Ii111 if 9 - 9: I1ii11iIi11i / Oo0Ooo - I1IiiI / OoooooooOO / iIii1I11I1II1 - o0oOOo0O0Ooo if 91 - 91: iII111i % i1IIi % iIii1I11I1II1 if 20 - 20: OOooOOo % Ii1I / Ii1I + Ii1I if 45 - 45: oO0o - IiII - OoooooooOO - OoO0O00.II111iiii / O0 if 51 - 51: O0 + iII111i if 8 - 8: oO0o * OoOoOO00 - Ii1I - OoO0O00 * OOooOOo % I1IiiI
def O0ooo0O0oo0(eid_str): oo0oOo, o000O0o, iI1iII1, oO0OOoo0OO = lispconfig.lisp_get_lookup_string( eid_str) if 65 - 65: Ii1I.iIii1I11I1II1 / O0 - Ii1I if 21 - 21: I1IiiI * iIii1I11I1II1 oooooOoo0ooo = "<br>" if 6 - 6: I11i - Ii1I + iIii1I11I1II1 - I1Ii111 - i11iIiiIii if 79 - 79: OoOoOO00 - O0 * OoO0O00 + OoOoOO00 % O0 * O0 if 61 - 61: II111iiii if 64 - 64: ooOoO0o / OoOoOO00 - O0 - I11i Oo0o0000o0o0 = lisp.lisp_ddt_cache_lookup(oo0oOo, iI1iII1, o000O0o) if (Oo0o0000o0o0 == None): O0oOoOOOoOO = "DDT entry not found for non-authoritative EID" oooooOoo0ooo += "{} {}".format(lisp.lisp_print_sans(O0oOoOOOoOO), lisp.lisp_print_cour(eid_str)) return (oooooOoo0ooo + "<br>") if 38 - 38: I1Ii111 if 7 - 7: O0.iII111i % I1ii11iIi11i - I1IiiI - iIii1I11I1II1 if (Oo0o0000o0o0.is_auth_prefix()): if (iI1iII1.is_null()): I111IIIiIii = lisp.lisp_ddt_compute_neg_prefix( oo0oOo, Oo0o0000o0o0, lisp.lisp_ddt_cache) I111IIIiIii = lisp.lisp_print_cour(I111IIIiIii.print_prefix()), else: oO0000OOo00 = lisp.lisp_ddt_compute_neg_prefix( iI1iII1, Oo0o0000o0o0, lisp.lisp_ddt_cache) I111IIIiIii = lisp.lisp_ddt_compute_neg_prefix( oo0oOo, Oo0o0000o0o0, Oo0o0000o0o0.source_cache) I111IIIiIii = lisp.lisp_print_cour("(" + I111IIIiIii.print_prefix() + ", ") if 27 - 27: I1IiiI % I1IiiI oO0000OOo00 = lisp.lisp_print_cour(oO0000OOo00.print_prefix() + ")") if 1 - 1: OoO0O00 - oO0o.I11i.OoO0O00 / Oo0Ooo + I11i I111IIIiIii += oO0000OOo00 if 78 - 78: O0.oO0o.II111iiii % OOooOOo if 49 - 49: Ii1I / OoO0O00.II111iiii oooooOoo0ooo += "{} {} {} {} {} {}".format( lisp.lisp_print_sans("DDT authoritative-prefix entry"), # OOooOOo + Oo0Ooo . i11iIiiIii - i1IIi / iIii1I11I1II1 lisp.lisp_print_cour(Oo0o0000o0o0.print_eid_tuple()), lisp.lisp_print_sans("found for EID"), lisp.lisp_print_cour(eid_str), lisp.lisp_print_sans("<br><br>Computed negative-prefix"), I111IIIiIii) else: oooooOoo0ooo += "{} {} {} {} {} {}".format( lisp.lisp_print_sans("DDT entry"), # i11iIiiIii / I11i lisp.lisp_print_cour(Oo0o0000o0o0.print_eid_tuple()), lisp.lisp_print_sans("found for EID"), lisp.lisp_print_cour(eid_str), lisp.lisp_print_sans(", delegation-type"), lisp.lisp_print_cour(Oo0o0000o0o0.print_referral_type())) if 18 - 18: o0oOOo0O0Ooo % iII111i * O0 return (oooooOoo0ooo + "<br>") if 87 - 87: i11iIiiIii if 93 - 93: I1ii11iIi11i - OoO0O00 % i11iIiiIii.iII111i / iII111i - I1Ii111 if 9 - 9: I1ii11iIi11i / Oo0Ooo - I1IiiI / OoooooooOO / iIii1I11I1II1 - o0oOOo0O0Ooo if 91 - 91: iII111i % i1IIi % iIii1I11I1II1 if 20 - 20: OOooOOo % Ii1I / Ii1I + Ii1I if 45 - 45: oO0o - IiII - OoooooooOO - OoO0O00.II111iiii / O0 if 51 - 51: O0 + iII111i
def lisp_ms_show_site_lookup(input_str): eid, eid_exact, group, group_exact = \ lispconfig.lisp_get_lookup_string(input_str) output = "<br>" # # Do lookup in site-cache first. # site_eid = lisp.lisp_site_eid_lookup(eid, group, eid_exact) if (site_eid and site_eid.is_star_g() == False): eid_str = site_eid.print_eid_tuple() registered = lisp.green("registered", True) if site_eid.registered \ else lisp.red("not registered", True) output += "{} '{}' {} {} {} {} {} {}".format( \ lisp.lisp_print_sans("Site"), lisp.lisp_print_cour(site_eid.site.site_name), lisp.lisp_print_sans("entry"), lisp.lisp_print_cour(eid_str), lisp.lisp_print_sans("found for EID"), lisp.lisp_print_cour(input_str), lisp.lisp_print_sans("site EID is"), lisp.lisp_print_cour(registered)) return (output + "<br>") #endif # # Compute negative prefixes. # neg_prefix, gneg_prefix, action = \ lisp.lisp_ms_compute_neg_prefix(eid, group) if (group.is_null()): neg_prefix = lisp.lisp_print_cour(neg_prefix.print_prefix()) else: gneg_prefix = lisp.lisp_print_cour(gneg_prefix.print_prefix()) neg_prefix = lisp.lisp_print_cour(neg_prefix.print_prefix()) neg_prefix = "(" + neg_prefix + ", " + gneg_prefix + ")" #endif if (action == lisp.LISP_DDT_ACTION_NOT_AUTH): banner = "Site entry not found for non-authoritative EID" output += "{} {} {} {}".format( lisp.lisp_print_sans(banner), lisp.lisp_print_cour(input_str), lisp.lisp_print_sans("<br><br>Computed negative-prefix"), neg_prefix) #endif # # Try to find a auth-prefix in the DDT-cache. # if (action == lisp.LISP_DDT_ACTION_DELEGATION_HOLE): ddt_entry = lisp.lisp_ddt_cache_lookup(eid, group, False) if (ddt_entry == None or ddt_entry.is_auth_prefix() == False): banner = "Could not find Authoritative-prefix entry for" output += "{} {} {} {}".format( lisp.lisp_print_sans(banner), lisp.lisp_print_cour(input_str), lisp.lisp_print_sans("<br><br>Computed negative-prefix"), neg_prefix) else: eid_str = ddt_entry.print_eid_tuple() output += "{} {} {} {} {} {}".format( \ lisp.lisp_print_sans("Authoritative-prefix entry"), lisp.lisp_print_cour(eid_str), lisp.lisp_print_sans("found for EID"), lisp.lisp_print_cour(input_str), lisp.lisp_print_sans("<br><br>Computed negative-prefix"), neg_prefix) #endif #endif return (output + "<br>")