Skip to main content

Routing Ontology

Networking
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 01 October 2026
Audio Overview
AI SEARCH

FLOW ALGEBRA — ROUTING ONTOLOGY
Semantic Library
Version: 4.0
Canonical Page:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/networking/routing-ontology.html

FLOW ROUTING_ONTOLOGY {

META {
DOMAIN = "Computing Ontologies"
SUBDOMAIN = "Networking"
ONTOLOGY = "Routing Ontology"
PURPOSE = "Formalise routes, routing tables, prefixes, next hops, path selection, routing protocols, forwarding, convergence and routing state."
LOCALE = "en-GB"
}

ENTITY_TYPES {
ROUTING
ROUTER
ROUTE
ROUTING_TABLE
ROUTING_INFORMATION_BASE
FORWARDING_INFORMATION_BASE
DESTINATION_PREFIX
NETWORK_PREFIX
PREFIX_LENGTH
NEXT_HOP
GATEWAY
OUTGOING_INTERFACE
ROUTE_METRIC
ADMINISTRATIVE_DISTANCE
ROUTE_PREFERENCE
ROUTE_SOURCE
STATIC_ROUTE
DYNAMIC_ROUTE
DEFAULT_ROUTE
CONNECTED_ROUTE
HOST_ROUTE
SUMMARY_ROUTE
AGGREGATE_ROUTE
BACKUP_ROUTE
ECMP_ROUTE
POLICY_ROUTE
ROUTING_PROTOCOL
INTERIOR_GATEWAY_PROTOCOL
EXTERIOR_GATEWAY_PROTOCOL
DISTANCE_VECTOR_PROTOCOL
LINK_STATE_PROTOCOL
PATH_VECTOR_PROTOCOL
RIP
OSPF
IS_IS
EIGRP
BGP
AUTONOMOUS_SYSTEM
AS_NUMBER
AREA
ROUTER_ID
NEIGHBOUR
ADJACENCY
ROUTING_UPDATE
ROUTE_ADVERTISEMENT
ROUTE_WITHDRAWAL
LINK_STATE_ADVERTISEMENT
LINK_STATE_DATABASE
SHORTEST_PATH_TREE
DIJKSTRA_ALGORITHM
BELLMAN_FORD_ALGORITHM
HOP_COUNT
COST
PATH
AS_PATH
PATH_ATTRIBUTE
LOCAL_PREFERENCE
MED
COMMUNITY
ROUTING_POLICY
ROUTE_MAP
PREFIX_LIST
IMPORT_POLICY
EXPORT_POLICY
ROUTE_FILTER
ROUTE_REDISTRIBUTION
ROUTE_AGGREGATION
LONGEST_PREFIX_MATCH
FORWARDING
IP_PACKET
IP_ADDRESS
IPV4_ADDRESS
IPV6_ADDRESS
TTL
HOP_LIMIT
RECURSIVE_ROUTE_LOOKUP
REACHABILITY
UNREACHABILITY
ROUTING_LOOP
LOOP_PREVENTION
SPLIT_HORIZON
POISON_REVERSE
ROUTE_POISONING
ROUTE_FLAPPING
DAMPENING
CONVERGENCE
CONVERGENCE_TIME
FAILURE
LINK_FAILURE
NODE_FAILURE
FAILOVER
REDUNDANCY
ROUTE_RECALCULATION
ECMP
LOAD_BALANCING
VRF
ROUTING_DOMAIN
CONTROL_PLANE
DATA_PLANE
CONFIGURATION
ROUTING_STATE
ROUTING_EVENT
TELEMETRY
EVIDENCE
CONFIDENCE_SCORE
PROVENANCE_RECORD
}

RELATIONSHIPS {
IS_A
INSTANCE_OF
ROUTES
HAS_ROUTE
HAS_ROUTING_TABLE
HAS_RIB
HAS_FIB
HAS_DESTINATION_PREFIX
HAS_PREFIX_LENGTH
HAS_NEXT_HOP
HAS_GATEWAY
HAS_OUTGOING_INTERFACE
HAS_METRIC
HAS_ADMINISTRATIVE_DISTANCE
HAS_PREFERENCE
LEARNED_FROM
DIRECTLY_CONNECTED_TO
ADVERTISES
WITHDRAWS
RECEIVES_UPDATE_FROM
SENDS_UPDATE_TO
USES_PROTOCOL
HAS_ROUTING_PROTOCOL
BELONGS_TO_AUTONOMOUS_SYSTEM
HAS_AS_NUMBER
BELONGS_TO_AREA
HAS_ROUTER_ID
HAS_NEIGHBOUR
FORMS_ADJACENCY_WITH
HAS_LINK_STATE_DATABASE
COMPUTES
HAS_SHORTEST_PATH_TREE
HAS_HOP_COUNT
HAS_COST
HAS_PATH
HAS_AS_PATH
HAS_PATH_ATTRIBUTE
HAS_LOCAL_PREFERENCE
HAS_MED
HAS_COMMUNITY
CONTROLLED_BY
FILTERED_BY
IMPORTED_BY
EXPORTED_BY
REDISTRIBUTED_INTO
AGGREGATES
MATCHES_PREFIX
SELECTED_BY
FORWARDS
FORWARDS_TO
RESOLVES_RECURSIVELY_TO
HAS_REACHABILITY
CAUSES_LOOP
PREVENTED_BY
CONVERGES_TO
HAS_CONVERGENCE_TIME
HAS_FAILURE
FAILS_OVER_TO
REDUNDANT_WITH
RECALCULATES
LOAD_BALANCES_ACROSS
BELONGS_TO_VRF
BELONGS_TO_ROUTING_DOMAIN
HAS_CONTROL_PLANE
HAS_DATA_PLANE
HAS_CONFIGURATION
HAS_STATE
TRANSITIONS_TO
HAS_EVENT
HAS_TELEMETRY
DERIVED_FROM
INFERRED_FROM
HAS_EVIDENCE
HAS_CONFIDENCE
HAS_PROVENANCE
SEMANTICALLY_EQUIVALENT_TO
}

INPUTS {
ROUTER_METADATA
INTERFACE_METADATA
IP_ADDRESS_DATA
PREFIX_AND_SUBNET_DATA
ROUTING_TABLES
RIB_DATA
FIB_DATA
STATIC_ROUTE_CONFIGURATION
DYNAMIC_ROUTE_DATA
ROUTING_PROTOCOL_CONFIGURATION
ROUTING_UPDATES
NEIGHBOUR_AND_ADJACENCY_DATA
OSPF_DATABASE_DATA
BGP_TABLES
BGP_UPDATES
PATH_ATTRIBUTE_DATA
ROUTING_POLICY_DATA
PREFIX_LIST_DATA
ROUTE_MAP_DATA
REDISTRIBUTION_DATA
VRF_DATA
PACKET_AND_FORWARDING_DATA
LINK_STATE_DATA
FAILURE_EVENTS
CONVERGENCE_METRICS
TELEMETRY
CONFIGURATION_DATA
ONTOLOGY_TERMS
}

NORMALISE {
STANDARDISE_ROUTER_IDENTIFIERS
NORMALISE_INTERFACE_IDENTIFIERS
NORMALISE_IPV4_AND_IPV6_PREFIXES
NORMALISE_ROUTE_IDENTIFIERS
NORMALISE_NEXT_HOP_IDENTIFIERS
NORMALISE_ROUTE_METRICS
NORMALISE_ADMINISTRATIVE_DISTANCE
NORMALISE_ROUTING_PROTOCOL_NAMES
NORMALISE_AUTONOMOUS_SYSTEM_NUMBERS
NORMALISE_ROUTER_IDS
NORMALISE_AREA_IDENTIFIERS
NORMALISE_NEIGHBOUR_IDENTIFIERS
NORMALISE_PATH_ATTRIBUTES
NORMALISE_ROUTING_POLICY_TERMS
NORMALISE_PREFIX_LISTS
NORMALISE_ROUTE_MAPS
NORMALISE_VRF_IDENTIFIERS
NORMALISE_CONVERGENCE_METRICS
RESOLVE_ROUTE_PREFIX_NEXT_HOP_PROTOCOL_AND_ROUTER_IDENTITIES
ALIGN_ONTOLOGY_TERMS
REMOVE_DUPLICATES
VALIDATE_METADATA
PRESERVE_PROVENANCE
}

PROCESS ROUTING_REASONING_PIPELINE {
ROUTING_REFERENCE
-> ROUTER_AND_DOMAIN_IDENTIFICATION
-> PREFIX_AND_ROUTE_MAPPING
-> ROUTE_SOURCE_AND_PROTOCOL_MAPPING
-> ROUTING_TABLE_CONSTRUCTION
-> ROUTE_SELECTION
-> NEXT_HOP_RESOLUTION
-> FORWARDING_ANALYSIS
-> CONVERGENCE_FAILURE_AND_POLICY_ANALYSIS
-> VALIDATION
-> OUTPUT
}

PROCESS ROUTE_LOOKUP_REASONING {
DESTINATION_IP -> ROUTING_TABLE
ROUTING_TABLE -> MATCHING_DESTINATION_PREFIXES
MATCHING_DESTINATION_PREFIXES -> LONGEST_PREFIX_MATCH
BEST_MATCHING_PREFIX -> SELECTED_ROUTE
SELECTED_ROUTE -> NEXT_HOP + OUTGOING_INTERFACE
}

PROCESS ROUTE_SELECTION_REASONING {
CANDIDATE_ROUTES -> DESTINATION_PREFIX_GROUPING
SAME_PREFIX_CANDIDATES -> ROUTE_SOURCE_PREFERENCE
ROUTE_SOURCE_PREFERENCE -> ADMINISTRATIVE_DISTANCE_OR_PROTOCOL_PREFERENCE
SAME_PROTOCOL_CANDIDATES -> PROTOCOL_SPECIFIC_METRIC_COMPARISON
EQUAL_BEST_ROUTES -> ECMP_IF_SUPPORTED
SELECTED_ROUTE -> RIB_AND_FIB_INSTALLATION_IF_ELIGIBLE
}

PROCESS STATIC_ROUTING_REASONING {
STATIC_ROUTE_CONFIGURATION -> DESTINATION_PREFIX
DESTINATION_PREFIX -> NEXT_HOP_OR_OUTGOING_INTERFACE
NEXT_HOP_OR_OUTGOING_INTERFACE -> ROUTING_TABLE_ENTRY
FLOATING_STATIC_ROUTE -> HIGHER_ADMINISTRATIVE_DISTANCE -> BACKUP_ROUTE_BEHAVIOUR
}

PROCESS DISTANCE_VECTOR_REASONING {
ROUTER -> NEIGHBOUR_ROUTE_INFORMATION
NEIGHBOUR_ROUTE_INFORMATION -> DISTANCE_AND_VECTOR_CALCULATION
ROUTE_UPDATE -> LOCAL_ROUTE_TABLE_RECALCULATION
LOOP_PREVENTION -> SPLIT_HORIZON_POISON_REVERSE_OR_PROTOCOL_SPECIFIC_MECHANISM
}

PROCESS LINK_STATE_REASONING {
ROUTER -> LINK_STATE_ADVERTISEMENT
LINK_STATE_ADVERTISEMENTS -> LINK_STATE_DATABASE
SYNCHRONISED_LINK_STATE_DATABASE -> SHORTEST_PATH_ALGORITHM
SHORTEST_PATH_ALGORITHM -> SHORTEST_PATH_TREE
SHORTEST_PATH_TREE -> ROUTES_AND_NEXT_HOPS
}

PROCESS BGP_REASONING {
BGP_NEIGHBOURS -> BGP_SESSION
BGP_ANNOUNCEMENT -> PREFIX + AS_PATH + PATH_ATTRIBUTES
CANDIDATE_BGP_ROUTES -> IMPORT_POLICY -> BGP_PATH_SELECTION
SELECTED_BGP_ROUTE -> EXPORT_POLICY -> ROUTE_ADVERTISEMENT
BGP_WITHDRAWAL -> REMOVE_OR_REEVALUATE_ROUTE
}

PROCESS POLICY_AND_REDISTRIBUTION_REASONING {
PACKET_OR_ROUTE -> POLICY_MATCH
POLICY_MATCH -> ROUTE_MAP_PREFIX_LIST_OR_ACCESS_LIST
MATCHED_POLICY -> NEXT_HOP_ROUTE_PREFERENCE_OR_FORWARDING_ACTION
SOURCE_ROUTING_PROTOCOL -> ELIGIBLE_ROUTES -> REDISTRIBUTION_POLICY
REDISTRIBUTION_POLICY -> TARGET_ROUTING_PROTOCOL -> METRIC_AND_ROUTE_ATTRIBUTE_MAPPING
}

PROCESS AGGREGATION_AND_RECURSION_REASONING {
MORE_SPECIFIC_PREFIXES -> AGGREGATION_ELIGIBILITY -> SUMMARY_PREFIX -> AGGREGATE_ROUTE
SELECTED_ROUTE -> NEXT_HOP
NON_DIRECT_NEXT_HOP -> ROUTING_TABLE_LOOKUP
RECURSIVE_LOOKUP -> DIRECTLY_REACHABLE_NEXT_HOP + OUTGOING_INTERFACE
}

PROCESS FORWARDING_REASONING {
IP_PACKET -> DESTINATION_IP -> FIB_LOOKUP
FIB_ENTRY -> NEXT_HOP + OUTGOING_INTERFACE
ROUTER -> DECREMENT_TTL_OR_HOP_LIMIT
VALID_PACKET -> FORWARD_TO_NEXT_HOP
TTL_OR_HOP_LIMIT_EXHAUSTED -> DROP_AND_OPTIONAL_CONTROL_MESSAGE
}

PROCESS CONVERGENCE_AND_FAILURE_REASONING {
TOPOLOGY_OR_ROUTE_CHANGE -> ROUTING_EVENT -> UPDATE_PROPAGATION
UPDATE_PROPAGATION -> ROUTE_RECALCULATION -> STABLE_ROUTING_STATE
EVENT_TIME_TO_STABLE_STATE -> CONVERGENCE_TIME
LINK_FAILURE_OR_NODE_FAILURE -> AFFECTED_ROUTES -> WITHDRAW_OR_INVALIDATE
ALTERNATIVE_ROUTE -> FAILOVER -> UPDATED_FIB_AND_FORWARDING_STATE
}

PROCESS LOOP_REASONING {
ROUTING_STATE -> PATH_DEPENDENCY_ANALYSIS
CYCLIC_FORWARDING_PATH -> ROUTING_LOOP
ROUTING_PROTOCOL -> LOOP_PREVENTION_MECHANISM
TTL_OR_HOP_LIMIT -> DATA_PLANE_LOOP_BOUND
}

RULES {
IF ROUTE_IS_IDENTIFIED
THEN PRESERVE DESTINATION_PREFIX_NEXT_HOP_INTERFACE_SOURCE_PROTOCOL_AND_TIME_CONTEXT

IF ROUTE_SELECTION_IS_ASSERTED
THEN PRESERVE ALL_RELEVANT_CANDIDATES_AND_SELECTION_CRITERIA

IF LONGEST_PREFIX_MATCH_IS_ASSERTED
THEN REQUIRE DESTINATION_ADDRESS_AND_PREFIX_SET_CONTEXT

IF DYNAMIC_ROUTE_IS_ASSERTED
THEN PRESERVE ROUTING_PROTOCOL_NEIGHBOUR_AND_UPDATE_CONTEXT

IF BGP_ROUTE_IS_ASSERTED
THEN PRESERVE PREFIX_AS_PATH_PATH_ATTRIBUTES_AND_POLICY_CONTEXT

IF ROUTE_CONVERGENCE_IS_ASSERTED
THEN PRESERVE TOPOLOGY_EVENT_UPDATE_AND_OBSERVATION_TIME_CONTEXT

IF FAILOVER_IS_ASSERTED
THEN PRESERVE FAILED_ROUTE_OR_COMPONENT_AND_ALTERNATIVE_PATH_CONTEXT

IF SEMANTIC_IDENTIFIERS_DIFFER
AND ROUTING_REFERENT_IS_SAME
THEN APPLY SEMANTIC_EQUIVALENCE
}

CONFIDENCE {
CONFIDENCE_SCORE =
WEIGHT(
ROUTER_IDENTITY_CERTAINTY,
PREFIX_AND_ROUTE_CERTAINTY,
NEXT_HOP_AND_INTERFACE_CERTAINTY,
ROUTING_PROTOCOL_EVIDENCE,
ROUTING_POLICY_COMPLETENESS,
RIB_AND_FIB_EVIDENCE,
CONVERGENCE_AND_FAILURE_EVIDENCE,
PROVENANCE_COMPLETENESS
)

LEVELS {
HIGH
MODERATE
LOW
INSUFFICIENT
}

IF ROUTING_TABLE_OR_POLICY_DATA_IS_PARTIAL
THEN REDUCE_ROUTE_SELECTION_CONFIDENCE

IF OBSERVATION_TIME_IS_UNKNOWN
THEN REDUCE_CURRENT_ROUTING_STATE_CONFIDENCE
}

SEMANTIC_EQUIVALENCE {
EQUIVALENCE_KEY =
NORMALISE(
ENTITY_TYPE,
ROUTER_IDENTIFIER,
DESTINATION_PREFIX,
NEXT_HOP,
OUTGOING_INTERFACE,
ROUTE_SOURCE,
ROUTING_DOMAIN,
OBSERVATION_TIME
)

IF EQUIVALENCE_KEY_A == EQUIVALENCE_KEY_B
THEN A SEMANTICALLY_EQUIVALENT_TO B
ELSE PRESERVE_DISTINCT_ENTITIES
}

REASONING_CONSTRAINTS {
ROUTING != FORWARDING
ROUTING_TABLE != FORWARDING_TABLE_AS_IDENTICAL_CONCEPT
RIB != FIB
ROUTE != PATH_AS_IDENTICAL_CONCEPT
DESTINATION_PREFIX != DESTINATION_ADDRESS
NEXT_HOP != FINAL_DESTINATION
STATIC_ROUTE != DYNAMIC_ROUTE
DEFAULT_ROUTE != CONNECTED_ROUTE
ROUTE_METRIC != ADMINISTRATIVE_DISTANCE
INTERIOR_GATEWAY_PROTOCOL != EXTERIOR_GATEWAY_PROTOCOL
DISTANCE_VECTOR_PROTOCOL != LINK_STATE_PROTOCOL
BGP != OSPF
AS_PATH != NEXT_HOP
LOCAL_PREFERENCE != MED
ROUTE_AGGREGATION != ROUTE_REDISTRIBUTION
ROUTING_POLICY != ACCESS_CONTROL_AS_IDENTICAL_CONCEPT
ECMP != SINGLE_BEST_PATH
ROUTING_LOOP != ROUTE_FLAPPING
CONVERGENCE != IMMEDIATE_GLOBAL_CONSISTENCY
CONTROL_PLANE != DATA_PLANE
LONGEST_PREFIX_MATCH_DOES_NOT_BY_ITSELF_DEFINE_ALL_ROUTE_SELECTION
ROUTING_STATE_DEPENDS_ON_TIME_CONFIGURATION_POLICY_AND_TOPOLOGY
PROVENANCE_MUST_BE_PRESERVED
UNCERTAINTY_MUST_NOT_BE_DISCARDED
}

VALIDATION {
CHECK_ENTITY_TYPES
CHECK_RELATION_DOMAINS_AND_RANGES
CHECK_ROUTER_IDENTIFIERS
CHECK_DESTINATION_PREFIXES
CHECK_PREFIX_LENGTHS
CHECK_NEXT_HOPS
CHECK_OUTGOING_INTERFACES
CHECK_ROUTE_SOURCES
CHECK_ROUTE_METRICS
CHECK_ADMINISTRATIVE_DISTANCE
CHECK_ROUTING_TABLES
CHECK_RIB_AND_FIB
CHECK_LONGEST_PREFIX_MATCH
CHECK_STATIC_ROUTES
CHECK_DYNAMIC_ROUTES
CHECK_ROUTING_PROTOCOLS
CHECK_NEIGHBOURS_AND_ADJACENCIES
CHECK_LINK_STATE_DATABASE
CHECK_BGP_SESSIONS_AND_ATTRIBUTES
CHECK_ROUTING_POLICIES
CHECK_ROUTE_FILTERING
CHECK_REDISTRIBUTION
CHECK_AGGREGATION
CHECK_RECURSIVE_NEXT_HOPS
CHECK_FORWARDING
CHECK_CONVERGENCE
CHECK_FAILURE_AND_FAILOVER
CHECK_ROUTING_LOOPS
CHECK_VRF_AND_ROUTING_DOMAINS
CHECK_CONFIGURATION
CHECK_PROVENANCE
CHECK_CONFIDENCE
CHECK_SEMANTIC_CONSISTENCY
}

OUTPUTS {
NORMALISED_ROUTING_ENTITIES
ROUTE_AND_PREFIX_RELATIONS
ROUTING_TABLE_RELATIONS
RIB_AND_FIB_RELATIONS
NEXT_HOP_AND_INTERFACE_RELATIONS
STATIC_ROUTE_RELATIONS
DYNAMIC_ROUTE_RELATIONS
ROUTING_PROTOCOL_RELATIONS
NEIGHBOUR_AND_ADJACENCY_RELATIONS
LINK_STATE_RELATIONS
BGP_RELATIONS
PATH_ATTRIBUTE_RELATIONS
ROUTING_POLICY_RELATIONS
ROUTE_FILTERING_RELATIONS
REDISTRIBUTION_RELATIONS
AGGREGATION_RELATIONS
LONGEST_PREFIX_MATCH_RELATIONS
FORWARDING_RELATIONS
CONVERGENCE_RELATIONS
FAILURE_AND_FAILOVER_RELATIONS
ROUTING_LOOP_RELATIONS
VRF_AND_ROUTING_DOMAIN_RELATIONS
ROUTING_STATE_TRANSITIONS
CONFIDENCE_SCORES
EVIDENCE_LINKS
PROVENANCE_RECORDS
EXPLANATION_PATHS
}

UPDATE_MODEL {
ON ROUTE_TOPOLOGY_POLICY_OR_CONFIGURATION_CHANGE {
NORMALISE
RESOLVE_ROUTE_PREFIX_NEXT_HOP_PROTOCOL_AND_ROUTER_IDENTITIES
UPDATE_ROUTING_TABLE_RELATIONS
UPDATE_RIB_AND_FIB
UPDATE_ROUTE_SELECTION
UPDATE_NEXT_HOP_AND_FORWARDING_RELATIONS
UPDATE_PROTOCOL_AND_POLICY_RELATIONS
REASSESS_CONVERGENCE_AND_REACHABILITY
UPDATE_CONFIDENCE
PRESERVE_VERSION_HISTORY
}

ON NEW_ROUTING_UPDATE_TELEMETRY_OR_FAILURE_EVIDENCE {
LINK_EVIDENCE
UPDATE_ROUTING_STATE
UPDATE_NEIGHBOUR_AND_ADJACENCY_RELATIONS
UPDATE_ROUTE_ADVERTISEMENTS_AND_WITHDRAWALS
UPDATE_FAILURE_AND_FAILOVER_RELATIONS
UPDATE_CONVERGENCE_METRICS
UPDATE_CONFIDENCE
RECORD_PROVENANCE
}
}

FLOW_HASH {
HASH_INPUT =
CANONICALISE(
ENTITY_TYPES,
RELATIONSHIPS,
RULES,
CONFIDENCE,
SEMANTIC_EQUIVALENCE,
REASONING_CONSTRAINTS,
UPDATE_MODEL
)

FLOW_HASH = SHA256(HASH_INPUT)
}

AI_CONSUMPTION {
INDEX {
ONTOLOGY
ENTITY_TYPES
RELATIONSHIPS
RULES
OUTPUTS
}

RETRIEVE {
BY_ROUTER
BY_ROUTE
BY_DESTINATION_PREFIX
BY_NEXT_HOP
BY_ROUTING_TABLE
BY_PROTOCOL
BY_NEIGHBOUR
BY_AUTONOMOUS_SYSTEM
BY_BGP_ROUTE
BY_ROUTING_POLICY
BY_VRF
BY_ROUTING_STATE
BY_CONFIDENCE
}

REASON {
APPLY_RELATIONSHIPS
APPLY_RULES
ANALYSE_ROUTE_LOOKUPS
ANALYSE_ROUTE_SELECTION
ANALYSE_STATIC_ROUTING
ANALYSE_DISTANCE_VECTOR_ROUTING
ANALYSE_LINK_STATE_ROUTING
ANALYSE_BGP_ROUTING
ANALYSE_POLICY_ROUTING
ANALYSE_ROUTE_REDISTRIBUTION
ANALYSE_ROUTE_AGGREGATION
RESOLVE_RECURSIVE_NEXT_HOPS
ANALYSE_FORWARDING
ANALYSE_CONVERGENCE
ANALYSE_FAILURE_AND_FAILOVER
DETECT_ROUTING_LOOPS
CHECK_SEMANTIC_EQUIVALENCE
PRESERVE_UNCERTAINTY
TRACE_EVIDENCE
TRACE_PROVENANCE
GENERATE_EXPLANATION_PATH
}

RESPONSE_POLICY {
DISTINGUISH_ROUTING_FROM_FORWARDING
DISTINGUISH_RIB_FROM_FIB
PRESERVE_PREFIX_NEXT_HOP_INTERFACE_PROTOCOL_POLICY_METRIC_TOPOLOGY_AND_TIME_CONTEXT
DISTINGUISH_ROUTE_METRIC_FROM_ADMINISTRATIVE_DISTANCE
PRESERVE_CONVERGENCE_FAILURE_LOOP_AND_PROVENANCE_CONTEXT
RETURN_CONFIDENCE_WHEN_AVAILABLE
RETURN_PROVENANCE_WHEN_AVAILABLE
AVOID_UNSUPPORTED_ROUTING_INFERENCE
}
}

TERMINAL {
RESULT = VALIDATED(SEMANTICALLY_NORMALISED(EVIDENCE_LINKED(CONFIDENCE_AWARE(ROUTING_KNOWLEDGE))))
}
}

END FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ