def lisp_ms_auth_prefix_command(kv_pair): ddt_entry = lisp.lisp_ddt_entry() for kw in kv_pair.keys(): value = kv_pair[kw] if (kw == "instance-id"): v = value.split("-") if (v[0] == ""): continue no_eid = (kv_pair.has_key("eid-prefix") == False or kv_pair["eid-prefix"] == "") no_group = (kv_pair.has_key("group-prefix") == False 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 # # Store in ddt-cache data structure. # ddt_entry.add_cache() return
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_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 oOOo0oo(kv_pair): o0oo0o0O00OO = [] for o0oO in range(len(kv_pair["eid-prefix"])): Oo0o0000o0o0 = lisp.lisp_ddt_entry() o0oo0o0O00OO.append(Oo0o0000o0o0) if 48 - 48: I11i + I11i / II111iiii / iIii1I11I1II1 if 20 - 20: o0oOOo0O0Ooo oO00 = [] if (kv_pair.has_key("eid-prefix")): for o0oO in kv_pair["eid-prefix"]: oO00.append(o0oO) if 53 - 53: OoooooooOO.i1IIi if 18 - 18: o0oOOo0O0Ooo I1i1I1II = [] if (kv_pair.has_key("address")): for o0oO in range(len(kv_pair["address"])): i1 = lisp.lisp_ddt_node() I1i1I1II.append(i1) if 48 - 48: O0 + O0 - I1ii11iIi11i.ooOoO0o / iIii1I11I1II1 if 77 - 77: i1IIi % OoOoOO00 - IiII + ooOoO0o if 31 - 31: I11i - i1IIi * OOooOOo / OoooooooOO for oo in kv_pair.keys(): IiII1I1i1i1ii = kv_pair[oo] if (oo == "instance-id"): for iI in range(len(o0oo0o0O00OO)): Oo0o0000o0o0 = o0oo0o0O00OO[iI] O0OoOoo00o = IiII1I1i1i1ii[iI].split("-") if (O0OoOoo00o[0] == ""): continue if 60 - 60: I11i / I11i OoOooOOOO = (kv_pair["eid-prefix"][iI] == "" and kv_pair["group-prefix"][iI] == "") if 46 - 46: Ii1I * OOooOOo - OoO0O00 * oO0o - I1Ii111 if (OoOooOOOO): 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 83 - 83: OoooooooOO if 31 - 31: II111iiii - OOooOOo.I1Ii111 % OoOoOO00 - O0 if 4 - 4: II111iiii / ooOoO0o.iII111i if (oo == "eid-prefix"): for iI in range(len(o0oo0o0O00OO)): Oo0o0000o0o0 = o0oo0o0O00OO[iI] O0oo0OO0oOOOo = IiII1I1i1i1ii[iI] if (O0oo0OO0oOOOo == ""): continue Oo0o0000o0o0.eid.store_prefix(O0oo0OO0oOOOo) if 35 - 35: IiII % I1IiiI if 70 - 70: iII111i * I1ii11iIi11i if (oo == "group-prefix"): for iI in range(len(o0oo0o0O00OO)): Oo0o0000o0o0 = o0oo0o0O00OO[iI] O0oo0OO0oOOOo = IiII1I1i1i1ii[iI] if (O0oo0OO0oOOOo == ""): continue Oo0o0000o0o0.group.store_prefix(O0oo0OO0oOOOo) if 46 - 46: ooOoO0o / OoO0O00 if 52 - 52: o0oOOo0O0Ooo - OoooooooOO + Ii1I + Ii1I - o0oOOo0O0Ooo / I1Ii111 if 44 - 44: ooOoO0o.i1IIi - I1ii11iIi11i.O0 - ooOoO0o if (oo == "priority"): for iI in range(len(I1i1I1II)): i1 = I1i1I1II[iI] O0OoOoo00o = IiII1I1i1i1ii[iI] if (O0OoOoo00o == ""): O0OoOoo00o = "0" i1.priority = int(O0OoOoo00o) if 92 - 92: iII111i.I11i + o0oOOo0O0Ooo if 28 - 28: i1IIi * Oo0Ooo - o0oOOo0O0Ooo * IiII * Ii1I / OoO0O00 if (oo == "weight"): for iI in range(len(I1i1I1II)): i1 = I1i1I1II[iI] O0OoOoo00o = IiII1I1i1i1ii[iI] if (O0OoOoo00o == ""): O0OoOoo00o = "0" i1.weight = int(O0OoOoo00o) if 94 - 94: II111iiii % I1ii11iIi11i / OoOoOO00 * iIii1I11I1II1 if 54 - 54: o0oOOo0O0Ooo - I1IiiI + OoooooooOO if (oo == "address"): for iI in range(len(I1i1I1II)): i1 = I1i1I1II[iI] O0OoOoo00o = IiII1I1i1i1ii[iI] if (O0OoOoo00o != ""): i1.delegate_address.store_address(O0OoOoo00o) if 70 - 70: Ii1I / I11i.iII111i % Oo0Ooo if 67 - 67: OoOoOO00 * o0oOOo0O0Ooo.IiII - OoO0O00 * o0oOOo0O0Ooo if (oo == "public_key"): for iI in range(len(I1i1I1II)): i1 = I1i1I1II[iI] O0OoOoo00o = IiII1I1i1i1ii[iI] i1.public_key = O0OoOoo00o if 46 - 46: OOooOOo + OoOoOO00.I1IiiI * oO0o % IiII if 86 - 86: I1IiiI + Ii1I % i11iIiiIii * oO0o.ooOoO0o * I11i if (oo == "node-type"): for iI in range(len(I1i1I1II)): i1 = I1i1I1II[iI] O0OoOoo00o = IiII1I1i1i1ii[iI] if (O0OoOoo00o == "map-server-child"): i1.map_server_child = True if 44 - 44: oO0o if 88 - 88: I1Ii111 % Ii1I.II111iiii if 38 - 38: o0oOOo0O0Ooo if 57 - 57: O0 / oO0o * I1Ii111 / OoOoOO00.II111iiii if 26 - 26: iII111i if 91 - 91: OoO0O00.I1ii11iIi11i + OoO0O00 - iII111i / OoooooooOO if 39 - 39: I1ii11iIi11i / ooOoO0o - II111iiii if 98 - 98: I1ii11iIi11i / I11i % oO0o.OoOoOO00 for Oo0o0000o0o0 in o0oo0o0O00OO: Oo0o0000o0o0.add_cache() for i1 in I1i1I1II: Oo0o0000o0o0.delegation_set.append(i1) if 91 - 91: oO0o % Oo0Ooo if 64 - 64: I11i % iII111i - I1Ii111 - oO0o return if 31 - 31: I11i - II111iiii.I11i if 18 - 18: o0oOOo0O0Ooo if 98 - 98: iII111i * iII111i / iII111i + I11i if 34 - 34: ooOoO0o if 15 - 15: I11i * ooOoO0o * Oo0Ooo % i11iIiiIii % OoOoOO00 - OOooOOo if 68 - 68: I1Ii111 % i1IIi.IiII.I1ii11iIi11i if 92 - 92: iII111i.I1Ii111 if 31 - 31: I1Ii111.OoOoOO00 / O0
def oOOo0oo(kv_pair): o0oo0o0O00OO = [] if (lispconfig.lisp_clause_syntax_error(kv_pair, "eid-prefix", "prefix")): return for o0oO in range(len(kv_pair["eid-prefix"])): Oo0o0000o0o0 = lisp.lisp_ddt_entry() o0oo0o0O00OO.append(Oo0o0000o0o0) if 48 - 48: I11i + I11i / II111iiii / iIii1I11I1II1 if 20 - 20: o0oOOo0O0Ooo oO00 = [] for o0oO in kv_pair["eid-prefix"]: oO00.append(o0oO) if 53 - 53: OoooooooOO.i1IIi ii1I1i1I = [] if (lispconfig.lisp_clause_syntax_error(kv_pair, "address", "delegate")): return for o0oO in range(len(kv_pair["address"])): OOoo0O0 = lisp.lisp_ddt_node() ii1I1i1I.append(OOoo0O0) if 41 - 41: oO0o if 6 - 6: I1ii11iIi11i for oo in list(kv_pair.keys()): IiII1I1i1i1ii = kv_pair[oo] if (oo == "instance-id"): for I1I in range(len(o0oo0o0O00OO)): Oo0o0000o0o0 = o0oo0o0O00OO[I1I] O0OoOoo00o = IiII1I1i1i1ii[I1I].split("-") if (O0OoOoo00o[0] == ""): continue if 80 - 80: OoOoOO00 - OoO0O00 OoOooOOOO = (kv_pair["eid-prefix"][I1I] == "" and kv_pair["group-prefix"][I1I] == "") if 87 - 87: oO0o / I11i - i1IIi * OOooOOo / OoooooooOO.O0 if (OoOooOOOO): 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 1 - 1: II111iiii - I11i / I11i if 46 - 46: Ii1I * OOooOOo - OoO0O00 * oO0o - I1Ii111 if 83 - 83: OoooooooOO if (oo == "eid-prefix"): for I1I in range(len(o0oo0o0O00OO)): Oo0o0000o0o0 = o0oo0o0O00OO[I1I] Iii111II = IiII1I1i1i1ii[I1I] if (Iii111II == ""): continue Oo0o0000o0o0.eid.store_prefix(Iii111II) if 9 - 9: OoO0O00 if 33 - 33: ooOoO0o.iII111i if (oo == "group-prefix"): for I1I in range(len(o0oo0o0O00OO)): Oo0o0000o0o0 = o0oo0o0O00OO[I1I] Iii111II = IiII1I1i1i1ii[I1I] if (Iii111II == ""): continue Oo0o0000o0o0.group.store_prefix(Iii111II) if 58 - 58: OOooOOo * i11iIiiIii / OoOoOO00 % I1Ii111 - I1ii11iIi11i / oO0o if 50 - 50: I1IiiI if 34 - 34: I1IiiI * II111iiii % iII111i * OoOoOO00 - I1IiiI if (oo == "priority"): for I1I in range(len(ii1I1i1I)): OOoo0O0 = ii1I1i1I[I1I] O0OoOoo00o = IiII1I1i1i1ii[I1I] if (O0OoOoo00o == ""): O0OoOoo00o = "0" OOoo0O0.priority = int(O0OoOoo00o) if 33 - 33: o0oOOo0O0Ooo + OOooOOo * OoO0O00 - Oo0Ooo / oO0o % Ii1I if 21 - 21: OoO0O00 * iIii1I11I1II1 % oO0o * i1IIi if (oo == "weight"): for I1I in range(len(ii1I1i1I)): OOoo0O0 = ii1I1i1I[I1I] O0OoOoo00o = IiII1I1i1i1ii[I1I] if (O0OoOoo00o == ""): O0OoOoo00o = "0" OOoo0O0.weight = int(O0OoOoo00o) if 16 - 16: O0 - I1Ii111 * iIii1I11I1II1 + iII111i if 50 - 50: II111iiii - ooOoO0o * I1ii11iIi11i / I1Ii111 + o0oOOo0O0Ooo if (oo == "address"): for I1I in range(len(ii1I1i1I)): OOoo0O0 = ii1I1i1I[I1I] O0OoOoo00o = IiII1I1i1i1ii[I1I] if (O0OoOoo00o != ""): OOoo0O0.delegate_address.store_address(O0OoOoo00o) if 88 - 88: Ii1I / I1Ii111 + iII111i - II111iiii / ooOoO0o - OoOoOO00 if 15 - 15: I1ii11iIi11i + OoOoOO00 - OoooooooOO / OOooOOo if (oo == "public_key"): for I1I in range(len(ii1I1i1I)): OOoo0O0 = ii1I1i1I[I1I] O0OoOoo00o = IiII1I1i1i1ii[I1I] OOoo0O0.public_key = O0OoOoo00o if 58 - 58: i11iIiiIii % I11i if 71 - 71: OOooOOo + ooOoO0o % i11iIiiIii + I1ii11iIi11i - IiII if (oo == "node-type"): for I1I in range(len(ii1I1i1I)): OOoo0O0 = ii1I1i1I[I1I] O0OoOoo00o = IiII1I1i1i1ii[I1I] if (O0OoOoo00o == "map-server-child"): OOoo0O0.map_server_child = True if 88 - 88: OoOoOO00 - OoO0O00 % OOooOOo if 16 - 16: I1IiiI * oO0o % IiII if 86 - 86: I1IiiI + Ii1I % i11iIiiIii * oO0o.ooOoO0o * I11i if 44 - 44: oO0o if 88 - 88: I1Ii111 % Ii1I.II111iiii if 38 - 38: o0oOOo0O0Ooo if 57 - 57: O0 / oO0o * I1Ii111 / OoOoOO00.II111iiii if 26 - 26: iII111i for Oo0o0000o0o0 in o0oo0o0O00OO: Oo0o0000o0o0.add_cache() for OOoo0O0 in ii1I1i1I: Oo0o0000o0o0.delegation_set.append(OOoo0O0) if 91 - 91: OoO0O00.I1ii11iIi11i + OoO0O00 - iII111i / OoooooooOO if 39 - 39: I1ii11iIi11i / ooOoO0o - II111iiii return if 98 - 98: I1ii11iIi11i / I11i % oO0o.OoOoOO00 if 91 - 91: oO0o % Oo0Ooo if 64 - 64: I11i % iII111i - I1Ii111 - oO0o if 31 - 31: I11i - II111iiii.I11i if 18 - 18: o0oOOo0O0Ooo if 98 - 98: iII111i * iII111i / iII111i + I11i if 34 - 34: ooOoO0o if 15 - 15: I11i * ooOoO0o * Oo0Ooo % i11iIiiIii % OoOoOO00 - OOooOOo
def lisp_ms_map_server_peer_command(kv_pair): prefix_set = [] for i in range(len(kv_pair["eid-prefix"])): ddt_entry = lisp.lisp_ddt_entry() prefix_set.append(ddt_entry) #endwhile peer_set = [] if (kv_pair.has_key("address")): for i in range(len(kv_pair["address"])): peer = lisp.lisp_ddt_node() peer.map_server_peer = True peer_set.append(peer) #endfor #endif for kw in kv_pair.keys(): value = kv_pair[kw] if (kw == "instance-id"): for index in range(len(prefix_set)): ddt_entry = prefix_set[index] v = value[index].split("-") if (v[0] == ""): continue no_eid = (kv_pair["eid-prefix"][index] == "" and kv_pair["group-prefix"][index] == "") if (no_eid): 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 #endfor #endif if (kw == "eid-prefix"): for index in range(len(prefix_set)): ddt_entry = prefix_set[index] prefix_str = value[index] if (prefix_str == ""): continue ddt_entry.eid.store_prefix(prefix_str) #endfor #endif if (kw == "group-prefix"): for index in range(len(prefix_set)): ddt_entry = prefix_set[index] prefix_str = value[index] if (prefix_str == ""): continue ddt_entry.group.store_prefix(prefix_str) #endfor #endif if (kw == "address"): for i in range(len(peer_set)): peer = peer_set[i] v = value[i] if (v != ""): peer.delegate_address.store_address(v) #endfor #endif if (kw == "priority"): for i in range(len(peer_set)): peer = peer_set[i] v = value[i] if (v == ""): v = "0" peer.priority = int(v) #endfor #endif if (kw == "weight"): for i in range(len(peer_set)): peer = peer_set[i] v = value[i] if (v == ""): v = "0" peer.weight = int(v) #endfor #endif #endfor # # All the prefixes in the prefix_set are stored and in the lisp_ddt_ # cache. Now we have to point all of them to each peer set. # for ddt_entry in prefix_set: ddt_entry.add_cache() for peer in peer_set: ddt_entry.delegation_set.append(peer) #endfor #endfor return
def lisp_ddt_delegation_command(kv_pair): prefix_set = [] if (lispconfig.lisp_clause_syntax_error(kv_pair, "eid-prefix", "prefix")): return for i in range(len(kv_pair["eid-prefix"])): ddt_entry = lisp.lisp_ddt_entry() prefix_set.append(ddt_entry) #endwhile eid_prefix_list = [] for i in kv_pair["eid-prefix"]: eid_prefix_list.append(i) child_set = [] if (lispconfig.lisp_clause_syntax_error(kv_pair, "address", "delegate")): return for i in range(len(kv_pair["address"])): child = lisp.lisp_ddt_node() child_set.append(child) #endfor for kw in list(kv_pair.keys()): value = kv_pair[kw] if (kw == "instance-id"): for index in range(len(prefix_set)): ddt_entry = prefix_set[index] v = value[index].split("-") if (v[0] == ""): continue no_eid = (kv_pair["eid-prefix"][index] == "" and kv_pair["group-prefix"][index] == "") if (no_eid): 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 #endfor #endif if (kw == "eid-prefix"): for index in range(len(prefix_set)): ddt_entry = prefix_set[index] prefix_str = value[index] if (prefix_str == ""): continue ddt_entry.eid.store_prefix(prefix_str) #endfor #endif if (kw == "group-prefix"): for index in range(len(prefix_set)): ddt_entry = prefix_set[index] prefix_str = value[index] if (prefix_str == ""): continue ddt_entry.group.store_prefix(prefix_str) #endfor #endif if (kw == "priority"): for index in range(len(child_set)): child = child_set[index] v = value[index] if (v == ""): v = "0" child.priority = int(v) #endfor #endif if (kw == "weight"): for index in range(len(child_set)): child = child_set[index] v = value[index] if (v == ""): v = "0" child.weight = int(v) #endfor #endif if (kw == "address"): for index in range(len(child_set)): child = child_set[index] v = value[index] if (v != ""): child.delegate_address.store_address(v) #endfor #endif if (kw == "public_key"): for index in range(len(child_set)): child = child_set[index] v = value[index] child.public_key = v #endfor #endif if (kw == "node-type"): for index in range(len(child_set)): child = child_set[index] v = value[index] if (v == "map-server-child"): child.map_server_child = True #endfor #endif #endfor # # All the prefixes in the prefix_set are stored and in the lisp_ddt_ # cache. Now we have to point all of them to each child set. # for ddt_entry in prefix_set: ddt_entry.add_cache() for child in child_set: ddt_entry.delegation_set.append(child) #endfor #endfor return