def lisp_rtr_xtr_command(kv_pair): global lisp_ephem_listen_socket, lisp_raw_socket, lisp_ephem_port rloc_probing = lisp.lisp_rloc_probing # # Execute command. # lispconfig.lisp_xtr_command(kv_pair) # # Trigger if "rloc-probing = yes" just happened and it was previously # set to "no". # if (rloc_probing == False and lisp.lisp_rloc_probing): lisp_sockets = [lisp_ephem_listen_socket, lisp_ephem_listen_socket, None, lisp_raw_socket] lisp.lisp_start_rloc_probe_timer(1, lisp_sockets) entry = { "type" : "itr-crypto-port", "port" : lisp_ephem_port } lisp.lisp_write_to_dp_socket(entry) #endif # # Write to external data-plane if enabled. # lisp.lisp_ipc_write_xtr_parameters(lisp.lisp_debug_logging, lisp.lisp_data_plane_logging) return
def o00oo0000(kv_pair): global i111I, iiI1iIiI, II1Ii1iI1i if 44 - 44: Oo0Ooo % iIii1I11I1II1 oo0ooO0 = lisp.lisp_rloc_probing if 28 - 28: I1ii11iIi11i * OoooooooOO.II111iiii / i11iIiiIii + oO0o if 38 - 38: IiII.Ii1I if 24 - 24: o0oOOo0O0Ooo - o0oOOo0O0Ooo + I1ii11iIi11i + I1IiiI - oO0o if 12 - 12: iII111i.IiII.OoOoOO00 / O0 lispconfig.lisp_xtr_command(kv_pair) if 58 - 58: o0oOOo0O0Ooo - II111iiii % oO0o + I1Ii111.OoOoOO00 / IiII if 8 - 8: I1ii11iIi11i.OoO0O00 * I11i + II111iiii % i11iIiiIii if 8 - 8: ooOoO0o * O0 if 73 - 73: o0oOOo0O0Ooo / oO0o / I11i / OoO0O00 if 11 - 11: OoOoOO00 + IiII - OoooooooOO / OoO0O00 if (oo0ooO0 == False and lisp.lisp_rloc_probing): iI1Ii11iII1 = [i111I, i111I, None, iiI1iIiI] lisp.lisp_start_rloc_probe_timer(1, iI1Ii11iII1) iIIi1iI1I1IIi = {"type": "itr-crypto-port", "port": II1Ii1iI1i} lisp.lisp_write_to_dp_socket(iIIi1iI1I1IIi) if 77 - 77: ooOoO0o / Oo0Ooo + ooOoO0o % o0oOOo0O0Ooo - I1IiiI * I1IiiI if 23 - 23: iII111i.II111iiii % I1ii11iIi11i - OoooooooOO * Oo0Ooo.iIii1I11I1II1 if 37 - 37: iII111i / Oo0Ooo.I11i * I11i if 80 - 80: OOooOOo % I1ii11iIi11i if 91 - 91: I11i / O0 - Ii1I.I1IiiI lisp.lisp_ipc_write_xtr_parameters(lisp.lisp_debug_logging, lisp.lisp_data_plane_logging) return if 82 - 82: IiII * OOooOOo / oO0o if 2 - 2: I1IiiI + o0oOOo0O0Ooo.o0oOOo0O0Ooo.O0 / I11i if 40 - 40: o0oOOo0O0Ooo - II111iiii / Oo0Ooo if 14 - 14: I1ii11iIi11i if 5 - 5: o0oOOo0O0Ooo.iIii1I11I1II1 % iIii1I11I1II1
def iI(kv_pair): global i111I, iiI1iIiI, II1Ii1iI1i if 19 - 19: II111iiii OoOO = lisp.lisp_rloc_probing if 32 - 32: OoOoOO00 * I1IiiI % ooOoO0o * Ii1I.O0 if 48 - 48: iII111i * iII111i if 13 - 13: Ii1I / I11i + OoOoOO00.o0oOOo0O0Ooo % ooOoO0o if 48 - 48: I1IiiI / i11iIiiIii - o0oOOo0O0Ooo * oO0o / OoooooooOO lispconfig.lisp_xtr_command(kv_pair) if 89 - 89: iIii1I11I1II1 / I1IiiI - II111iiii / Ii1I.i11iIiiIii.Ii1I if 48 - 48: O0 + O0.I1Ii111 - ooOoO0o if 63 - 63: oO0o if 71 - 71: i1IIi.Ii1I * iII111i % OoooooooOO + OOooOOo if 36 - 36: IiII if (OoOO == False and lisp.lisp_rloc_probing): iI1Ii11iII1 = [i111I, i111I, None, iiI1iIiI] lisp.lisp_start_rloc_probe_timer(1, iI1Ii11iII1) i1iiI = {"type": "itr-crypto-port", "port": II1Ii1iI1i} lisp.lisp_write_to_dp_socket(i1iiI) if 74 - 74: I1Ii111 % I1ii11iIi11i if 7 - 7: II111iiii if 27 - 27: oO0o.OoooooooOO + i11iIiiIii if 86 - 86: I11i / o0oOOo0O0Ooo - o0oOOo0O0Ooo + I1ii11iIi11i + oO0o if 33 - 33: o0oOOo0O0Ooo.iII111i.IiII.i1IIi lisp.lisp_ipc_write_xtr_parameters(lisp.lisp_debug_logging, lisp.lisp_data_plane_logging) return if 49 - 49: I1ii11iIi11i if 84 - 84: I11i - Oo0Ooo / O0 - I1Ii111 if 21 - 21: O0 * O0 % I1ii11iIi11i if 94 - 94: I11i + II111iiii % i11iIiiIii if 8 - 8: ooOoO0o * O0
def iIIi1iI1I1IIi(kv_pair): global II1Ii1iI1i, OOo, iiI1iIiI if 77 - 77: ooOoO0o / Oo0Ooo + ooOoO0o % o0oOOo0O0Ooo - I1IiiI * I1IiiI I1 = lisp.lisp_rloc_probing if 69 - 69: I1ii11iIi11i - I1Ii111 if 16 - 16: Oo0Ooo if 14 - 14: i1IIi - O0 % Oo0Ooo if 92 - 92: Ii1I % iII111i / I1ii11iIi11i % I1ii11iIi11i * I1IiiI lispconfig.lisp_xtr_command(kv_pair) if 74 - 74: O0.I1IiiI % OoO0O00 % IiII if 87 - 87: oO0o - i11iIiiIii if 78 - 78: i11iIiiIii / iIii1I11I1II1 - o0oOOo0O0Ooo if 23 - 23: I11i if 40 - 40: o0oOOo0O0Ooo - II111iiii / Oo0Ooo if (I1 == False and lisp.lisp_rloc_probing): iI1Ii11iII1 = [II1Ii1iI1i, II1Ii1iI1i, None, OOo] lisp.lisp_start_rloc_probe_timer(1, iI1Ii11iII1) iiIiI1ii = {"type": "itr-crypto-port", "port": iiI1iIiI} lisp.lisp_write_to_dp_socket(iiIiI1ii) if 56 - 56: OoooooooOO - I11i - i1IIi if 8 - 8: I1Ii111 / OOooOOo.I1IiiI + I1ii11iIi11i / i11iIiiIii if 31 - 31: ooOoO0o - iIii1I11I1II1 + iII111i.Oo0Ooo / IiII % iIii1I11I1II1 if 6 - 6: IiII * i11iIiiIii % iIii1I11I1II1 % i11iIiiIii + o0oOOo0O0Ooo / i1IIi if 53 - 53: I11i + iIii1I11I1II1 lisp.lisp_ipc_write_xtr_parameters(lisp.lisp_debug_logging, lisp.lisp_data_plane_logging) return if 70 - 70: I1ii11iIi11i if 67 - 67: OoooooooOO if 29 - 29: O0 - i11iIiiIii - II111iiii + OOooOOo * IiII if 2 - 2: i1IIi - ooOoO0o + I1IiiI.o0oOOo0O0Ooo * o0oOOo0O0Ooo / OoOoOO00 if 93 - 93: i1IIi
def lisp_itr_xtr_command(kv_pair): global lisp_ephem_listen_socket # # Cache current state for nat-traversal and rloc-probing so we know if # we should trigger.. # nat_traversal = lisp.lisp_nat_traversal rloc_probing = lisp.lisp_rloc_probing # # Execute command. # lispconfig.lisp_xtr_command(kv_pair) # # Did "nat-traversal = yes" or "rloc-probing = yes" just happen? # nat_now_on = (nat_traversal == False and lisp.lisp_nat_traversal and \ lisp.lisp_rloc_probing) rloc_probing_now_on = (rloc_probing == False and lisp.lisp_rloc_probing) interval = 0 if (rloc_probing_now_on): interval = 1 if (nat_now_on): interval = 5 if (interval != 0): lisp_sockets = [lisp_ephem_listen_socket, lisp_ephem_listen_socket] lisp.lisp_start_rloc_probe_timer(interval, lisp_sockets) #endif # # If nat-traversal=yes and data-plane-security=yes on an ITR, then we # need to set source port in RLOC-probe requrests and encapsulated data # packets to be the same value. # if (lisp.lisp_crypto_ephem_port == None and lisp.lisp_data_plane_security): port = lisp_ephem_listen_socket.getsockname()[1] lisp.lisp_crypto_ephem_port = port lisp.lprint("Use port {} for lisp-crypto packets".format(port)) entry = { "type" : "itr-crypto-port", "port" : port } lisp.lisp_write_to_dp_socket(entry) #endif # # Write to external data-plane if enabled. # lisp.lisp_ipc_write_xtr_parameters(lisp.lisp_debug_logging, lisp.lisp_data_plane_logging) return