PacketRusher Blueprint

The PacketRusher blueprint allows for the deployment and management of PacketRusher, a high-performance UEFI and gNB simulator for 5G core networks.

Creation

To instantiate a PacketRusher blueprint, send a POST request with the following JSON structure:

Request Body (Creation)

{
  "config": {
    "network_endpoints": {
      "mgt": "CTE-control",
      "n2": "CTE-control",
      "n3": "CTE-control"
    }
  },
  "areas": [
    {
      "id": 3,
      "sims": [
        {
          "imsi": "001011000000001",
          "plmn": "00101",
          "key": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
          "op": "112233445566778899AABBCCDDEEFF00",
          "opType": "OPC",
          "configured_nssai": [
            {
              "sst": 1,
              "sd": "000001"
            }
          ],
          "default_nssai": [
            {
              "sst": 1,
              "sd": "000001"
            }
          ],
          "sessions": [
            {
              "type": "IPv4",
              "dnn": "internet",
              "slice": {
                "sst": 1,
                "sd": "000001"
              }
            }
          ]
        }
      ]
    }
  ]
}

Parameters

  • config.network_endpoints:

    • mgt: (String) Management network name.

    • n2: (String) N2 control plane network name.

    • n3: (String) N3 data plane network name.

  • areas: List of area objects.

    • id: (Integer) Area identifier (used as TAC).

    • sims: List of SIM configurations.

      • imsi: (String) IMSI of the UE.

      • plmn: (String) PLMN ID.

      • key: (String) Secret key (K).

      • op: (String) Operator code (OP or OPC).

      • opType: (String) Type of operator code, e.g., “OPC”.

      • amf: (Integer, optional) AMF identifier.

      • configured_nssai: (List of Slices) Configured NSSAI.

        • sst: (Integer) Slice/Service Type.

        • sd: (String) Slice Differentiator.

      • default_nssai: (List of Slices) Default NSSAI.

      • sessions: (List of Sessions) PDU Sessions to establish.

        • type: (String) PDU Session type (e.g., “IPv4”).

        • dnn: (String) Data Network Name (e.g., “internet”).

        • slice: (Slice) Slice for this session.


Day-2 Operations

These operations can be performed on an existing blueprint instance.

Add Area (/add_area)

Adds a new area (VM) to the blueprint.

POST /add_area

{
  "area_id": "4"
}

Delete Area (/del_area)

Removes an area from the blueprint.

DELETE /del_area

{
  "area_id": "4"
}

Configure gNB (/configure_gnb)

Configures the gNB for a specific area. This step is required to start the simulation services on the VM.

POST /configure_gnb

{
  "area": 3,
  "plmn": "00101",
  "tac": 3,
  "gnb_id": 1,
  "amf_ip": "10.0.0.10",
  "upf_ip": "10.0.0.20",
  "amf_port": 38412,
  "nssai": [
    {
      "sst": 1,
      "sd": "000001"
    }
  ],
  "additional_routes": [
    {
      "network_cidr": "10.10.10.0/24",
      "next_hop": "10.0.0.1"
    }
  ]
}

Detach gNB (/detach_gnb)

Stops the simulation services in a specific area.

POST /detach_gnb

{
  "area": 3
}

Add SIM (/add_sim)

Adds a new SIM to an area.

POST /add_sim

{
  "area_id": "3",
  "sim": {
    "imsi": "001011000000002",
    "plmn": "00101",
    "key": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
    "op": "112233445566778899AABBCCDDEEFF00",
    "opType": "OPC",
    "amf": 0,
    "configured_nssai": [{"sst": 1, "sd": "000001"}],
    "default_nssai": [{"sst": 1, "sd": "000001"}],
    "sessions": [
      {
        "type": "IPv4",
        "dnn": "internet",
        "slice": {"sst": 1, "sd": "000001"}
      }
    ]
  }
}

Delete SIM (/del_sim)

Removes a SIM from an area.

DELETE /del_sim

{
  "area_id": "3",
  "imsi": "001011000000002"
}