Packet Tracer .pkt / .pka — XML Schema Reference¶
Status: complete. Every element name observed in the corpus is catalogued and classified.
Derived from: schema_catalogue.json — a byte-level scan of the
decoded XML of all 1,058 corpus documents (865 modern
container family, 193 legacy; 0 skipped). The catalogue
records 1,285 distinct element names, 65,610,511 total element
occurrences, 81 distinct attribute names, per-name document frequency, up to 8 dominant
parents and up to 12 dominant attributes.
Read with: FORMAT_SPECIFICATION.md (container: obfuscation,
Twofish-EAX, qCompress — not repeated here), LEGACY_FORMAT.md,
SCENE_GRAPH.md (physical workspace, device merge rules),
ACTIVITY.md and PKA_GENERATION.md (authoring),
LARGE_TOPOLOGY_TEST.md (scale).
1. Overview — the document model¶
Once the container is decoded (see FORMAT_SPECIFICATION.md), a
Packet Tracer file is a UTF-8 XML document with one of three root elements:
| Root element | Documents in corpus | Occurrences | Typical file | Meaning |
|---|---|---|---|---|
PACKETTRACER5 |
994 | 1,888 | .pkt |
Network lab — topology, devices, configs, canvas |
PACKETTRACER5_ACTIVITY |
447 | 447 | .pka |
Scored activity (modern schema) — lab plus grading tree, initial-setup tree, locking tree, variables |
PACKETTRACER_ACTIVITY |
64 | 64 | .pka |
Scored activity on the PT 4.x document schema (legacy container family only) |
Every PACKETTRACER5_ACTIVITY document nests one or more PACKETTRACER5 elements as children
(the catalogue counts 1,341 nested occurrences across the 447 activity documents — ≈3 per
document, e.g. live/initial/comparison copies); PT 4.x activities likewise nest a PACKETTRACER
child (192 occurrences in 64 documents). PACKETTRACER5 appears as the document root in 547
lab documents.
The root element is not a container discriminator.
PACKETTRACER5andPACKETTRACER5_ACTIVITYdocuments occur in both container families (modern: PT 5.3.3–9.0.1; legacy: PT 4.1–5.3.2). A.pkais the same container holding a different document. Detection must decode first, then look at the root element — seeFORMAT_SPECIFICATION.md§2 (there is no magic header).
Two structural facts follow from the corpus scan:
- The name inventory is heavily skewed: the five most frequent names —
NAME(7,519,571),ID(7,467,309),NODE(6,617,166),POINTS(5,873,634) andCOMPONENTS(5,872,133) — account for 50.8% of the 65,610,511 element occurrences. Almost all of that is the activity grading tree and the IoT environment table (§3.9, §3.11). - Element names are reused across contexts (
NODE,NAME,ID,TYPE,X,LINE,VLAN, …). The catalogue'sparentsmap is the authoritative disambiguator; §3.1 lists the overloaded ones.
Catalogue caveats (read before quoting numbers)¶
parentsandattributesinschema_catalogue.jsonkeep only the top 8 parents and top 12 attributes per element name (most_common), so a name with more parents/attributes is truncated, and the listed counts need not sum tooccurrences.has_textmeans "contains a CDATA section". The scanner (tools/schema_catalogue.py) sets the flag only when it meets<![CDATA[; ordinary character data is not detected. Only 18 names havehas_text: true(ID,VALUE,IMAGE,CONTENT,PAGE,USER_NOTES,DISCOVERY_REQUEST,INVENTORY_REQUEST,DASHBOARD,DEVICE_INFO,HOST_LIST,NETWORK_DEVICE_LIST,POLICY_DEVICE_LIST,POLICY_LIST,POLICY_TAG_ASSO_LIST,POLICY_TAG_LIST,SMART_LICENSE_LIST,WAN); this says nothing about the other 1,267 names.has_element_childrenis reliable: 331 names have element children and 954 are leaves.documentscounts files containing the name at least once;occurrencescounts every instance.
2. Document anatomy¶
Top-down, what sits where. In the inventories below, the number after each child name is its number of occurrences directly under that parent; "(N distinct names)" is the number of different child element names the catalogue recorded for that container.
PACKETTRACER5 | PACKETTRACER5_ACTIVITY | PACKETTRACER_ACTIVITY (roots — §1)
├── VERSION document schema version of the wrapped lab
├── PACKETTRACER5 | PACKETTRACER (activities only: the wrapped lab, §1)
├── NETWORK (labs)
│ ├── DESCRIPTION
│ ├── DEVICES → DEVICE → ENGINE + WORKSPACE
│ │ │ ├── LOGICAL (canvas X/Y, MEM_ADDR, DEV_ADDR)
│ │ │ ├── PHYSICAL (GUID path, see SCENE_GRAPH.md)
│ │ │ └── PHYSICAL_CPUR (rack placement)
│ │ └── ENGINE (156 distinct child names: modules/ports, configs,
│ │ services, licensing, IoT, user apps, … — §3.3)
│ ├── LINKS → LINK → CABLE (FROM/TO/PORT/LENGTH, …)
│ └── SHAPETESTS
├── OPTIONS (78 distinct child names: UI flags, FONT, COLOR, …)
├── PHYSICALWORKSPACE → NODE (location tree), NOTES, HOMERACK, grids, BGPATH
├── CLUSTERS → ROOTCLUSTER → CLUSTER / cluster background images
├── LINES / RECTANGLES / ELLIPSES / POLYGONS (canvas drawing)
├── SCENARIOSET → SCENARIO
├── GEOVIEW_GRAPHICSITEMS → ParentPhyObject → shape groups
├── FILTERS (per-protocol visibility attributes, §4)
├── USER_PROFILE, MULTIUSER, CODE_TESTING, COMMAND_LOGS, EXT_PORT_MGR, CEPS
├── PIXMAPBANK, MOVIEBANK (embedded image/movie banks)
├── SCRIPT_MODULE(S) (also reachable via OPTIONS → SCRIPT_MODULE_MANAGER)
│
└── (activities only)
├── ACTIVITY → INSTRUCTIONS → PAGE (CDATA HTML), INSTRUCTION_DIALOG → USER_NOTES
├── COMPARISONS / INITIALSETUP / LOCKINGTREE (each holds NODE trees)
├── VARIABLE_MANAGER → *_POOLS → *_VAR
├── OVERALL_COMPLETE_FEEDBACK / OVERALL_INCOMPLETE_FEEDBACK
└── COMPONENT_LIST, DYNAMIC_PERCENTAGE_FEEDBACK, OBJECT_LOCATIONS, ACTIVITY_SCRIPTS
Exact child inventories for the load-bearing containers (child names with the number of occurrences directly under that parent):
Children of PACKETTRACER5 (21 distinct names):
VERSION (1,888), NETWORK (1,888), MULTIUSER (1,888), OPTIONS (1,888), FILTERS (1,888),
CLUSTERS (1,888), ELLIPSES (1,888), LINES (1,888), PHYSICALWORKSPACE (1,888),
RECTANGLES (1,888), SCENARIOSET (1,888), USER_PROFILE (1,888), GEOVIEW_GRAPHICSITEMS
(1,839), SCRIPT_MODULE (1,608), POLYGONS (1,548), CODE_TESTING (959), PIXMAPBANK (658),
MOVIEBANK (628), CEPS (547), COMMAND_LOGS (479), EXT_PORT_MGR (321).
Children of PACKETTRACER5_ACTIVITY (23 distinct names): PACKETTRACER5 (1,341), VERSION
(447), OPTIONS (447), CEPS (447), ACTIVITY (447), COMPARISONS (447), INITIALSETUP (447),
LOCKINGTREE (447), VARIABLE_MANAGER (447), OVERALL_COMPLETE_FEEDBACK (447),
OVERALL_INCOMPLETE_FEEDBACK (447), COMPONENT_LIST (447), DYNAMIC_PERCENTAGE_FEEDBACK (447),
USER_PROFILE_LOCKED (447), CLEAN_ACTIVITY (445), AUTHOR (435), SCRIPT_MODULE (366),
OBJECT_LOCATIONS (353), USER_PROFILE_NOGUEST (178), EXT_PORT_MGR (158),
UNLOCK_ASSESSMENT_ITEM_PERCENT (158), ACTIVITY_SCRIPTS (69), START_TIMESTAMP (22).
Children of PACKETTRACER_ACTIVITY (PT 4.x, 10 distinct names): PACKETTRACER (192),
VERSION (64), OPTIONS (64), ACTIVITY (64), COMPARISONS (64), INITIALSETUP (64),
LOCKINGTREE (64), VARIABLE_MANAGER (64), OVERALL_COMPLETE_FEEDBACK (8),
OVERALL_INCOMPLETE_FEEDBACK (8).
Children of NETWORK (4 distinct names): DESCRIPTION (2,080), DEVICES (2,080),
LINKS (2,080), SHAPETESTS (1,548).
Children of DEVICE (2): ENGINE (29,965), WORKSPACE (29,965).
Children of WORKSPACE (3): LOGICAL (29,965), PHYSICAL (29,965), PHYSICAL_CPUR (17,698).
Children of LINK (2): TYPE (26,621), CABLE (26,621).
Children of CABLE (15): PORT (53,242), LENGTH (26,621), FROM (26,621), TO (26,621),
FROM_DEVICE_MEM_ADDR (25,187), FROM_PORT_MEM_ADDR (25,187), TO_DEVICE_MEM_ADDR (25,187),
TO_PORT_MEM_ADDR (25,187), TYPE (22,478), GEO_VIEW_COLOR (15,506), FUNCTIONAL (15,195),
IS_MANAGED_IN_RACK_VIEW (12,161), DCEDEV (3,766), DCEPORT (3,766),
OVERWITE_MISMATCH_FIBER (2).
Children of PHYSICALWORKSPACE (10): NODE (2,080), NOTES (2,080), HOMERACK (2,080),
BGPATH_TILED (1,617), BUILDING_GRID (1,139), CITY_GRID (1,139), GRID_COLOR (1,139),
INTERCITY_GRID (1,139), BGPATH (1,088), GENERIC_CONTAINER_GRID (959).
ENGINE is the true content hub — 156 distinct child names, spanning §3.3 (device
identity, modules/ports, config text), §3.5 (VTP, DHCP, ACLs), §3.6 (wireless, Bluetooth,
cellular), §3.10 (file manager), §3.11 (IoT), §3.13 (script modules, licensing) and §3.14
(services). Its most frequent children: NAME/TYPE/DESCRIPTION/POWER/MODULE (29,968
each), FILE_MANAGER (28,275), ALGORITHM_SETTINGS (25,936), CUSTOM_INTERFACE (25,176),
CUSTOM_VARS (25,176), SYS_CONTACT/SYS_LOCATION (24,768), COORD_SETTINGS (24,393),
SYS_NAME (22,714), SERIALNUMBER (21,489), EXT_ATTRIBUTES/USB_PORT_COUNT (17,701),
USER_APPS (17,668), SAVE_REF_ID (16,926).
OPTIONS carries 78 distinct child names; see §3.15.
3. The element catalogue¶
The 1,285 names are grouped into 18 families by subject
matter, derived from each name's dominant parent and occurrence profile — not alphabetically.
Every name falls into exactly one family; there is no unclassified residue (the residual family
came out empty). The method: a name is filed with the family of the parent under which it mostly
occurs (e.g. LINE → RUNNINGCONFIG → device config), with explicit overrides where a generic
parent (ENGINE, NODE, OPTIONS) would obscure the subject.
Family overview (ordered as presented):
| # | Family | Names | Occurrences | Share | Modelled |
|---|---|---|---|---|---|
| 1 | Document skeleton and roots | 46 | 92,959 | 0.1% | 11 |
| 2 | Devices, engines, modules, slots and ports | 169 | 8,248,173 | 12.6% | 44 |
| 3 | Links and cables | 20 | 288,312 | 0.4% | 10 |
| 4 | IP, VLAN and interface configuration | 194 | 1,839,270 | 2.8% | 37 |
| 5 | Wireless, RF and Bluetooth | 94 | 1,058,505 | 1.6% | 28 |
| 6 | Canvas placement, coordinates and clusters | 49 | 1,400,635 | 2.1% | 19 |
| 7 | Canvas drawing and notes | 60 | 186,658 | 0.3% | 23 |
| 8 | Activity grading, instructions and variables | 28 | 34,955,254 | 53.3% | 15 |
| 9 | File store and filesystem | 38 | 3,342,563 | 5.1% | 10 |
| 10 | IoT, MCU and the simulation environment | 74 | 13,296,183 | 20.3% | 23 |
| 11 | Physical workspace and racks | 9 | 23,473 | 0.0% | 0 |
| 12 | Script modules, user apps and licensing | 82 | 378,121 | 0.6% | 4 |
| 13 | Device application services | 196 | 266,530 | 0.4% | 0 |
| 14 | Lab options and application UI | 79 | 144,687 | 0.2% | 19 |
| 15 | Multiuser, IPC and external connectivity | 33 | 56,687 | 0.1% | 1 |
| 16 | Simulation PDUs and scenarios | 17 | 26,829 | 0.0% | 0 |
| 17 | SOHO home-router and modem features | 50 | 5,600 | 0.0% | 0 |
| 18 | Cloud-managed networking (Meraki / NETCON) | 47 | 72 | 0.0% | 0 |
| — | Total | 1,285 | 65,610,511 | 100% | 244 |
3.1 Names that cross families¶
Several high-frequency names are reused in multiple contexts. They are filed under their dominant parent (marked first), but an implementation must key off the parent, not the name:
| Name | Filed under | Occurrences | Parents recorded in the catalogue (occurrences) |
|---|---|---|---|
NAME |
activity (NODE) |
7,519,571 | NODE 6,068,464 · ENVIRONMENT_OPTION 882,000 · FILE 458,669 · WIRELESS_PROFILE 44,296 · ENGINE 29,968 · EMAIL_CLIENT 12,158 · POOL 3,028 · RESOURCE-RECORD 2,437 |
ID |
activity (NODE) |
7,467,309 | NODE 6,570,912 · ENVIRONMENT_OPTION 882,000 · DATA_STORE 8,938 · PT_APP_META 1,974 · SCRIPT 1,768 · PDU 1,544 · WLAN_CONFIG 159 · NETWORK_DEVICE 13 |
NODE |
activity | 6,617,166 | NODE 6,569,367 (nested tree) · CHILDREN 44,174 · PHYSICALWORKSPACE 2,080 · COMPARISONS 511 · INITIALSETUP 511 · LOCKINGTREE 511 · SHAPE 12 |
VALUE |
activity | 882,825 | ENVIRONMENT_OPTION 882,000 · STRING_VAR 669 · SEED_VAR 100 · IP_VAR 32 · NETWORK_DEVICE 13 · NUMBER_VAR 10 · CLICredentialDTO 1 |
TEXT |
activity (NODE) |
668,129 | NODE 548,702 · FILE_CONTENT 80,163 · NOTE 39,264 |
TYPE |
device (PORT) |
559,592 | PORT 243,343 · SLOT 94,291 · MODULE 86,465 · NODE 46,254 · ENGINE 29,968 · LINK 26,621 · CABLE 22,478 · PDU 4,641 |
LINE |
device (RUNNINGCONFIG) |
2,232,777 | RUNNINGCONFIG 1,243,764 · STARTUPCONFIG 724,205 · CONFIG 264,275 · LINES 532 (canvas line) · BOOT_SYSTEMS 1 |
X / Y |
placement | 138,661 each | NODE 46,254 · NOTE 39,264 · LOGICAL 29,983 · PHYSICAL_CPUR 17,698 · INTERCITY_GRID/CITY_GRID/BUILDING_GRID 1,139 each · GENERIC_CONTAINER_GRID 959 |
SLOT |
device (MODULE) |
126,819 | MODULE 94,291 · NODE 19,355 · PHYSICAL_CPUR 13,173 |
VERSION |
skeleton | 41,428 | VTP 15,463 · LICENSE 12,382 · FILE_CONTENT 9,018 · PT_APP_META 1,974 · PACKETTRACER5 1,888 · PACKETTRACER5_ACTIVITY 447 · PACKETTRACER 192 · PACKETTRACER_ACTIVITY 64 |
NETWORK |
skeleton | 5,109 | POOL 3,028 (DHCP pool network field) · PACKETTRACER5 1,888 · PACKETTRACER 192 · MERAKI_DEVICE 1 |
CHANNEL |
device (PORT) |
273,265 | PORT 230,753 · WIRELESS_PROFILE 42,512 |
POINTS |
activity (NODE) |
5,873,634 | NODE 5,872,133 · PDU 1,487 · POLYGON 14 |
IMAGE |
drawing | 13,252 | BACKGROUNDS 12,184 · PIXMAPBANK 710 · IMAGES 358 |
3.2 Document skeleton and roots¶
46 names · 92,959 occurrences · 0.1% of all occurrences · 11 modelled
The root elements and the level-1 containers that every document is built from. These names are what a reader needs before anything else: they define the document kind and the section layout. VERSION, NETWORK and OPTIONS also occur as leaf fields elsewhere (see the cross-cutting table in §3.1), but their dominant use is the skeleton, and that is where they are filed here.
Representative parent paths
PACKETTRACER5→VERSION,NETWORK,OPTIONS,CLUSTERS,LINES,PHYSICALWORKSPACE, …PACKETTRACER5_ACTIVITY→ACTIVITY,COMPARISONS,INITIALSETUP,LOCKINGTREE,VARIABLE_MANAGER, …PACKETTRACER_ACTIVITY(PT 4.x) →PACKETTRACER→NETWORK, …
Key element names
| Element | Occurrences | Documents | Dominant parent | Modelled |
|---|---|---|---|---|
VERSION |
41,428 | 1058 | VTP |
yes |
NETWORK |
5,109 | 1058 | POOL |
yes |
OPTIONS |
2,591 | 1058 | PACKETTRACER5 |
yes |
DEVICES |
2,127 | 1058 | NETWORK |
yes |
FILTERS |
2,082 | 1058 | PACKETTRACER5 |
— |
CLUSTERS |
2,080 | 1058 | PACKETTRACER5 |
yes |
ELLIPSES |
2,080 | 1058 | PACKETTRACER5 |
— |
LINES |
2,080 | 1058 | PACKETTRACER5 |
— |
LINKS |
2,080 | 1058 | NETWORK |
yes |
PHYSICALWORKSPACE |
2,080 | 1058 | PACKETTRACER5 |
yes |
RECTANGLES |
2,080 | 1058 | PACKETTRACER5 |
— |
SCENARIOSET |
2,080 | 1058 | PACKETTRACER5 |
yes |
SCRIPT_MODULES |
1,974 | 876 | SCRIPT_MODULE_MANAGER |
— |
SCRIPT_MODULE_MANAGER |
1,974 | 876 | OPTIONS |
— |
PACKETTRACER5 |
1,888 | 994 | PACKETTRACER5_ACTIVITY |
— |
USER_PROFILE |
1,888 | 994 | PACKETTRACER5 |
— |
GEOVIEW_GRAPHICSITEMS |
1,839 | 969 | PACKETTRACER5 |
— |
POLYGONS |
1,548 | 842 | PACKETTRACER5 |
— |
SHAPETESTS |
1,548 | 842 | NETWORK |
— |
CEPS |
994 | 994 | PACKETTRACER5 |
— |
CUSTOM_TYPE_FILTERS |
961 | 625 | FILTERS |
— |
CODE_TESTING |
959 | 625 | PACKETTRACER5 |
— |
PIXMAPBANK |
658 | 636 | PACKETTRACER5 |
yes |
MOVIEBANK |
628 | 626 | PACKETTRACER5 |
yes |
ACTIVITY |
511 | 511 | PACKETTRACER5_ACTIVITY |
— |
COMPARISONS |
511 | 511 | PACKETTRACER5_ACTIVITY |
— |
INITIALSETUP |
511 | 511 | PACKETTRACER5_ACTIVITY |
— |
INSTRUCTIONS |
511 | 511 | ACTIVITY |
— |
LOCKINGTREE |
511 | 511 | PACKETTRACER5_ACTIVITY |
— |
VARIABLE_MANAGER |
511 | 511 | PACKETTRACER5_ACTIVITY |
— |
COMMAND_LOGS |
479 | 479 | PACKETTRACER5 |
— |
EXT_PORT_MGR |
479 | 479 | PACKETTRACER5 |
— |
OVERALL_COMPLETE_FEEDBACK |
455 | 455 | PACKETTRACER5_ACTIVITY |
— |
OVERALL_INCOMPLETE_FEEDBACK |
455 | 455 | PACKETTRACER5_ACTIVITY |
— |
COMPONENT_LIST |
447 | 447 | PACKETTRACER5_ACTIVITY |
— |
DYNAMIC_PERCENTAGE_FEEDBACK |
447 | 447 | PACKETTRACER5_ACTIVITY |
— |
PACKETTRACER5_ACTIVITY |
447 | 447 | (root) |
— |
USER_PROFILE_LOCKED |
447 | 447 | PACKETTRACER5_ACTIVITY |
— |
CLEAN_ACTIVITY |
445 | 445 | PACKETTRACER5_ACTIVITY |
yes |
OBJECT_LOCATIONS |
353 | 353 | PACKETTRACER5_ACTIVITY |
— |
PACKETTRACER |
192 | 64 | PACKETTRACER_ACTIVITY |
— |
USER_PROFILE_NOGUEST |
178 | 178 | PACKETTRACER5_ACTIVITY |
— |
UNLOCK_ASSESSMENT_ITEM_PERCENT |
158 | 158 | PACKETTRACER5_ACTIVITY |
— |
ACTIVITY_SCRIPTS |
69 | 69 | PACKETTRACER5_ACTIVITY |
— |
PACKETTRACER_ACTIVITY |
64 | 64 | (root) |
— |
START_TIMESTAMP |
22 | 22 | PACKETTRACER5_ACTIVITY |
— |
Attributes seen in this family (the catalogue retains only the top 12 per element): EIGRP (2,082), DTP (2,082), STP (2,082), OSPF (2,082), ARP (2,082)
3.3 Devices, engines, modules, slots and ports¶
169 names · 8,248,173 occurrences · 12.6% of all occurrences · 44 modelled
The device model itself: DEVICE carries an ENGINE (the virtual device state) and a WORKSPACE (placement). Under ENGINE sit the module/slot/port tree, the CLI configuration text, per-device services and dozens of engine-level settings. This is the largest family by name count and by far the largest by occurrences once the config-text lines are counted.
Representative parent paths
NETWORK→DEVICES→DEVICE→ENGINE→PORTENGINE→MODULE→SLOT→MODULE→PORTENGINE→RUNNINGCONFIG/STARTUPCONFIG→LINE
Key element names
| Element | Occurrences | Documents | Dominant parent | Modelled |
|---|---|---|---|---|
LINE |
2,232,777 | 1030 | RUNNINGCONFIG |
yes |
TYPE |
559,592 | 1058 | PORT |
yes |
PORT |
316,053 | 1057 | MODULE |
yes |
DESCRIPTION |
279,988 | 1058 | PORT |
yes |
POWER |
273,311 | 1057 | PORT |
yes |
CHANNEL |
273,265 | 968 | PORT |
yes |
AUTONEGOTIATEBANDWIDTH |
243,343 | 1057 | PORT |
yes |
AUTONEGOTIATEDUPLEX |
243,343 | 1057 | PORT |
yes |
BANDWIDTH |
243,343 | 1057 | PORT |
yes |
BIA |
243,343 | 1057 | PORT |
yes |
CLOCKRATE |
243,343 | 1057 | PORT |
yes |
FULLDUPLEX |
243,343 | 1057 | PORT |
yes |
PINS |
243,343 | 1057 | PORT |
yes |
CLOCKRATEFLAG |
191,159 | 841 | PORT |
yes |
CHANNEL5GHZ |
128,188 | 624 | PORT |
yes |
COVERAGERANGE |
128,188 | 624 | PORT |
yes |
MEDIATYPE |
128,188 | 624 | PORT |
yes |
SAVED_FULLDUPLEX |
128,188 | 624 | PORT |
yes |
SLOT |
126,819 | 1058 | MODULE |
yes |
UP_METHOD |
124,032 | 607 | PORT |
yes |
MODEL |
86,466 | 1057 | MODULE |
yes |
MODULE |
86,465 | 1057 | SLOT |
yes |
LOG_ENTRY |
78,756 | 382 | COMMAND_LOGS |
— |
ENABLED |
77,475 | 1037 | SECURITY |
— |
TIMEOUT |
61,709 | 1050 | PORT |
— |
CUSTOM_INTERFACE |
31,642 | 875 | ENGINE |
yes |
ENGINE |
29,968 | 1057 | DEVICE |
yes |
DEVICE |
29,965 | 1057 | DEVICES |
— |
| (+141 further names in this family) |
Attributes seen in this family (the catalogue retains only the top 12 per element): model (29,968), customModel (25,275), translate (4,243), patterned (1,547), uuid (316)
3.4 Links and cables¶
20 names · 288,312 occurrences · 0.4% of all occurrences · 10 modelled
Connectivity. Each LINK wraps exactly one CABLE; the cable records both endpoint device/port references (FROM/TO plus the *_MEM_ADDR runtime pointers), the media length, and physical-view state. SUBLINK/DLCI cover Frame-Relay style sub-interfaces.
Representative parent paths
NETWORK→LINKS→LINK→CABLE→FROM/TO/PORTPORT→SUBLINKS→SUBLINK→DLCI
Key element names
| Element | Occurrences | Documents | Dominant parent | Modelled |
|---|---|---|---|---|
LENGTH |
26,624 | 1053 | CABLE |
yes |
CABLE |
26,621 | 1053 | LINK |
yes |
FROM |
26,621 | 1053 | CABLE |
yes |
LINK |
26,621 | 1053 | LINKS |
— |
TO |
26,621 | 1053 | CABLE |
yes |
FROM_DEVICE_MEM_ADDR |
25,187 | 964 | CABLE |
yes |
FROM_PORT_MEM_ADDR |
25,187 | 964 | CABLE |
yes |
TO_DEVICE_MEM_ADDR |
25,187 | 964 | CABLE |
yes |
TO_PORT_MEM_ADDR |
25,187 | 964 | CABLE |
yes |
GEO_VIEW_COLOR |
15,506 | 632 | CABLE |
yes |
FUNCTIONAL |
15,195 | 621 | CABLE |
yes |
IS_MANAGED_IN_RACK_VIEW |
12,161 | 475 | CABLE |
— |
DCEDEV |
3,766 | 589 | CABLE |
— |
DCEPORT |
3,766 | 589 | CABLE |
— |
DLCI |
1,524 | 62 | SUBLINK |
— |
SUBLINK |
1,524 | 62 | SUBLINKS |
— |
SUBLINKS |
994 | 82 | PORT |
— |
CABLE_PEGBOARD |
9 | 3 | NODE |
— |
CABLE_TYPES |
9 | 3 | CABLE_PEGBOARD |
— |
OVERWITE_MISMATCH_FIBER |
2 | 1 | CABLE |
— |
3.5 IP, VLAN and interface configuration¶
194 names · 1,839,270 occurrences · 2.8% of all occurrences · 37 modelled
Interface addressing and L3/L2 control plane state: IPv4/IPv6 addresses, DHCP(v4/v6) client, server, pools and bindings, DNS, VLAN/VTP, ACLs and ACL filter statements, NAT port-forwarding, QoS policy lists and IPv6 ND/RA data. Most of it hangs off PORT or off ENGINE-level service blocks.
Representative parent paths
PORT→IP/SUBNET/IPV6_ADDRESSES→IPV6_ADDRESSENGINE→VTP→VLANS→VLANENGINE→DHCP_SERVERS/DHCP_SERVER→POOLS→POOLENGINE→ACL_PROCESS→ACL_FILTERS→ACL_FILTER→STATEMENTS→STATEMENT
Key element names
| Element | Occurrences | Documents | Dominant parent | Modelled |
|---|---|---|---|---|
MACADDRESS |
243,343 | 1057 | PORT |
yes |
VLAN |
121,713 | 1039 | VLANS |
yes |
IP |
59,276 | 1050 | PORT |
yes |
SUBNET |
59,264 | 1050 | PORT |
yes |
IPV6_ADDRESSES |
57,350 | 986 | PORT |
yes |
IPV6_ADDRESS_AUTOCONFIG |
57,350 | 986 | PORT |
yes |
IPV6_DEFAULT_LINK_LOCAL |
57,350 | 986 | PORT |
yes |
IPV6_ENABLED |
57,350 | 986 | PORT |
yes |
IPV6_LINK_LOCAL |
57,350 | 986 | PORT |
yes |
IPV6_PORT_DHCP_ENABLED |
49,106 | 834 | PORT |
yes |
IPV6_PORT_DNS |
49,106 | 834 | PORT |
yes |
IPV6_PORT_GATEWAY |
49,106 | 834 | PORT |
yes |
ND_SUPPRESSED |
49,106 | 834 | PORT |
yes |
PC_FIREWALL |
49,106 | 834 | PORT |
yes |
PC_IPV6_FIREWALL |
49,106 | 834 | PORT |
yes |
PORT_DHCP_ENABLE |
49,106 | 834 | PORT |
yes |
PORT_DNS |
49,106 | 834 | PORT |
yes |
PORT_GATEWAY |
49,106 | 834 | PORT |
yes |
PASSWORD |
36,390 | 1055 | VTP |
— |
IP_UNNUMBERED |
34,908 | 620 | PORT |
yes |
DHCP_SERVER_IP |
33,232 | 589 | PORT |
yes |
ND_IPV6_DNS_ADDRESSES |
25,793 | 415 | PORT |
yes |
ACLS |
22,522 | 783 | ACL_PROCESS |
— |
ENABLED_ROUTER |
18,473 | 872 | NDV6 |
— |
DOMAIN_NAME |
17,673 | 1029 | VTP |
— |
CONFIG_REVISION |
15,463 | 1027 | VTP |
— |
| (+168 further names in this family) |
Attributes seen in this family (the catalogue retains only the top 12 per element): number (87,340), name (87,340), rspan (47,181), enabled (7), qindex (1)
3.6 Wireless, RF and Bluetooth¶
94 names · 1,058,505 occurrences · 1.6% of all occurrences · 28 modelled
Everything radio: the per-device WIRELESS_CLIENT profile list (WIRELESS_PROFILE with SSID/auth/keys), WIRELESS_COMMON AP settings, WIRELESS_SERVER, WEP/EAP processing, CAPWAP/WLC controller data (CAPWAP_AC, AP, AP_GROUP, WLANS/WLAN_CONFIG), Bluetooth manager/port/beacons, cellular client and paired-device records.
Representative parent paths
ENGINE→WIRELESS_CLIENT→PROFILES→WIRELESS_PROFILEENGINE→WIRELESS_COMMON/WIRELESS_SERVERENGINE→CAPWAP→WLANS→WLAN→WLAN_CONFIGENGINE→BLUETOOTH_MANAGER→PAIRED_DEVICES→PAIRED_DEVICE
Key element names
| Element | Occurrences | Documents | Dominant parent | Modelled |
|---|---|---|---|---|
AUTHEN_TYPE |
75,228 | 983 | WIRELESS_PROFILE |
yes |
SSID |
67,170 | 983 | WIRELESS_PROFILE |
yes |
RADIO_BAND |
65,502 | 983 | WIRELESS_PROFILE |
yes |
ENCRYPT_TYPE |
64,491 | 897 | WIRELESS_PROFILE |
yes |
IP_ADDRESS |
45,870 | 983 | WIRELESS_PROFILE |
yes |
DEFAULT_GATEWAY |
44,540 | 983 | WIRELESS_PROFILE |
yes |
WEP_KEY |
44,455 | 983 | WIRELESS_PROFILE |
yes |
NETWORK_TYPE |
44,297 | 983 | WIRELESS_PROFILE |
yes |
DHCP_ENABLED |
44,296 | 983 | WIRELESS_PROFILE |
yes |
DNS |
44,296 | 983 | WIRELESS_PROFILE |
yes |
SUBNET_MASK |
44,296 | 983 | WIRELESS_PROFILE |
yes |
WIRELESS_PROFILE |
44,296 | 983 | PROFILES |
yes |
WPA_EAP_PASSWORD |
42,512 | 897 | WIRELESS_PROFILE |
yes |
WPA_EAP_USERID |
42,512 | 897 | WIRELESS_PROFILE |
yes |
PROFILES |
30,612 | 983 | WIRELESS_CLIENT |
yes |
DHCPV6_ENABLED |
26,788 | 463 | WIRELESS_PROFILE |
yes |
WIRELESS_COMMON |
22,715 | 983 | WIRELESS_CLIENT |
yes |
CURRENT_PROFILE |
22,146 | 983 | WIRELESS_CLIENT |
yes |
WIRELESS_CLIENT |
22,146 | 983 | ENGINE |
yes |
NETWORK_MODE |
21,206 | 843 | WIRELESS_COMMON |
yes |
STANDARD_CHANNEL |
21,206 | 843 | WIRELESS_COMMON |
yes |
WIDE_CHANNEL |
21,206 | 843 | WIRELESS_COMMON |
yes |
| (+72 further names in this family) |
Attributes seen in this family (the catalogue retains only the top 12 per element): WRNG_WS_TYPE (42)
3.7 Canvas placement, coordinates and clusters¶
49 names · 1,400,635 occurrences · 2.1% of all occurrences · 19 modelled
Where things are. WORKSPACE splits into LOGICAL (logical topology canvas), PHYSICAL (a comma-joined GUID path into the physical workspace, see SCENE_GRAPH.md) and PHYSICAL_CPUR (rack placement). The NODE tree's geometry fields (X,Y,H,W,…), cluster membership (DEVCLUSTERID, CLUSTERID) and cluster presentation live here too.
Representative parent paths
DEVICE→WORKSPACE→LOGICAL→X/Y/MEM_ADDR/DEV_ADDRDEVICE→WORKSPACE→PHYSICAL_CPUR→PARENT_PATH/CONTAINER_ID/X_PNCLUSTERS→ROOTCLUSTER→CLUSTER/CLUSTER_BG_IMAGE
Key element names
| Element | Occurrences | Documents | Dominant parent | Modelled |
|---|---|---|---|---|
X |
138,661 | 1058 | NODE |
yes |
Y |
138,661 | 1058 | NODE |
yes |
MEM_ADDR |
49,832 | 968 | LOGICAL |
— |
H |
46,254 | 1058 | NODE |
yes |
SX |
46,254 | 1058 | NODE |
yes |
SY |
46,254 | 1058 | NODE |
yes |
W |
46,254 | 1058 | NODE |
yes |
PATH |
45,638 | 1047 | NODE |
yes |
INIT_HEIGHT |
42,703 | 969 | NODE |
— |
INIT_SX |
42,703 | 969 | NODE |
— |
INIT_SY |
42,703 | 969 | NODE |
— |
INIT_WIDTH |
42,703 | 969 | NODE |
— |
MANUAL_SCALING |
42,703 | 969 | NODE |
— |
SCALED_PIXMAP_HEIGHT |
42,703 | 969 | NODE |
— |
SCALED_PIXMAP_WIDTH |
42,703 | 969 | NODE |
— |
Z |
39,264 | 816 | NOTE |
yes |
BG_TILED |
38,110 | 879 | NODE |
— |
DEVCLUSTERID |
29,983 | 1057 | LOGICAL |
— |
| (+31 further names in this family) |
Attributes seen in this family (the catalogue retains only the top 12 per element): isanim (25,270), translate (15,722), isOriginalSize (66)
3.8 Canvas drawing and notes¶
60 names · 186,658 occurrences · 0.3% of all occurrences · 23 modelled
Free-hand drawing primitives and annotations: RECTANGLE, ELLIPSE, POLYGON, canvas LINE clusters, sticky NOTEs, and the physical-view graphics groups (ParentPhyObject → RectangularShapes / LineShapes / GeoConnectionItems / …) under GEOVIEW_GRAPHICSITEMS. Shapes carry uuid attributes and colour/label fields.
Representative parent paths
PACKETTRACER5→RECTANGLES→RECTANGLE→TopLeftX/Color/FilledPACKETTRACER5→GEOVIEW_GRAPHICSITEMS→ParentPhyObject→RectangularShapesPHYSICALWORKSPACE/ENVIRONMENT→NOTES→NOTE
Key element names
| Element | Occurrences | Documents | Dominant parent | Modelled |
|---|---|---|---|---|
NOTE |
39,264 | 816 | NOTES |
— |
NOTECLUSTERID |
39,264 | 816 | NOTE |
yes |
IMAGE |
13,252 | 644 | BACKGROUNDS |
— |
NOTES |
6,368 | 1058 | ENVIRONMENT |
— |
Color |
4,795 | 381 | RECTANGLE |
yes |
BreakPointItems |
3,823 | 933 | ParentPhyObject |
— |
EllipticalShapes |
3,823 | 933 | ParentPhyObject |
— |
GeoConnectionItems |
3,823 | 933 | ParentPhyObject |
— |
GroupPointItems |
3,823 | 933 | ParentPhyObject |
— |
LineShapes |
3,823 | 933 | ParentPhyObject |
— |
NoteEdits |
3,823 | 933 | ParentPhyObject |
— |
ParentPhyObject |
3,823 | 933 | GEOVIEW_GRAPHICSITEMS |
— |
Path |
3,823 | 933 | ParentPhyObject |
— |
RectangularShapes |
3,823 | 933 | ParentPhyObject |
— |
PolygonShapes |
3,530 | 807 | ParentPhyObject |
— |
Filled |
2,546 | 296 | RECTANGLE |
yes |
BottomRightX |
2,532 | 293 | RECTANGLE |
yes |
BottomRightY |
2,532 | 293 | RECTANGLE |
yes |
| (+42 further names in this family) |
Attributes seen in this family (the catalogue retains only the top 12 per element): uuid (37,647), second (12,184), first (12,184), OUTLINED (2,265), OUTLINECOLOR (2,046)
3.9 Activity grading, instructions and variables¶
28 names · 34,955,254 occurrences · 53.3% of all occurrences · 15 modelled
The scored-activity layer. NODE is the grading tree — 6.6 million occurrences of nested NODEs, each with ID, NAME, POINTS, COMPONENTS and grading attributes on NAME (§4). ACTIVITY holds the activity-wizard state (including the PASS attribute), INSTRUCTIONS/INSTRUCTION_DIALOG hold the CDATA-HTML pages, and VARIABLE_MANAGER holds the variable pools used for per-student parameterisation. Note that NODE is overloaded: the same name is the physical-workspace tree node (SCENE_GRAPH.md §2), and its CHILDREN/X/Y/H/W fields serve both uses.
Representative parent paths
PACKETTRACER5_ACTIVITY→ACTIVITY→INSTRUCTIONS→PAGE(CDATA HTML)- grading tree:
NODE→COMPONENTS→NODE→ID/POINTS/NAME PACKETTRACER5_ACTIVITY→VARIABLE_MANAGER→VARIABLES_POOLS/STRING_POOLS/SEED_POOLSPACKETTRACER5_ACTIVITY→COMPARISONS/INITIALSETUP/LOCKINGTREE→NODE
Key element names
| Element | Occurrences | Documents | Dominant parent | Modelled |
|---|---|---|---|---|
NAME |
7,519,571 | 1058 | NODE |
yes |
ID |
7,467,309 | 1024 | NODE |
yes |
NODE |
6,617,166 | 1058 | NODE |
yes |
POINTS |
5,873,634 | 641 | NODE |
yes |
COMPONENTS |
5,872,133 | 447 | NODE |
yes |
VALUE |
882,825 | 650 | ENVIRONMENT_OPTION |
yes |
TEXT |
668,129 | 1057 | NODE |
— |
CHILDREN |
46,254 | 1058 | NODE |
— |
POOL_NAME |
984 | 71 | STRING_VAR |
— |
INDEX |
823 | 45 | STRING_VAR |
— |
PAGE |
761 | 511 | INSTRUCTIONS |
yes |
STRING_VAR |
669 | 23 | VARIABLES_POOLS |
— |
STRING_POOL |
667 | 26 | STRING_POOLS |
— |
VALUES |
653 | 23 | STRING_POOL |
— |
IP_POOLS |
511 | 511 | VARIABLE_MANAGER |
yes |
NUMBER_POOLS |
511 | 511 | VARIABLE_MANAGER |
yes |
STRING_POOLS |
511 | 511 | VARIABLE_MANAGER |
yes |
VARIABLES_POOLS |
511 | 511 | VARIABLE_MANAGER |
yes |
ITEM |
427 | 14 | OBJECT_LOCATIONS |
— |
LOAD_INIT_TREE |
383 | 383 | INITIALSETUP |
yes |
SEED_POOLS |
353 | 353 | VARIABLE_MANAGER |
yes |
INSTRUCTION_DIALOG |
158 | 158 | ACTIVITY |
yes |
| (+6 further names in this family) |
Attributes seen in this family (the catalogue retains only the top 12 per element): checkType (6,022,210), eclass (6,022,210), incorrectFeedback (6,022,210), nodeValue (6,022,210), variableEnabled (6,022,210)
3.10 File store and filesystem¶
38 names · 3,342,563 occurrences · 5.1% of all occurrences · 10 modelled
The per-engine virtual filesystem (FILE_MANAGER → FILES → FILE → FILE_CONTENT), with NAME, DATE_TIME, FILE_NUMBER, PERMISSION, CAPACITY, FILE_COUNTER and the content-variant metadata (DEVICE_TYPE, SET_NAME, MANIFEST_*, signature files).
Representative parent paths
ENGINE→FILE_MANAGER→FILES→FILE→FILE_CONTENTFILE_CONTENT→DEVICE_TYPE/SET_NAME/MANIFEST_NAME/CONFIG
Key element names
| Element | Occurrences | Documents | Dominant parent | Modelled |
|---|---|---|---|---|
FILE |
468,081 | 1056 | FILES |
yes |
FILE_CONTENT |
463,178 | 1055 | FILE |
yes |
DATE_TIME |
458,669 | 1055 | FILE |
yes |
FILE_NUMBER |
458,669 | 1055 | FILE |
yes |
PERMISSION |
458,669 | 1055 | FILE |
yes |
DEVICE_TYPE |
270,393 | 1042 | FILE_CONTENT |
— |
SET_NAME |
263,927 | 1040 | FILE_CONTENT |
— |
FILES |
99,367 | 1055 | FILE |
yes |
CAPACITY |
70,739 | 1055 | FILE |
— |
FILE_COUNTER |
70,739 | 1055 | FILE |
yes |
Firmware_Version |
38,970 | 882 | FILE_CONTENT |
yes |
FILE_MANAGER |
28,275 | 1055 | ENGINE |
— |
FILE_PATH |
12,631 | 876 | SCRIPT_MODULE |
yes |
CONTENT |
10,706 | 945 | DATA_STORE |
— |
CODE |
10,562 | 483 | FILE_CONTENT |
— |
MANIFEST_APP_TYPE |
9,018 | 259 | FILE_CONTENT |
— |
MANIFEST_AUTHOR_LINK |
9,018 | 259 | FILE_CONTENT |
— |
MANIFEST_AUTHOR_NAME |
9,018 | 259 | FILE_CONTENT |
— |
| (+20 further names in this family) |
Attributes seen in this family (the catalogue retains only the top 12 per element): class (830,735), family (2,591), pointsize (2,591)
3.11 IoT, MCU and the simulation environment¶
74 names · 13,296,183 occurrences · 20.3% of all occurrences · 23 modelled
The IoT/simulation layer: THING_MODEL (analog/digital slots, rules, subcomponents), IOE_* client/device records, ICP_* container-scene placement, and the huge ENVIRONMENT_OPTION table (882,000 occurrences of 17-field records describing sensor ranges, units and interpolation). The environment table hangs off the node tree (NODE → ENVIRONMENT → KEYFRAMES → KEYFRAME → ENVIRONMENT_OPTIONS), which is why it is enormous; pkt_core.models documents it as IoT/simulation environment options.
Representative parent paths
NODE→ENVIRONMENT→KEYFRAMES→KEYFRAME→ENVIRONMENT_OPTIONS→ENVIRONMENT_OPTIONENGINE→THING_MODEL→RULES/SUBCOMPONENTS/SPECIFICATIONSENGINE→IOE_CLIENT/IOE_DEVICENODE→SUB_SLOT/ICP_CSX(ICP container-scene coordinates)
Key element names
| Element | Occurrences | Documents | Dominant parent | Modelled |
|---|---|---|---|---|
ACTIVE |
882,000 | 626 | ENVIRONMENT_OPTION |
yes |
CATEGORY |
882,000 | 626 | ENVIRONMENT_OPTION |
yes |
CATEGORY_ID |
882,000 | 626 | ENVIRONMENT_OPTION |
yes |
ENVIRONMENT_OPTION |
882,000 | 626 | ENVIRONMENT_OPTIONS |
yes |
IMPERIAL_CONVERSION_FORMULA |
882,000 | 626 | ENVIRONMENT_OPTION |
yes |
IMPERIAL_UNIT |
882,000 | 626 | ENVIRONMENT_OPTION |
yes |
INTERPOLATE |
882,000 | 626 | ENVIRONMENT_OPTION |
yes |
MAX |
882,000 | 626 | ENVIRONMENT_OPTION |
yes |
METRIC_CONVERSION_FORMULA |
882,000 | 626 | ENVIRONMENT_OPTION |
yes |
METRIC_UNIT |
882,000 | 626 | ENVIRONMENT_OPTION |
yes |
MIN |
882,000 | 626 | ENVIRONMENT_OPTION |
yes |
SHOW |
882,000 | 626 | ENVIRONMENT_OPTION |
yes |
TRANSFERENCE |
882,000 | 626 | ENVIRONMENT_OPTION |
yes |
MAX_RATE |
870,912 | 625 | ENVIRONMENT_OPTION |
yes |
MIN_RATE |
870,912 | 625 | ENVIRONMENT_OPTION |
yes |
ENVIRONMENT_OPTIONS |
15,750 | 626 | KEYFRAME |
— |
KEYFRAME |
11,462 | 626 | KEYFRAMES |
— |
TIME |
11,462 | 626 | KEYFRAME |
— |
ENVIRONMENT |
4,288 | 626 | NODE |
— |
KEYFRAMES |
4,288 | 626 | ENVIRONMENT |
— |
REAL_TIME_COMBO |
4,288 | 626 | ENVIRONMENT |
— |
REAL_TIME_SETTING |
4,288 | 626 | ENVIRONMENT |
— |
| (+52 further names in this family) |
3.12 Physical workspace and racks¶
9 names · 23,473 occurrences · 0.0% of all occurrences · 0 modelled
The Physical tab scene container PHYSICALWORKSPACE and its grids/backgrounds — the tree of location nodes (Intercity → City → Building → Closet → Rack) is the NODE tree, see SCENE_GRAPH.md. This family is small but load-critical: a merge that references non-existent physical nodes is rejected with "corrupted Physical Workspace data".
Representative parent paths
PACKETTRACER5→PHYSICALWORKSPACE→HOMERACK/NODE/BUILDING_GRID/BGPATH
Key element names
| Element | Occurrences | Documents | Dominant parent | Modelled |
|---|---|---|---|---|
SUBSLOT |
13,173 | 420 | PHYSICAL_CPUR |
— |
HOMERACK |
2,080 | 1058 | PHYSICALWORKSPACE |
— |
BGPATH_TILED |
1,617 | 879 | PHYSICALWORKSPACE |
— |
BUILDING_GRID |
1,139 | 699 | PHYSICALWORKSPACE |
— |
CITY_GRID |
1,139 | 699 | PHYSICALWORKSPACE |
— |
GRID_COLOR |
1,139 | 699 | PHYSICALWORKSPACE |
— |
INTERCITY_GRID |
1,139 | 699 | PHYSICALWORKSPACE |
— |
BGPATH |
1,088 | 422 | PHYSICALWORKSPACE |
— |
GENERIC_CONTAINER_GRID |
959 | 625 | PHYSICALWORKSPACE |
— |
Attributes seen in this family (the catalogue retains only the top 12 per element): translate (1,267)
3.13 Script modules, user apps and licensing¶
82 names · 378,121 occurrences · 0.6% of all occurrences · 4 modelled
Three loosely related subsystems that share the engine's extension surface: PT SCRIPT_MODULEs (with SCRIPT_MODULE_DATA/DATA_STORE and permission flags), user applications (USER_APP/DESKTOP_APPS with a lowercase manifest application/gui/settings tree), and licensing (LICENSE/LICENSE_MANAGER, SMART_LICENSE_CLIENT, per-feature licence state). PT_APP_META records app metadata.
Representative parent paths
OPTIONS→SCRIPT_MODULE_MANAGER→SCRIPT_MODULES→SCRIPT_MODULE→PT_APP_METAENGINE→USER_APPS→DESKTOP_APPS→application→gui/settingsENGINE→LICENSE_MANAGER→LICENSES→LICENSE
Key element names
| Element | Occurrences | Documents | Dominant parent | Modelled |
|---|---|---|---|---|
DESKTOP_APPS |
17,668 | 624 | USER_APPS |
yes |
RUNNING_APPS |
17,668 | 624 | USER_APPS |
yes |
USER_APPS |
17,668 | 624 | ENGINE |
yes |
LICENSE |
12,559 | 550 | LICENSES |
— |
ENFORCED |
12,382 | 541 | LICENSE |
— |
EVAL_LEFT |
12,382 | 541 | LICENSE |
— |
EVAL_TOTAL |
12,382 | 541 | LICENSE |
— |
EVAL_USED |
12,382 | 541 | LICENSE |
— |
FEATURE_NAME |
12,382 | 541 | LICENSE |
— |
LICENSE_COUNT |
12,382 | 541 | LICENSE |
— |
LICENSE_PRIORITY |
12,382 | 541 | LICENSE |
— |
LICENSE_STATE |
12,382 | 541 | LICENSE |
— |
LICENSE_TYPE |
12,382 | 541 | LICENSE |
— |
RIGHT_TO_USE |
12,382 | 541 | LICENSE |
— |
STORE_INDEX |
12,382 | 541 | LICENSE |
— |
STORE_NAME |
12,382 | 541 | LICENSE |
— |
TECHNOLOGY |
12,382 | 541 | LICENSE |
— |
UNIQUE_ID |
12,382 | 541 | LICENSE |
— |
SCRIPT_DATA_STORES |
12,352 | 945 | SCRIPT_MODULE_DATA |
— |
SCRIPT_MODULE |
12,283 | 876 | SCRIPT_MODULES |
yes |
| (+62 further names in this family) |
Attributes seen in this family (the catalogue retains only the top 12 per element): scale (1,130)
3.14 Device application services¶
196 names · 266,530 occurrences · 0.4% of all occurrences · 0 modelled
Server-side services simulated inside a device: the email subsystem (EMAIL_SERVER with up to 24 numbered mailbox slots USER0..USER23, MAIL_* fields, EMAIL_CLIENT with its own mailbox), HTTP/HTTPS/FTP servers and USER_ACCOUNT_MNGR, SNMP manager/agent, NTP servers, DNS server records (NAMESERVER-DATABASE, RESOURCE-RECORD), AAA (ACS_SERVER, RADIUS settings) and Syslog. The numbered mailbox fields are the reason this family has ~200 distinct names.
Representative parent paths
ENGINE→EMAIL_SERVER→USER0/MAIL_CONTENT0ENGINE→EMAIL_CLIENT→MAIL_FROM0/MAIL_SUBJECT0ENGINE→SNMP_MANAGER,NTP_SERVER,ACS_SERVER→RADIUS_SETTINGS
Key element names
| Element | Occurrences | Documents | Dominant parent | Modelled |
|---|---|---|---|---|
SERVER_IP |
13,908 | 982 | DNS_CLIENT |
— |
SERVER_IPV6 |
13,266 | 918 | DNS_CLIENT |
— |
USER |
12,377 | 844 | EMAIL_CLIENT |
— |
EMAIL_CLIENT |
12,158 | 842 | ENGINE |
— |
MAIL_ID |
12,158 | 842 | EMAIL_CLIENT |
— |
NO_OF_MAILS |
12,158 | 842 | EMAIL_CLIENT |
— |
POP3_SERVER |
12,158 | 842 | EMAIL_CLIENT |
— |
SMTP_SERVER |
12,158 | 842 | EMAIL_CLIENT |
— |
IS_DEFAULT_TFTP |
11,998 | 842 | VOIP_TFTP_IP |
— |
TFTP_IP |
11,998 | 842 | VOIP_TFTP_IP |
— |
VOIP_TFTP_IP |
11,998 | 842 | ENGINE |
— |
SCP_SERVER_ENABLED |
6,968 | 596 | ENGINE |
— |
KEY |
6,814 | 1007 | NTP_SERVER |
— |
AGENT_IP |
6,072 | 389 | SNMP_MANAGER |
— |
AGENT_PORT |
6,072 | 389 | SNMP_MANAGER |
— |
MANAGER_PORT |
6,072 | 389 | SNMP_MANAGER |
— |
READ_COMMUNITY |
6,072 | 389 | SNMP_MANAGER |
— |
SNMP_MANAGER |
6,072 | 389 | ENGINE |
— |
SNMP_VERSION |
6,072 | 389 | SNMP_MANAGER |
— |
WRITE_COMMUNITY |
6,072 | 389 | SNMP_MANAGER |
— |
USERNAME |
5,371 | 539 | HTTP_SERVER |
— |
USERS |
3,726 | 464 | ACS_SERVER |
— |
| (+174 further names in this family) |
3.15 Lab options and application UI¶
79 names · 144,687 occurrences · 0.2% of all occurrences · 19 modelled
The OPTIONS block (present once per document; 78 distinct children) plus the FONT, COLOR and USER_PROFILE subtrees: UI visibility flags (HIDECLI, HIDEGUI, PORTSHOWN, …), language, logging, fonts (family/pointsize attributes), console and tooltip colours, and the lab-level PASS element (the activity-wizard password — not to be confused with the PASS attribute of ACTIVITY).
Representative parent paths
PACKETTRACER5→OPTIONS→HIDECLI/LANGUAGE/PASSOPTIONS→FONT→CLIFONT(attributesfamily,pointsize)OPTIONS→COLOR→IOSBACKGROUNDCOLOR/Blue/Green/Red
Key element names
| Element | Occurrences | Documents | Dominant parent | Modelled |
|---|---|---|---|---|
COLOR |
3,576 | 912 | OPTIONS |
yes |
Blue |
3,078 | 359 | Color |
— |
Green |
3,078 | 359 | Color |
— |
Red |
3,078 | 359 | Color |
— |
ACCESSIBLE |
2,591 | 1058 | OPTIONS |
— |
ACTIVITYFONT |
2,591 | 1058 | FONT |
— |
ANIMATION |
2,591 | 1058 | OPTIONS |
yes |
BACKGROUNDS |
2,591 | 1058 | OPTIONS |
yes |
BUTTONLABELS |
2,591 | 1058 | FONT |
— |
CLIFONT |
2,591 | 1058 | FONT |
— |
CONFIGPATH |
2,591 | 1058 | OPTIONS |
yes |
DOCK |
2,591 | 1058 | OPTIONS |
yes |
FONT |
2,591 | 1058 | OPTIONS |
— |
HEADERFONT |
2,591 | 1058 | FONT |
— |
HIDECLI |
2,591 | 1058 | OPTIONS |
— |
HIDECONFIG |
2,591 | 1058 | OPTIONS |
yes |
HIDEDESKTOP |
2,591 | 1058 | OPTIONS |
— |
HIDEDEVICELABEL |
2,591 | 1058 | OPTIONS |
— |
HIDEGUI |
2,591 | 1058 | OPTIONS |
— |
HIDEPHYSICAL |
2,591 | 1058 | OPTIONS |
yes |
| (+59 further names in this family) |
Attributes seen in this family (the catalogue retains only the top 12 per element): family (18,137), pointsize (18,137), consoleBackgroundColor (1,986), consoleTextColor (1,986), iosBackgroundColor (1,986)
3.16 Multiuser, IPC and external connectivity¶
33 names · 56,687 occurrences · 0.1% of all occurrences · 1 modelled
PT's multiuser and inter-process features: MULTIUSER peer settings (MU_PEERS/PEER, accept modes, passwords), the IPC_MANAGER block (metafile path, trusted/untrusted publishers, certificates) and REMOTE_NETWORK* entries for shared remote topologies.
Representative parent paths
PACKETTRACER5→MULTIUSER→MU_PEERS→PEEROPTIONS→IPC_MANAGER→METAFILE_PATH/TRUSTED_PUBLISHERSMULTIUSER→REMOTE_NETWORKS→REMOTE_NETWORK→REMOTE_NETWORK_ENGINE
Key element names
| Element | Occurrences | Documents | Dominant parent | Modelled |
|---|---|---|---|---|
CERTIFICATE |
7,240 | 842 | TRUSTED_PUBLISHERS |
— |
METAFILE_PATH |
5,353 | 994 | IPC_MANAGER |
yes |
MULTIUSER |
4,223 | 994 | OPTIONS |
— |
PEER |
2,351 | 994 | MU_PEERS |
— |
ALLOWREMOTESAVING |
2,335 | 994 | MULTIUSER |
— |
ALWAYSLISTENATSTARTUP |
2,335 | 994 | MULTIUSER |
— |
IPC_ALLOWREMOTEAPPS |
2,335 | 994 | OPTIONS |
— |
IPC_MANAGER |
2,335 | 994 | OPTIONS |
— |
MU_ACCEPT_MODE |
2,335 | 994 | MULTIUSER |
— |
MU_PASSWORD |
2,335 | 994 | MULTIUSER |
— |
MU_PEERS |
2,335 | 994 | MULTIUSER |
— |
REMOTE_SAVING_DEPTH |
2,335 | 994 | MULTIUSER |
— |
SHOW_CONNECTED_PORT_NAMES |
2,335 | 994 | MULTIUSER |
— |
DISABLED_CEPS |
2,274 | 969 | IPC_MANAGER |
— |
MU_ALLOW_PTMP_BROADCAST |
2,274 | 969 | MULTIUSER |
— |
MU_NEW_RNET_ACCEPT_MODE |
2,274 | 969 | MULTIUSER |
— |
IPC_VERSION |
1,974 | 876 | PT_APP_META |
— |
TRUSTED_PUBLISHERS |
1,901 | 842 | IPC_MANAGER |
— |
UNTRUSTED_PUBLISHERS |
1,901 | 842 | IPC_MANAGER |
— |
PORT_VISIBILITY |
1,888 | 994 | MULTIUSER |
— |
REMOTE_NETWORKS |
1,888 | 994 | MULTIUSER |
— |
CONNECT_AS_USERNAME |
18 | 9 | REMOTE_NETWORK_ENGINE |
— |
OUTGOING |
18 | 9 | REMOTE_NETWORK_ENGINE |
— |
PEER_ADDRESS |
18 | 9 | REMOTE_NETWORK_ENGINE |
— |
PORT_NUMBER |
18 | 9 | REMOTE_NETWORK_ENGINE |
— |
REMOTE_NETWORK |
18 | 9 | REMOTE_NETWORKS |
— |
REMOTE_NETWORK_ENGINE |
18 | 9 | REMOTE_NETWORK |
— |
REMOTE_NETWORK_UUID |
18 | 9 | REMOTE_NETWORK_ENGINE |
— |
CONTEXT |
1 | 1 | EXT_PORT_MGR |
— |
DEVICE_ORDER |
1 | 1 | PORT_INFO |
— |
DEV_NAME |
1 | 1 | CONTEXT |
— |
PORT_INFO |
1 | 1 | PORT_VISIBILITY |
— |
PORT_TYPE |
1 | 1 | CONTEXT |
— |
Attributes seen in this family (the catalogue retains only the top 12 per element): visibility (1)
3.17 Simulation PDUs and scenarios¶
17 names · 26,829 occurrences · 0.0% of all occurrences · 0 modelled
The simulation side-channel: SCENARIOSET/SCENARIO scenario entries and the PDU probe records (source/destination, protocol, ICMP type/seq, TOS, size, test conditions) used by Add Simple PDU and activity checks. PDU is recorded as its own dominant parent, i.e. the catalogue saw PDU elements nested under PDU.
Representative parent paths
PACKETTRACER5→SCENARIOSET→SCENARIOPDU→SOURCE/DESTINATION/PROTOCOL/CHK/TEST_CONDITION
Key element names
| Element | Occurrences | Documents | Dominant parent | Modelled |
|---|---|---|---|---|
PDU |
4,641 | 311 | PDU |
— |
PROTOCOL |
2,177 | 331 | PDU |
— |
SCENARIO |
2,163 | 1058 | SCENARIOSET |
— |
CHK |
1,547 | 311 | PDU |
— |
DESTINATION |
1,547 | 311 | PDU |
— |
DSTADDR |
1,547 | 311 | PDU |
— |
SOURCE |
1,547 | 311 | PDU |
— |
SRCADDR |
1,547 | 311 | PDU |
— |
TEST_CONDITION |
1,547 | 311 | PDU |
— |
START |
1,545 | 309 | PDU |
— |
ICMPTYPE |
1,544 | 309 | PDU |
— |
SEQ |
1,544 | 309 | PDU |
— |
PDU_SIZE |
1,473 | 297 | PDU |
— |
TOS |
1,473 | 297 | PDU |
— |
CUSTOM_TYPE |
981 | 201 | PDU |
— |
DST |
3 | 2 | PDU |
— |
SRC |
3 | 2 | PDU |
— |
Attributes seen in this family (the catalogue retains only the top 12 per element): device (1,478), STRSTART (4)
3.18 SOHO home-router and modem features¶
50 names · 5,600 occurrences · 0.0% of all occurrences · 0 modelled
The home-router/consumer device surface: WAN/Internet port data, PPPoE client, DMZ and single-port forwarding wrappers, parental-control ACCESS_POLICY lists (blocked apps/URLs/times), modem/phone connection lists and TV-image counters. Coherent block: most of these names occur in 65–80 documents each.
Representative parent paths
ENGINE→DMZ_SETTINGS/PPPOE_CLIENT/INTERNET_PORT_DATAENGINE→ACCESS_POLICIES→ACCESS_POLICY→BLOCK_URL/BLOCKED_APP_LISTENGINE→CONNECTIONS/MODEM_CONNECTION_TYPES→CONNECTION_TYPE→DSL
Key element names
| Element | Occurrences | Documents | Dominant parent | Modelled |
|---|---|---|---|---|
CONNECTION |
466 | 92 | CONNECTIONS |
— |
CONNECTIONS |
274 | 105 | ENGINE |
— |
MODEM_CONNECTIONS |
274 | 105 | ENGINE |
— |
MODEM_CONNECTION_TYPES |
274 | 105 | ENGINE |
— |
PHONE_CONNECTIONS |
274 | 105 | ENGINE |
— |
NO_OF_TV_IMAGES |
256 | 97 | ENGINE |
— |
STATUS |
248 | 79 | DMZ_SETTINGS |
— |
INTERNET_CONNECTION_TYPE |
244 | 80 | ENGINE |
— |
LAN_IP_ADDRESS |
244 | 80 | ENGINE |
— |
LAN_SUBNET_MASK |
244 | 80 | ENGINE |
— |
REMOTE_MANAGEMENT |
244 | 80 | ENGINE |
— |
SINGLE_PORT_FORWARDING |
244 | 80 | ENGINE |
— |
ACCESS_POLICIES |
241 | 79 | ENGINE |
— |
DESTINATION_IP_ADDR |
241 | 79 | DMZ_SETTINGS |
— |
DMZ_SETTINGS |
241 | 79 | ENGINE |
— |
INTERNET_IP_ADDRESS |
231 | 79 | ENGINE |
— |
INTERNET_SUBNET_MASK |
231 | 79 | ENGINE |
— |
PPPOE_CLIENT |
230 | 78 | ENGINE |
— |
SERVICE_NAME |
230 | 78 | PPPOE_CLIENT |
— |
CONNECTION_TYPE |
123 | 69 | MODEM_CONNECTION_TYPES |
— |
DSL |
123 | 69 | CONNECTION_TYPE |
— |
PORT1 |
107 | 47 | CONNECTION |
— |
| (+28 further names in this family) |
Attributes seen in this family (the catalogue retains only the top 12 per element): status (7), WS_COUNT (7)
3.19 Cloud-managed networking (Meraki / NETCON)¶
47 names · 72 occurrences · 0.0% of all occurrences · 0 modelled
A thin, very low-frequency layer found in only a handful of documents: Meraki cloud objects (MERAKI_SERVER → networks/devices/users/HTTP services) and the NETCON_SERVER network-controller block (discovery, inventory, host lists, credentials, smart-licence tokens). 47 names but only 72 occurrences in total — treat as one-to-three documents' worth of serialised DTOs.
Representative parent paths
ENGINE→MERAKI_SERVER→MERAKI_NETWORKS→MERAKI_NETWORKENGINE→NETCON_SERVER→INVENTORY/DISCOVERY/GLOBAL_CREDENTIALS
Key element names
| Element | Occurrences | Documents | Dominant parent | Modelled |
|---|---|---|---|---|
NETWORK_DEVICE |
13 | 1 | NETWORK_DEVICES |
— |
DISCOVERY_REQUEST |
4 | 1 | DISCOVERY_SET |
— |
DISCOVERY_SET |
4 | 1 | DISCOVERY_SETS |
— |
INVENTORY_REQUEST |
4 | 1 | DISCOVERY_SET |
— |
NETWORK_DEVICES |
4 | 1 | DISCOVERY_SET |
— |
SELECTED_NW_NAME |
2 | 1 | MERAKI_HTTP_SERVICE |
— |
ASSURANCE |
1 | 1 | NETCON_SERVER |
— |
CLICredentialDTO |
1 | 1 | CLICredentialDTOs |
— |
CLICredentialDTOs |
1 | 1 | GLOBAL_CREDENTIALS |
— |
COMPANY |
1 | 1 | MERAKI_USER |
— |
DASHBOARD |
1 | 1 | NETCON_SERVER |
— |
DEVICE_INFO |
1 | 1 | INVENTORY |
— |
DISCOVERY |
1 | 1 | NETCON_SERVER |
— |
DISCOVERY_SETS |
1 | 1 | DISCOVERY |
— |
FIREWALL_SETTINGS |
1 | 1 | MERAKI_NETWORK |
— |
FLOW_ANALYSIS |
1 | 1 | NETCON_SERVER |
— |
FULL_NAME |
1 | 1 | MERAKI_USER |
— |
GLOBAL_CREDENTIALS |
1 | 1 | NETCON_SERVER |
— |
HOST |
1 | 1 | NETCON_SERVER |
— |
HOST_LIST |
1 | 1 | HOST |
— |
| (+27 further names in this family) |
4. Attribute conventions¶
The corpus uses 81 distinct attribute names across all 1,285 element names (the catalogue retains at most the 12 most frequent per element). Attributes are used far less than elements — most elements are attribute-free — but the ones that exist are load-bearing.
4.1 Grading attributes on <NAME>¶
The dominant attribute cluster in the corpus belongs to <NAME> inside the activity grading tree
(§3.9) — six attributes at 6,022,210 occurrences each, plus three more at multi-million
scale:
<NAME checkType="…" eclass="…" incorrectFeedback="…" nodeValue="…"
variableEnabled="…" variableName="…" headNode="…"
obfuscateName="…" overrideDBGrading="…" translate="true">PC0</NAME>
| Attribute | Occurrences | On element |
|---|---|---|
checkType, eclass, incorrectFeedback, nodeValue, variableEnabled, variableName |
6,022,210 each | NAME |
headNode |
5,788,223 | NAME |
obfuscateName, overrideDBGrading |
3,007,782 each | NAME |
translate |
118,868 on NAME; 47,289 on ID; 761 on PAGE; 231,555 total |
several |
Note the naming mismatch an implementer will trip over: ScoringNode in
src/pkt_core/models/schema.py claims a CHECK_TYPE field,
but CHECK_TYPE does not exist as an element name in the corpus — the corpus stores
checkType as an attribute of NAME.
4.2 Identity and type attributes¶
| Pattern | Attribute counts | Meaning |
|---|---|---|
<TYPE model="2960-24TT" customModel=""> |
model 29,968 · customModel 25,275 (on TYPE) |
Device/module/port type. model matches the PT device-model id; customModel covers user-created models. patterned (1,547) marks pattern variants |
<VLAN number="1" name="default" rspan="…"> |
number 87,340 · name 87,340 · rspan 47,181 |
VLAN record; note name is an attribute here, while elsewhere NAME is an element |
<FILE class="…"> / <FILE_CONTENT class="…"> |
class 830,735 total (458,669 + 372,066) |
File-class discriminator in the engine's virtual filesystem |
<NODE on="…"> |
on 548,702 |
Flag on grading/workspace NODE occurrences |
<RECTANGLE uuid="{guid}">, <NOTE uuid="{guid}">, <LINE uuid="…">, <ELLIPSE>, <POLYGON> |
uuid 37,963 total (NOTE 35,339 · RECTANGLE 2,092 · LINE 316 · ELLIPSE 202 · POLYGON 14) |
Stable shape/note identity |
<PATH isanim="…"> |
isanim 25,270 (PATH 23,911, CLUSTER_BG_IMAGE most of the rest) |
Animated-path flag |
<INDEX SEED="…"> |
SEED 794 |
Variable-pool seed for reproducible randomisation |
<ITEM ID="…" NAME="…" LOCATIONS="…"> |
427 each | Object-location records under OBJECT_LOCATIONS |
4.3 Activity attributes (not elements)¶
<ACTIVITY> is attribute-driven; the activity-wizard state lives entirely in attributes, including
PASS — the activity password is an attribute of <ACTIVITY>, not an element (do not
confuse it with the <PASS> element under <OPTIONS>, which is the lab-level password,
occurrences 2,591 in 1,058 documents):
| Attribute | Count | Notes |
|---|---|---|
PASS, ENABLED, COUNTDOWNMS, TIMERTYPE |
511 each | present on every ACTIVITY |
FORWARD_ANS_SIM_MS |
435 | |
VALUE |
349 | |
COUNTDOWNLEFT, ELAPSED |
220 each | runtime timer residue |
COUNTDOWN_EXPIRED |
152 |
4.4 Presentation attributes¶
| Attribute | Count | On |
|---|---|---|
family, pointsize |
20,728 each | the eight FONT children (CLIFONT, WORKSPACEFONT, ACTIVITYFONT, BUTTONLABELS, FILEMENUFONT, HEADERFONT, TABSWITCH, TOOLTIP) |
consoleBackgroundColor, consoleTextColor, iosBackgroundColor, iosTextColor |
1,986 each | COLOR children |
tooltipBackgroundColor, tooltipTextColor |
1,126 each | COLOR children |
OUTLINED, OUTLINECOLOR |
2,265 / 2,003 | Filled (rectangle fill) |
first, second |
12,184 each | IMAGE background images |
scale |
1,130 | APPLICATION |
translate, tabify, title |
761 / 198 / 198 | PAGE (instruction pages) |
<FILTERS> carries one boolean attribute per visible protocol — EIGRP, DTP, STP, OSPF,
ARP, VTP, DHCP, RIP, TCP, TFTP, HTTP, ICMP — at 2,082 occurrences each.
4.5 save-ref-id: references¶
Devices carry <SAVE_REF_ID>save-ref-id:NNNN</SAVE_REF_ID> (16,928 occurrences, 607 documents,
16,926 of them directly under ENGINE) — a stable per-document handle. Cables reference endpoints through <FROM> and
<TO> (26,621 each, under CABLE), and additionally cache the runtime heap pointers
FROM_DEVICE_MEM_ADDR, FROM_PORT_MEM_ADDR, TO_DEVICE_MEM_ADDR, TO_PORT_MEM_ADDR (25,187
each; see SCENE_GRAPH.md §3 for what survives a merge). When hand-authoring or
merging documents, fix up both the save-ref-id: values and the *_MEM_ADDR copies.
5. Quirks an implementer must know¶
These are corpus-measured, not hypothetical. Getting any of them wrong costs half the corpus.
5.1 Documents are not always well-formed XML¶
A corpus survey of the 1,058 documents
(src/pkt_core/xml/__init__.py):
| Quirk | Files | Detail |
|---|---|---|
| Raw control bytes in text | 510 | Router/switch running-config text in <LINE> embeds raw control bytes — the Cisco banner motd ^C…^C delimiter is stored as a literal 0x03; 0x01/0x02/0x11 also occur. XML 1.0 forbids these in character data |
| Numeric char refs to forbidden chars | 392 | &#xNN; for characters XML 1.0 forbids by reference too |
| Trailing NUL after the root | 64 | PT 4.1 documents end with a NUL byte after </packettracer_activity> |
Measured across a 400-file modern sample, 210 files are non-well-formed for exactly these
reasons (CORPUS_VERIFICATION.md §5).
5.2 Activity instructions are CDATA HTML¶
Instruction pages are Word-exported HTML wrapped in CDATA:
<PAGE translate="true" tabify="0" title=""><![CDATA[<html …>…</html>]]></PAGE>
<USER_NOTES isDirty="false" tabify="0"><![CDATA[]]></USER_NOTES>
Two traps:
- The payload is HTML with void elements (
<meta>,<br>) and plenty of>. A naive scanner that handles every<!…>form by scanning to the first>truncates the CDATA block at the first HTML>and then mis-parses the rest of the document. Handle<![CDATA[before the generic<!declaration branch and consume up to]]>— exactly whattools/schema_catalogue.pydoes. - The content must be preserved as raw bytes.
PKA_GENERATION.mddeliberately exposes instruction text as bytes for this reason.
5.3 xml.etree accepts only 548 of 1,058 documents¶
Standard-library xml.etree.ElementTree (and any XML-1.0-validating parser) accepts only
548 of the 1,058 corpus documents — roughly half — because of §5.1. Any
toolchain that round-trips through ElementTree, lxml in validating mode, or minidom will
silently drop or reject a large fraction of real files.
5.4 The correct acceptance criterion¶
A Packet Tracer document is one with a
PACKETTRACER*root element that re-encodes byte-exactly — not "well-formed XML".
In practice this means a non-validating, control-character-tolerant, span-preserving parser:
pkt_core.xml keeps each node's exact source bytes and
XmlNode.to_bytes returns them verbatim while the node is untouched, so
encode(decode(f)) == f holds byte-for-byte on all 1,058 corpus documents
(CORPUS_VERIFICATION.md).
5.5 Names are not unique keys¶
Element names repeat across unrelated contexts (NODE is both the grading tree and the physical
workspace tree; LINE is both CLI config text and a canvas drawing; NAME/ID/VALUE appear
under eight different parents). Schema lookups must be (parent, name) pairs — see §3.1.
6. Coverage — what pkt_core.models types¶
| Layer | Element names | Share |
|---|---|---|
Typed by pkt_core.models |
244 | 19.0% |
| Not typed — preserved verbatim | 1041 | 81.0% |
| Total distinct names in corpus | 1,285 | 100% |
Unmodelled names are never dropped. They surface in each model's extra_fields catch-all
(src/pkt_core/models/base.py) as raw XmlNodes, and the
span-preserving tree (src/pkt_core/xml) keeps their exact
source bytes so untouched subtrees re-serialise byte-exactly.
Typed names per family:
| Family | Names | Modelled | Coverage |
|---|---|---|---|
| Document skeleton and roots | 46 | 11 | 24% |
| Devices, engines, modules, slots and ports | 169 | 44 | 26% |
| Links and cables | 20 | 10 | 50% |
| IP, VLAN and interface configuration | 194 | 37 | 19% |
| Wireless, RF and Bluetooth | 94 | 28 | 30% |
| Canvas placement, coordinates and clusters | 49 | 19 | 39% |
| Canvas drawing and notes | 60 | 23 | 38% |
| Activity grading, instructions and variables | 28 | 15 | 54% |
| File store and filesystem | 38 | 10 | 26% |
| IoT, MCU and the simulation environment | 74 | 23 | 31% |
| Physical workspace and racks | 9 | 0 | 0% |
| Script modules, user apps and licensing | 82 | 4 | 5% |
| Device application services | 196 | 0 | 0% |
| Lab options and application UI | 79 | 19 | 24% |
| Multiuser, IPC and external connectivity | 33 | 1 | 3% |
| Simulation PDUs and scenarios | 17 | 0 | 0% |
| SOHO home-router and modem features | 50 | 0 | 0% |
| Cloud-managed networking (Meraki / NETCON) | 47 | 0 | 0% |
| Total | 1,285 | 244 | 19.0% |
The 19 model classes and the names each claims
(_claimed in src/pkt_core/models; a name claimed by two classes is
counted once in the totals above):
* Lab (lab.py) — 9 names: CLUSTERS, MOVIEBANK, NETWORK, OPTIONS, PHYSICALWORKSPACE, PIXMAPBANK, SCENARIOSET, SCRIPT_MODULE, VERSION
* Network (lab.py) — 2 names: DEVICES, LINKS
* LabOptions (lab.py) — 20 names: ANIMATION, BACKGROUNDS, CONFIGPATH, DOCK, HIDEATTRIBUTES, HIDECLIOFROUTERANDSWITCH, HIDECONFIG, HIDECONFIGOFROUTERANDSWITCH, HIDEPHYSICAL, HIDESERVICES … (+10)
* Cluster (lab.py) — 6 names: CLUSTERID, CLUSTER_BG_IMAGE, CLUSTER_EMBEDDED_BG_IMAGE, CLUSTER_ICON_IMAGE, NAME, TILED_BG
* RunningConfig (lab.py) — 1 name: LINE
* Device (network.py) — 2 names: ENGINE, WORKSPACE
* Module (network.py) — 5 names: MODEL, MODULE, PORT, SLOT, TYPE
* Port (network.py) — 18 names: AUTONEGOTIATEBANDWIDTH, AUTONEGOTIATEDUPLEX, BANDWIDTH, BIA, CHANNEL, CHANNEL5GHZ, CLOCKRATE, CLOCKRATEFLAG, COVERAGERANGE, DESCRIPTION … (+8)
* Workspace (network.py) — 3 names: LOGICAL, PHYSICAL, PHYSICAL_CPUR
* Link (network.py) — 2 names: CABLE, TYPE
* Cable (network.py) — 11 names: FROM, FROM_DEVICE_MEM_ADDR, FROM_PORT_MEM_ADDR, FUNCTIONAL, GEO_VIEW_COLOR, LENGTH, PORT, TO, TO_DEVICE_MEM_ADDR, TO_PORT_MEM_ADDR … (+1)
* PortConfig (schema.py) — 39 names: DEFAULT_GATEWAY, DHCPV6_CLIENT, DHCPV6_ENABLED, DHCP_CLIENT, DHCP_ENABLED, DHCP_SERVER, DHCP_SERVERS, DHCP_SERVER_IP, DNS, DNS_CLIENT … (+29)
* WirelessConfig (schema.py) — 23 names: ALLOW_ACCESS, AUTHEN_TYPE, BEAMFORMING_ENABLE, CURRENT_PROFILE, ENCRYPT_TYPE, MAC_FILTER_ENABLED, NETWORK_MODE, NETWORK_TYPE, PROFILES, RADIO_BAND … (+13)
* DeviceDetails (schema.py) — 24 names: BIOS_VERSION, BUILD_IN_ADDR, COORD_SETTINGS, CUSTOM_INTERFACE, CUSTOM_VARS, DESKTOP_APPS, EXT_ATTRIBUTES, FIRMWARE_VERSION, Firmware_Version, IGNORED_VERSION … (+14)
* FileEntry (schema.py) — 14 names: CONFIGURED_FILENAME, DATE_TIME, FILE, FILES, FILE_CONTENT, FILE_COUNTER, FILE_NUMBER, FILE_PATH, FILE_SIZE, IS_BOOTABLE … (+4)
* ScoringNode (schema.py) — 7 names: CHECK_TYPE, COMPONENTS, ID, NAME, NODE, POINTS, VALUE
* EnvironmentOption (schema.py) — 16 names: ACTIVE, CATEGORY, CATEGORY_ID, ENVIRONMENT_OPTION, IMPERIAL_CONVERSION_FORMULA, IMPERIAL_UNIT, INTERPOLATE, MAX, MAX_RATE, METRIC_CONVERSION_FORMULA … (+6)
* CanvasShape (schema.py) — 41 names: BottomRightX, BottomRightY, COLOR, Color, D, EndX, EndY, FILL_COLOR, FILL_FLAG, Filled … (+31)
* ActivitySection (schema.py) — 16 names: CLEAN_ACTIVITY, COMPONENTS, ID, INSTRUCTION_DIALOG, IP_POOLS, LOAD_INIT_TREE, NAME, NODE, NUMBER_POOLS, PAGE … (+6)
One claimed name, CHECK_TYPE, does not occur as an element name in the corpus (it is the
checkType attribute of NAME, §4.1); every other claimed name is present. The remaining
1,041 corpus names — from DEVICE_TYPE (270,393 occurrences) down
to one-off DTO serialisations — are covered by extra_fields only.
7. Provenance and reproduction¶
Every number in this document comes from one of:
docs/schema_catalogue.json— regenerable with:
$ python3 tools/schema_catalogue.py --index corpus/CORPUS_INDEX.tsv \
--dir corpus/internet --out docs/schema_catalogue.json
which reports documents scanned : 1058 (skipped 0), families : {'modern': 865, 'legacy': 193},
distinct elements : 1285, modelled : 244.
2. src/pkt_core/xml/__init__.py — the well-formedness survey
(510 / 392 / 64 files, ElementTree 548/1,058).
3. docs/CORPUS_VERIFICATION.md — byte-exact round-trip proof
(1,058/1,058) and the 210/400 modern-sample well-formedness measurement.
4. docs/FORMAT_SPECIFICATION.md, docs/SCENE_GRAPH.md,
docs/ACTIVITY.md, docs/PKA_GENERATION.md — semantics
cited where the catalogue only records structure.
Family assignment is a documented classification of catalogue data, not a Packet Tracer construct; where the corpus itself overloads a name, §3.1 records the parent breakdown verbatim.