Auto-generated patch by python-black
[integration/test.git] / tools / odl-lispflowmapping-performance-tests / create_lisp_control_plane_pcap.py
index 5dd11181557e09571549e34230b2f90f158d24cd..00ed0e70f57c6fd059877fd2947d05977a200edf 100755 (executable)
@@ -29,8 +29,9 @@ def generate_eids_random(base, n):
     """
     eids = []
     for i in range(0, n):
-        eids.append(str(netaddr.IPAddress(base) +
-                        random.randint(0, (n - 1) * increment)))
+        eids.append(
+            str(netaddr.IPAddress(base) + random.randint(0, (n - 1) * increment))
+        )
     return eids
 
 
@@ -57,12 +58,12 @@ def generate_map_request(eid):
     """
     sport1 = random.randint(60000, 65000)
     sport2 = random.randint(60000, 65000)
-    rnonce = random.randint(0, 2**63)
+    rnonce = random.randint(0, 2 ** 63)
 
     itr_rloc = [lisp.LISP_AFI_Address(address=src_rloc, afi=1)]
-    record = [lisp.LISP_MapRequestRecord(request_address=eid,
-                                         request_afi=1,
-                                         eid_mask_len=32)]
+    record = [
+        lisp.LISP_MapRequestRecord(request_address=eid, request_afi=1, eid_mask_len=32)
+    ]
 
     packet = lisp.Ether(dst=dst_mac, src=src_mac)
     packet /= lisp.IP(dst=dst_rloc, src=src_rloc)
@@ -70,72 +71,123 @@ def generate_map_request(eid):
     packet /= lisp.LISP_Encapsulated_Control_Message(ptype=8)
     packet /= lisp.IP(dst=eid, src=src_eid)
     packet /= lisp.UDP(sport=sport2, dport=4342)
-    packet /= lisp.LISP_MapRequest(nonce=rnonce, request_afi=1,
-                                   address=src_eid, ptype=1,
-                                   itr_rloc_records=itr_rloc,
-                                   request_records=record)
+    packet /= lisp.LISP_MapRequest(
+        nonce=rnonce,
+        request_afi=1,
+        address=src_eid,
+        ptype=1,
+        itr_rloc_records=itr_rloc,
+        request_records=record,
+    )
     return packet
 
 
-def generate_map_register(eid, rloc):
+def generate_map_register(eid, rloc, key_id):
     """Create a LISP Map-Register packet as a Scapy object
     Args:
         :param eid: A string used as the EID record
         :param rloc: A string used as the RLOC
+        :param key_id: Integer value specifying the authentication type
     Returns:
         :return : returns a Scapy Map-Request packet object
     """
     sport1 = random.randint(60000, 65000)
-    sport2 = random.randint(60000, 65000)
-    rnonce = random.randint(0, 2**63)
-
-    rlocs = [lisp.LISP_Locator_Record(priority=1, weight=1,
-                                      multicast_priority=255,
-                                      multicast_weight=0,
-                                      reserved=0, locator_flags=5,
-                                      locator_afi=1, address=rloc)]
-
-    record = [lisp.LISP_MapRecord(record_ttl=1440, locator_count=1,
-                                  eid_prefix_length=32, action=0,
-                                  authoritative=1, reserved=0,
-                                  map_version_number=0, record_afi=1,
-                                  record_address=eid, locators=rlocs)]
+    rnonce = random.randint(0, 2 ** 63)
+
+    rlocs = [
+        lisp.LISP_Locator_Record(
+            priority=1,
+            weight=1,
+            multicast_priority=255,
+            multicast_weight=0,
+            reserved=0,
+            locator_flags=5,
+            locator_afi=1,
+            address=rloc,
+        )
+    ]
+
+    record = [
+        lisp.LISP_MapRecord(
+            record_ttl=1440,
+            locator_count=1,
+            eid_prefix_length=32,
+            action=0,
+            authoritative=1,
+            reserved=0,
+            map_version_number=0,
+            record_afi=1,
+            record_address=eid,
+            locators=rlocs,
+        )
+    ]
 
     packet = lisp.Ether(dst=dst_mac, src=src_mac)
     packet /= lisp.IP(dst=dst_rloc, src=src_rloc)
     packet /= lisp.UDP(sport=sport1, dport=4342)
-    packet /= lisp.LISP_MapRegister(ptype=3, nonce=rnonce,
-                                    register_flags=1,
-                                    register_count=1,
-                                    register_records=record)
+    packet /= lisp.LISP_MapRegister(
+        ptype=3,
+        nonce=rnonce,
+        register_flags=10,
+        additional_register_flags=1,
+        register_count=1,
+        key_id=key_id,
+        register_records=record,
+        xtr_id_low=netaddr.IPAddress(eid),
+    )
     return packet
 
-parser = argparse.ArgumentParser(description='Create a Map-Request trace file')
-
-parser.add_argument('--dst-mac', default='00:00:00:00:00:00',
-                    help='Map-Request destination MAC address \
-                        (default is 00:00:00:00:00:00)')
-parser.add_argument('--src-mac', default='00:00:00:00:00:00',
-                    help='Map-Request source MAC address \
-                        (default is 00:00:00:00:00:00)')
-parser.add_argument('--dst-rloc', default='127.0.0.1',
-                    help='Send Map-Request to the Map-Server with this RLOC \
-                        (default is 127.0.0.1)')
-parser.add_argument('--src-rloc', default='127.0.0.1',
-                    help='Send Map-Request with this source RLOC \
-                        (default is 127.0.0.1)')
-parser.add_argument('--src-eid', default='192.0.2.1',
-                    help='Send Map-Request with this source EID \
-                        (default is 192.0.2.1)')
-parser.add_argument('--base-eid', default='10.0.0.0',
-                    help='Start incrementing EID from this address \
-                        (default is 10.0.0.0)')
-parser.add_argument('--requests', type=int, default=1,
-                    help='Number of requests to create (default 1)')
-parser.add_argument('--increment', type=int, default=1,
-                    help='Increment EID requests (default 1)')
-parser.add_argument('--random', type=bool, default=False,
-                    help='Create random EID requests (default False)')
+
+parser = argparse.ArgumentParser(description="Create a Map-Request trace file")
+
+parser.add_argument(
+    "--dst-mac",
+    default="00:00:00:00:00:00",
+    help="Map-Request destination MAC address \
+                        (default is 00:00:00:00:00:00)",
+)
+parser.add_argument(
+    "--src-mac",
+    default="00:00:00:00:00:00",
+    help="Map-Request source MAC address \
+                        (default is 00:00:00:00:00:00)",
+)
+parser.add_argument(
+    "--dst-rloc",
+    default="127.0.0.1",
+    help="Send Map-Request to the Map-Server with this RLOC \
+                        (default is 127.0.0.1)",
+)
+parser.add_argument(
+    "--src-rloc",
+    default="127.0.0.1",
+    help="Send Map-Request with this source RLOC \
+                        (default is 127.0.0.1)",
+)
+parser.add_argument(
+    "--src-eid",
+    default="192.0.2.1",
+    help="Send Map-Request with this source EID \
+                        (default is 192.0.2.1)",
+)
+parser.add_argument(
+    "--base-eid",
+    default="10.0.0.0",
+    help="Start incrementing EID from this address \
+                        (default is 10.0.0.0)",
+)
+parser.add_argument(
+    "--requests", type=int, default=1, help="Number of requests to create (default 1)"
+)
+parser.add_argument(
+    "--increment", type=int, default=1, help="Increment EID requests (default 1)"
+)
+parser.add_argument(
+    "--random",
+    type=bool,
+    default=False,
+    help="Create random EID requests (default False)",
+)
 
 in_args = parser.parse_args()
 dst_mac = in_args.dst_mac
@@ -148,22 +200,28 @@ increment = in_args.increment
 seq_eids = generate_eids_sequential(in_args.base_eid, in_args.requests)
 seq_pkts_mreq = []
 seq_pkts_mreg = []
+seq_pkts_mrga = []
 
 for eid in seq_eids:
     seq_pkts_mreq.append(generate_map_request(eid))
-    seq_pkts_mreg.append(generate_map_register(eid, eid))
+    seq_pkts_mreg.append(generate_map_register(eid, eid, 0))
+    seq_pkts_mrga.append(generate_map_register(eid, eid, 1))
 
 lisp.wrpcap("encapsulated-map-requests-sequential.pcap", seq_pkts_mreq)
-lisp.wrpcap("map-registers-sequential.pcap", seq_pkts_mreg)
+lisp.wrpcap("map-registers-sequential-no-auth.pcap", seq_pkts_mreg)
+lisp.wrpcap("map-registers-sequential-sha1-auth.pcap", seq_pkts_mrga)
 
 if in_args.random is True:
     rand_eids = generate_eids_random(in_args.base_eid, in_args.requests)
     rand_pkts_mreq = []
     rand_pkts_mreg = []
+    rand_pkts_mrga = []
 
     for eid in rand_eids:
         rand_pkts_mreq.append(generate_map_request(eid))
-        rand_pkts_mreg.append(generate_map_register(eid, eid))
+        rand_pkts_mreg.append(generate_map_register(eid, eid, 0))
+        rand_pkts_mrga.append(generate_map_register(eid, eid, 1))
 
     lisp.wrpcap("encapsulated-map-requests-random.pcap", rand_pkts_mreq)
-    lisp.wrpcap("map-registers-random.pcap", rand_pkts_mreg)
+    lisp.wrpcap("map-registers-random-no-auth.pcap", rand_pkts_mreg)
+    lisp.wrpcap("map-registers-random-sha1-auth.pcap", rand_pkts_mreg)