Skip to main content

Auto-Generated Configuration

During every commit, the SSR platform automatically generates certain configuration elements based on the current topology and feature configuration. These elements are removed and re-created on each commit by default, meaning any manual edits to them are lost unless you take explicit ownership first.

This document covers what gets generated, what triggers it, how to prevent or customize it, and the internal mechanisms that control the lifecycle.

The Auto-Generation Lifecycle

On every commit, the system runs a three-phase cycle:

  1. Removal — The system deletes all previously auto-generated elements so they can be rebuilt from scratch. There are two independent removal paths:

    • Element-level: All services, service-routes, peers, adjacencies, tenants, and service-policies where generated is set to true are collected and removed.
    • Metadata-level: An authority metadata list (authority > generated) tracks elements created by certain subsystems (plugins, DHCP server KNI, port-forwarding, software-update). All paths recorded in that list are removed, and the metadata entries are cleared.
  2. Generation — Each subsystem builder runs and creates fresh elements. Before creating an element, the builder checks whether a matching element already exists with generated set to false. If it does, that element is treated as user-provisioned and generation is skipped.

  3. Metadata update — Newly generated elements from metadata-tracking subsystems are recorded in the authority metadata list for the next cycle.

Two Categories of Subsystem

Not all subsystems use both removal paths. This distinction determines how to override elements:

CategorySubsystemsRemoval PathOverride Method
Leaf-onlyPeer Topology builder, conductor services, BGP services, DHCP relay, PIM/MSDP, alarm shelving, internal tenants.Element-level (generated leaf) onlySet generated to false directly
Leaf + metadataPlugin builder, DHCP server (KNI), software-update, port-forwarding.Both element-level and metadata-levelUse override-generated true
tip

The PCLI automatically presents the correct command based on the element's category. Always use override-generated when it appears on the element. Only set generated to false directly when override-generated is not available (i.e., the generated leaf is visible instead).

How To Identify Auto-Generated Elements

Any element that the system auto-generates carries generated true in the configuration. You can inspect this field in the PCLI to determine whether an element is system-managed or user-provisioned. For a complete list of all auto-generated element types and their override methods, see the Quick Reference at the end of this page.

Taking Ownership of Auto-Generated Elements

The most practical approach uses the create config autogenerated command to avoid a two-commit cycle:

admin@conductor> create config autogenerated

This runs the same generation logic as commit but stages the results into the candidate configuration without committing. You can then review, override, and customize elements before committing once.

Workflow:

  1. Configure your triggers (neighborhoods, conductor-address, BGP neighbors, etc.).
  2. Run create config autogenerated — auto-generated elements appear in the candidate.
  3. Enter config editing mode and navigate to elements you want to customize.
  4. Override those elements (see below).
  5. Make your modifications.
  6. Commit once — the removal phase skips your overridden elements, and the generation phase sees them as user-provisioned.

During the commit, elements with generated set to false survive the removal phase and are skipped during regeneration, preserving your customizations in a single commit.

note

If the underlying changes (e.g., new neighborhoods, new conductor addresses) trigger configuration updates, re-run create config autogenerated to preview newly generated elements before committing.

Overriding Leaf-Only Elements

For elements generated by the Peer Topology builder, conductor services, BGP, DHCP relay, PIM, or MSDP — the generated leaf is directly visible in the PCLI:

config
authority
router <router>
service-route <auto-generated-route>
generated false
exit
exit
exit
exit

Setting generated to false is sufficient. These subsystems only check the leaf on the element and do not use metadata tracking.

Overriding Metadata-Tracked Elements

For elements generated by plugins, DHCP server (KNI), port-forwarding, or software-update — the PCLI shows the override-generated command instead of the generated leaf:

*admin@conductor# config
*admin@conductor (config)# authority
*admin@conductor (authority)# router <router>
*admin@conductor (router)# node <node>
*admin@conductor (node)# device-interface <kni-interface>
*admin@conductor (device-interface)# override-generated true
Are you sure you want to make '<kni-interface>' persistent?
It will no longer be auto-generated. [y/N]:

This performs two simultaneous actions:

  1. Sets persistent to true in the metadata tracking entry — prevents metadata-based removal
  2. Sets generated to false on the element — prevents element-level removal and causes the builder to skip regeneration
warning

Both flags are required for full protection on metadata-tracked elements. Setting only generated to false is unsafe — the metadata removal path would still delete the element on the next commit.

To revert any override and re-enable auto-generation, run override-generated false (or set generated to true for leaf-only elements). On the next commit the element will be removed and re-generated by the system.

Pre-Provisioning Elements

If you create an element with the same name that auto-generation would use before generation runs, the system detects it and skips generation. The manually created element has generated set to false by default, so it is treated as user-provisioned.

This works for adjacencies, service-routes, and services.

Auto-Generated Configuration Reference

User-Facing Configuration

This section covers auto-generated configuration that you typically interact with and may need to customize or override.

Peer Topology Builder

The Peer Topology builder automatically establishes the inter-router topology and distributes service reachability information across peer routers, enabling dynamic topology discovery and service mesh capabilities without manual configuration. It generates two related sets of elements: The peer and adjacency objects that form the inter-router topology, and the peer-type service-route objects that distribute service reachability across that topology.

Peers and Adjacencies

FieldDescription
Triggerneighborhood configured on a forwarding network-interface.
What is generatedpeer objects between routers sharing the same neighborhood; adjacency objects on both sides.
CategoryLeaf-only

Conditions for generation:

  • The network-interface must have forwarding set to true (default) and at least one neighborhood entry.
  • Topology matching: meshmesh/hub/spoke; hubspoke/mesh; spokehub/mesh.
  • peer-connectivity must not be outbound-only on both sides.
  • inter-router-security must be set on any interface with a neighborhood.
MethodScopeEffect
Remove neighborhood from the interfacePer-interfaceNo adjacencies generated for that interface
Set peer-connectivity to outbound-only on both sidesPer-adjacency pairPrevents that specific adjacency
Set generated to false on an adjacency or peerPer-elementTakes ownership of that element
Pre-provision the adjacency before commitPer-elementSystem detects it and skips generation
note

There is no global toggle. If neighborhoods are configured, peers and adjacencies will be generated unless overridden per-element.

Service-routes

FieldDescription
TriggerA router has a non-peer service-route for a shared service, and peer routers exist.
What is generatedPeer-type service-route objects on remote routers pointing back to the source.
CategoryLeaf-only

Conditions for generation:

  1. Service has share-service-routes set to true (default).
  2. Source router has at least one non-peer service-route (e.g., next-hop) for the service.
  3. Service application-type is generic.
  4. Service applies-to allows the peer router.
  5. Authority is not using a Peer Topology repository.
MethodScopeEffect
Set share-service-routes to falsePer-servicePrevents Peer Topology builder route generation for that service
Configure applies-to restrictionsPer-serviceLimits which routers receive generated routes
Set generated to false on a service-routePer-elementTakes ownership of that route
Pre-provision a service-route with the same namePer-elementSystem skips generation for that route

Conductor Services

The Conductor Services subsystem provides automatic connectivity from managed routers back to the conductor system, enabling centralized configuration, monitoring, and software updates. Generation is unconditional when any conductor-address is configured. There is no way to fully disable this category, but there are customization options and per-element overrides:

FieldDescription
Triggerconductor-address is configured on the authority.
What is generatedConductor reachability service, service-policy, service-route, and related tenant objects.
CategoryLeaf-only
MethodLevelEffect
management-service-generation > service-route-typeAuthority or RouterChoose paths-as-next-hop (default) or paths-as-service-route
management-service-generation > service-policyAuthority or RouterUse a custom service-policy instead of the auto-generated one
management-service-generation > proxyRouter onlyEnable/disable proxy of public-to-private conductor addresses
Set generated to false on a conductor service or routePer-elementTakes ownership of that element

Management Over Forwarding Interface (MOFI) Services

The MOFI builder automatically provisions management services for various network management and operational functions, enabling these services to be delivered over forwarding interfaces (data plane) when management interfaces are not available. This provides management connectivity through active data paths.

FieldDescription
TriggerA network-interface configured with management: true on a forwarding interface.
What is generatedServices and service-routes for NTP, DNS, SNMP, Syslog, IPFIX, HTTP-HTTPS (package updates), and Audit functions.
CategoryLeaf-only

The builder generates services for the following management traffic types:

Service TypePurpose
NTPNetwork Time Protocol for clock synchronization
DNSDomain Name System for name resolution
SNMPSimple Network Management Protocol for device management
SyslogSystem logging for centralized log collection
IPFIXIP Flow Information Export for flow telemetry
HTTP-HTTPSSoftware package downloads for system updates
AuditAudit event forwarding for compliance logging
MethodScopeEffect
Remove management: true from the interfacePer-interfacePrevents MOFI service generation for that interface
Disable management services in authority configAuthorityPrevents generation globally (if supported)
Set generated to false on a MOFI service or routePer-elementTakes ownership of that element
note

MOFI services are generated with the lowest priority to ensure they don't override user-configured services with the same names. Pre-provisioning a service with the same name before generation will prevent the auto-generated version from being created.

BGP Services and Service-Routes

The BGP subsystem automatically establishes reachability to BGP peers, enabling dynamic routing protocol operation and network convergence without manual service definition.

FieldDescription
TriggerBGP neighbor transport configuration
What is generatedBGP peering service and service-route objects for BGP neighbor reachability
CategoryLeaf-only
MethodScopeEffect
Set bgp-service-generation > disabledPer-BGP-neighborFully prevents generation for that neighbor
Set bgp-service-generation > service-policyPer-BGP-neighborOverride the generated service-policy
Set bgp-service-generation > security-policyPer-BGP-neighborOverride the generated security policy
Set bgp-service-generation > route-reflector-client-meshAuthorityGenerate service-route mesh for route reflector clients
Set generated to false on a BGP servicePer-elementTakes ownership of that service

You can fully disable BGP service generation on a per-neighbor basis using the disabled option.

DHCP Server KNI Device-Interfaces

The DHCP server subsystem automatically provisions kernel network interfaces required for DHCP server operation, handling the internal networking plumbing transparently.

FieldDescription
Triggerhost-service of type dhcp-server configured on a network-interface
What is generatedKNI device-interface objects for DHCP server operation
CategoryLeaf + metadata
SettingLevelEffect
dhcp-server-generated-address-poolAuthority (application-identification)Changes the address pool for generated KNI interfaces (default: 169.254.130.0/24).
override-generated true on the KNI interfacePer-elementTakes ownership of that element.

There is no flag to fully disable DHCP KNI generation. Remove the dhcp-server host-service to prevent generation.

DHCP Relay Services and Routes

The DHCP relay subsystem automatically provisions the DHCP relay service and reachability paths to DHCP servers, enabling DHCP client support on networks without a local DHCP server.

FieldDescription
TriggerDHCP relay agent configured on a network-interface
What is generatedDHCP relay service and service-route objects
CategoryLeaf-only
MethodScopeEffect
Remove DHCP relay configurationPer-interfacePrevents generation
Set generated to false on the service or routePer-elementTakes ownership of that element

Application Identification (App-ID) Services

The App-ID subsystem automatically creates granular service categories for application identification, allowing fine-grained traffic classification and policy enforcement without manual service creation.

FieldDescription
Triggergenerate-categories set to true on a service
What is generatedCategory-based child service objects under the parent service
CategoryLeaf-only
MethodScopeEffect
Set generate-categories to false (default)Per-servicePrevents category-based child service generation
Set application-identification to disabledPer-serviceDisables app-id entirely for that service

The default is false (disabled). Category services are only generated when explicitly opted-in.

PIM Multicast Services and Routes

The PIM subsystem automatically establishes reachability for Protocol Independent Multicast (PIM) control traffic, enabling multicast routing operation across the network.

FieldDescription
TriggerPIM routing configured on a router
What is generatedPIM multicast service and service-route objects
CategoryLeaf-only

No independent disable flag. Remove the PIM configuration to prevent generation. Set generated to false per-element to take ownership.

MSDP Services and Routes

The MSDP subsystem automatically provisions Multicast Source Discovery Protocol (MSDP) peering connectivity, enabling inter-domain multicast source discovery and reachability.

FieldDescription
TriggerMSDP routing configured
What is generatedMSDP peering service and service-route objects
CategoryLeaf-only

No independent disable flag. Remove the MSDP configuration to prevent generation. Set generated to false per-element to take ownership.

Plugin-Generated Elements

Plugins extend the platform by automatically generating plugin-specific services, routes, and configuration elements as needed.

FieldDescription
TriggerVaries by plugin.
What is generatedPlugin-specific services, routes, and other configuration.
CategoryLeaf + metadata.

Use override-generated true on any plugin-generated element to take ownership.


Infrastructure and System Configuration

This section covers auto-generated configuration managed by the platform for internal operations. Most users do not need to interact with or override these settings.

Software Update Proxy

The software update subsystem automatically configures internal proxy settings for software updates on managed routers, ensuring seamless update delivery without manual configuration. This is a hidden, internally managed setting. It is unconditionally set when managed routers exist. There is no opt-out mechanism and no override is available.

Secure Conductor Onboarding (SCO)

The SCO subsystem automatically manages the secure onboarding mode for routers and configures pre-shared keys (PSK) required for secure conductor communication. This enables secure, automated onboarding of managed routers without manual key management.

FieldDescription
TriggerRouters with system/secure-conductor-onboarding/mode configured
What is generatedSCO operating mode (EXCLUSIVE or DISABLED) and pre-shared keys for routers
CategoryLeaf-only
MethodScopeEffect
Set secure-conductor-onboarding > mode to disabledPer-routerDisables SCO for that router
Set secure-conductor-onboarding > mode to exclusivePer-routerEnables SCO and triggers PSK generation
note

SCO operates at the system level and is automatically managed based on the configured operating mode. PSKs are only generated when SCO is enabled and are required for the conductor to authenticate the router.

Resource Groups

The Resource Groups subsystem automatically associates configuration resources (routers, services, tenants, security profiles, etc.) with role-based access control (RBAC) resource groups. This enables policy enforcement for resource group-scoped access controls without manual resource enumeration.

FieldDescription
TriggerConfiguration resources exist in the authority; roles define resource groups.
What is generatedResource entries in roles linking to configuration objects.
CategoryLeaf-only

Supported resource types include:

  • Network elements (routers, districts).
  • Services and traffic policies (services, service-classes, traffic-profiles).
  • Security and access (tenants, security profiles, LDAP servers).
  • Operational configuration (alarm shelves, performance profiles, DSCP maps, IPFIX collectors).
  • Extensibility (STEP repos, PCLI aliases, session-types).
MethodScopeEffect
Pre-provision resources with specific namesPer-resourceSystem detects them and skips auto-generation
Set generated to false on a resource entryPer-elementTakes ownership of that resource entry
note

Resource groups are generated with lowest priority; user-provisioned resources with matching names prevent auto-generation. This enables administrators to define custom resource mappings when needed.

Alarm Shelving

The alarm shelving subsystem automatically manages alarm suppression (shelving) based on internal platform logic, suppressing non-critical alarms during expected operational conditions.

FieldDescription
TriggerInternal alarm shelving logic
What is generatedAlarm shelf entries
CategoryLeaf-only

Set generated to false per-element to take ownership.

Internal Tenants

The platform automatically provisions internal logical containers (tenants) for services and features that require tenant isolation without burdening users with these internal details.

FieldDescription
TriggerConductor services, BGP, or other internal features are active.
What is generatedInternal tenants such as _internal_, _bgp_speaker_.
CategoryLeaf-only
warning

These tenants are required for the platform to function. Setting generated to false is technically possible but not recommended — it may impact platform functionality.

Auto-Generated IDs

The platform automatically assigns unique identifiers to configuration elements when not explicitly provided, ensuring all config elements have required IDs without manual assignment. This is a fundamental platform requirement. It cannot be disabled or overridden.


Protection Mechanisms in Detail

This section provides deeper technical detail on how the two mechanisms interact. Most users can rely on the guidance above — the PCLI shows the correct command automatically.

The generated Leaf

Every auto-generated element has a generated boolean:

  • generated true — element is collected for removal during commit and regenerated
  • generated false — element is skipped during both removal and regeneration

The Authority Metadata Tracking List

A hidden list at authority > generated tracks elements created by certain subsystems. Each entry has a persistent flag:

  • persistent false (default) — the element's path is collected for removal
  • persistent true — the path is retained and NOT collected for removal

Interaction Matrix

StateRemoved?Regenerated?Assessment
generated true, no metadata.Yes (leaf)YesNormal leaf-only behavior
generated false, no metadata.NoNoSafe — fully protected
generated true, metadata persistent false.Yes (both paths)YesNormal metadata-tracked behavior
generated false, metadata persistent false.Yes (metadata)May beUnsafe — metadata removal still deletes it
generated false, metadata persistent true.NoNoSafe — what override-generated true sets
generated true, metadata persistent true.Yes (leaf)YesUnsafe — leaf removal still deletes it

PCLI Visibility

The generated leaf and override-generated command are mutually exclusive in the PCLI:

  • If a metadata entry exists → generated leaf is hidden; override-generated is shown.
  • If no metadata entry exists → generated leaf is visible; override-generated is hidden.

Import/Export Behavior

The export config and import config PCLI commands save and restore the full configuration to/from a GZIP-compressed XML file on disk (stored in /etc/128technology/config-exports/).

Both the generated leaf on individual elements and the authority > generated metadata list are fully preserved during export and import. The export serializes the entire configuration tree without filtering.

This means:

  • All auto-generated elements, their generated boolean values, and any override-generated state survive a round-trip export/import.
  • The authority > generated metadata entries (including persistent flags) are included.
  • The configuration behaves identically after import — the same PCLI commands are available, and the same override protections are in effect.
  • Elements with generated true will still be removed and re-generated on the next commit after import.
  • Elements previously overridden (generated false or persistent true) remain protected.

Quick Reference

User-Facing Configuration

ElementDedicated Disable OptionPer-Element Override
Peer Topology builder service-routes.share-service-routes falsegenerated false
Peer Topology builder peers/adjacencies.Remove neighborhoodgenerated false
Conductor servicesNo (customization knobs only)generated false
MOFI services (NTP, DNS, SNMP, etc.).Remove management: true from interfacegenerated false
BGP servicesbgp-service-generation > disabledgenerated false
DHCP relay services.Remove relay configgenerated false
DHCP server KNI interfaces.Remove dhcp-server host-serviceoverride-generated true
App-ID category services.generate-categories false (default)generated false
PIM/MSDP servicesRemove routing configgenerated false
Plugin-generated elementsVaries by pluginoverride-generated true

Infrastructure and System Configuration

ElementDedicated Disable OptionPer-Element Override
Secure Conductor Onboarding (SCO)Set mode to disabledNot typically overridden
Resource GroupsPre-provision resourcesgenerated false
Internal tenantsNogenerated false (not recommended)
Software-update proxyNoNot available
Auto-generated IDsNoNot available