public icon indicating copy to clipboard operation
public copied to clipboard

Introducing IPSec and IKE telemetry model

Open dplore opened this issue 1 month ago • 2 comments

Change Scope

  • Add telemetry for monitoring IPSec, IKE
  • A follow up PR will add IPSec, IKE configuration
  • This change is backwards compatible

Platform Implementations

Tree View

  +--rw network-instances
     +--rw network-instance* [name]
        +--rw oc-ipsec:security
           +--rw oc-ipsec:ike
           |  +--rw oc-ipsec:ike-sa
           |  |  +--rw oc-ipsec:ipv4
           |  |  |  +--rw oc-ipsec:security-associations
           |  |  |     +--ro oc-ipsec:security-association* [initiator-spi responder-spi remote-address local-address]
           |  |  |        +--ro oc-ipsec:initiator-spi     -> ../state/initiator-spi
           |  |  |        +--ro oc-ipsec:responder-spi     -> ../state/responder-spi
           |  |  |        +--ro oc-ipsec:remote-address    -> ../state/remote-address
           |  |  |        +--ro oc-ipsec:local-address     -> ../state/local-address
           |  |  |        +--ro oc-ipsec:state
           |  |  |           +--ro oc-ipsec:initiator-spi     uint64
           |  |  |           +--ro oc-ipsec:responder-spi     uint64
           |  |  |           +--ro oc-ipsec:remote-address    inet:ipv4-address
           |  |  |           +--ro oc-ipsec:local-address     inet:ipv4-address
           |  |  +--rw oc-ipsec:ipv6
           |  |     +--rw oc-ipsec:security-associations
           |  |        +--ro oc-ipsec:security-association* [initiator-spi responder-spi remote-address local-address]
           |  |           +--ro oc-ipsec:initiator-spi     -> ../state/initiator-spi
           |  |           +--ro oc-ipsec:responder-spi     -> ../state/responder-spi
           |  |           +--ro oc-ipsec:remote-address    -> ../state/remote-address
           |  |           +--ro oc-ipsec:local-address     -> ../state/local-address
           |  |           +--ro oc-ipsec:state
           |  |              +--ro oc-ipsec:initiator-spi     uint64
           |  |              +--ro oc-ipsec:responder-spi     uint64
           |  |              +--ro oc-ipsec:remote-address    inet:ipv6-address
           |  |              +--ro oc-ipsec:local-address     inet:ipv6-address
           |  +--rw oc-ipsec:child-sa
           |     +--rw oc-ipsec:ipv4
           |     |  +--rw oc-ipsec:security-associations
           |     |     +--ro oc-ipsec:security-association* [spi destination-address protocol]
           |     |        +--ro oc-ipsec:spi                    -> ../state/spi
           |     |        +--ro oc-ipsec:destination-address    -> ../state/destination-address
           |     |        +--ro oc-ipsec:protocol               -> ../state/protocol
           |     |        +--ro oc-ipsec:state
           |     |           +--ro oc-ipsec:counters
           |     |           |  +--ro oc-ipsec:bytes-processed      yang:counter64
           |     |           |  +--ro oc-ipsec:packets-processed    yang:counter64
           |     |           +--ro oc-ipsec:spi                     uint32
           |     |           +--ro oc-ipsec:destination-address     inet:ipv4-address
           |     |           +--ro oc-ipsec:protocol                identityref
           |     |           +--ro oc-ipsec:active                  boolean
           |     |           +--ro oc-ipsec:direction               identityref
           |     |           +--ro oc-ipsec:anti-replay-window      uint16
           |     |           +--ro oc-ipsec:source-address          inet:ipv4-address
           |     |           +--ro oc-ipsec:encryption-algorithm    identityref
           |     |           +--ro oc-ipsec:integrity-algorithm     identityref
           |     |           +--ro oc-ipsec:pfs-dh-group            identityref
           |     |           +--ro oc-ipsec:lifetime
           |     |           |  +--ro oc-ipsec:sa-add-time      yang:date-and-time
           |     |           |  +--ro oc-ipsec:sa-rekey-time    yang:date-and-time
           |     |           +--ro oc-ipsec:lifetime-config
           |     |           |  +--ro oc-ipsec:time       uint64
           |     |           |  +--ro oc-ipsec:bytes      uint64
           |     |           |  +--ro oc-ipsec:packets    uint64
           |     |           +--ro oc-ipsec:ike-sa
           |     |              +--ro oc-ipsec:initiator-spi?    -> ../../../../../../../ike-sa/ipv4/security-associations/security-association/initiator-spi
           |     |              +--ro oc-ipsec:responder-spi?    -> ../../../../../../../ike-sa/ipv4/security-associations/security-association/responder-spi
           |     |              +--ro oc-ipsec:remote-address?   -> ../../../../../../../ike-sa/ipv4/security-associations/security-association/remote-address
           |     |              +--ro oc-ipsec:local-address     -> ../../../../../../../ike-sa/ipv4/security-associations/security-association/local-address
           |     +--rw oc-ipsec:ipv6
           |        +--rw oc-ipsec:security-associations
           |           +--ro oc-ipsec:security-association* [spi destination-address protocol]
           |              +--ro oc-ipsec:spi                    -> ../state/spi
           |              +--ro oc-ipsec:destination-address    -> ../state/destination-address
           |              +--ro oc-ipsec:protocol               -> ../state/protocol
           |              +--ro oc-ipsec:state
           |                 +--ro oc-ipsec:counters
           |                 |  +--ro oc-ipsec:bytes-processed      yang:counter64
           |                 |  +--ro oc-ipsec:packets-processed    yang:counter64
           |                 +--ro oc-ipsec:spi                     uint32
           |                 +--ro oc-ipsec:destination-address     inet:ipv6-address
           |                 +--ro oc-ipsec:protocol                identityref
           |                 +--ro oc-ipsec:active                  boolean
           |                 +--ro oc-ipsec:direction               identityref
           |                 +--ro oc-ipsec:anti-replay-window      uint16
           |                 +--ro oc-ipsec:source-address          inet:ipv6-address
           |                 +--ro oc-ipsec:encryption-algorithm    identityref
           |                 +--ro oc-ipsec:integrity-algorithm     identityref
           |                 +--ro oc-ipsec:pfs-dh-group            identityref
           |                 +--ro oc-ipsec:lifetime
           |                 |  +--ro oc-ipsec:sa-add-time      yang:date-and-time
           |                 |  +--ro oc-ipsec:sa-rekey-time    yang:date-and-time
           |                 +--ro oc-ipsec:lifetime-config
           |                 |  +--ro oc-ipsec:time       uint64
           |                 |  +--ro oc-ipsec:bytes      uint64
           |                 |  +--ro oc-ipsec:packets    uint64
           |                 +--ro oc-ipsec:ike-sa
           |                    +--ro oc-ipsec:initiator-spi?    -> ../../../../../../../ike-sa/ipv6/security-associations/security-association/initiator-spi
           |                    +--ro oc-ipsec:responder-spi?    -> ../../../../../../../ike-sa/ipv6/security-associations/security-association/responder-spi
           |                    +--ro oc-ipsec:remote-address?   -> ../../../../../../../ike-sa/ipv6/security-associations/security-association/remote-address
           |                    +--ro oc-ipsec:local-address     -> ../../../../../../../ike-sa/ipv6/security-associations/security-association/local-address
           +--rw oc-ipsec:ipsec
              +--rw oc-ipsec:ipv4
              |  +--rw oc-ipsec:connections
              |     +--ro oc-ipsec:connection* [name]
              |        +--ro oc-ipsec:name                           -> ../state/name
              |        +--ro oc-ipsec:state
              |        |  +--ro oc-ipsec:name                  string
              |        |  +--ro oc-ipsec:profile-name          string
              |        |  +--ro oc-ipsec:tunnel-interface      -> /oc-if:interfaces/interface/name
              |        |  +--ro oc-ipsec:status                identityref
              |        |  +--ro oc-ipsec:local-address         inet:ipv4-address
              |        |  +--ro oc-ipsec:remote-address        inet:ipv4-address
              |        |  +--ro oc-ipsec:connection-uptime     yang:date-and-time
              |        |  +--ro oc-ipsec:next-sa-rekey-time    yang:date-and-time
              |        |  +--ro oc-ipsec:error                 string
              |        |  +--ro oc-ipsec:counters
              |        |     +--ro oc-ipsec:input-bytes           yang:counter64
              |        |     +--ro oc-ipsec:input-packets         yang:counter64
              |        |     +--ro oc-ipsec:output-bytes          yang:counter64
              |        |     +--ro oc-ipsec:output-packets        yang:counter64
              |        |     +--ro oc-ipsec:replay-failure        yang:counter64
              |        |     +--ro oc-ipsec:integrity-failure     yang:counter64
              |        |     +--ro oc-ipsec:encryption-failure    yang:counter64
              |        +--ro oc-ipsec:ike-security-associations
              |        |  +--ro oc-ipsec:security-association* [initiator-spi responder-spi remote-address local-address]
              |        |     +--ro oc-ipsec:initiator-spi     -> ../../../../../../../ike/ike-sa/ipv4/security-associations/security-association/initiator-spi
              |        |     +--ro oc-ipsec:responder-spi     -> ../../../../../../../ike/ike-sa/ipv4/security-associations/security-association/responder-spi
              |        |     +--ro oc-ipsec:remote-address    -> ../../../../../../../ike/ike-sa/ipv4/security-associations/security-association/remote-address
              |        |     +--ro oc-ipsec:local-address     -> ../../../../../../../ike/ike-sa/ipv4/security-associations/security-association/local-address
              |        +--ro oc-ipsec:child-security-associations
              |           +--ro oc-ipsec:security-association* [spi destination-address protocol]
              |              +--ro oc-ipsec:spi                    -> ../../../../../../../ike/child-sa/ipv4/security-associations/security-association/spi
              |              +--ro oc-ipsec:destination-address    -> ../../../../../../../ike/child-sa/ipv4/security-associations/security-association/destination-address
              |              +--ro oc-ipsec:protocol               -> ../../../../../../../ike/child-sa/ipv4/security-associations/security-association/protocol
              +--rw oc-ipsec:ipv6
                 +--rw oc-ipsec:connections
                    +--ro oc-ipsec:connection* [name]
                       +--ro oc-ipsec:name                           -> ../state/name
                       +--ro oc-ipsec:state
                       |  +--ro oc-ipsec:name                  string
                       |  +--ro oc-ipsec:profile-name          string
                       |  +--ro oc-ipsec:tunnel-interface      -> /oc-if:interfaces/interface/name
                       |  +--ro oc-ipsec:status                identityref
                       |  +--ro oc-ipsec:local-address         inet:ipv6-address
                       |  +--ro oc-ipsec:remote-address        inet:ipv6-address
                       |  +--ro oc-ipsec:connection-uptime     yang:date-and-time
                       |  +--ro oc-ipsec:next-sa-rekey-time    yang:date-and-time
                       |  +--ro oc-ipsec:error                 string
                       |  +--ro oc-ipsec:counters
                       |     +--ro oc-ipsec:input-bytes           yang:counter64
                       |     +--ro oc-ipsec:input-packets         yang:counter64
                       |     +--ro oc-ipsec:output-bytes          yang:counter64
                       |     +--ro oc-ipsec:output-packets        yang:counter64
                       |     +--ro oc-ipsec:replay-failure        yang:counter64
                       |     +--ro oc-ipsec:integrity-failure     yang:counter64
                       |     +--ro oc-ipsec:encryption-failure    yang:counter64
                       +--ro oc-ipsec:ike-security-associations
                       |  +--ro oc-ipsec:security-association* [initiator-spi responder-spi remote-address local-address]
                       |     +--ro oc-ipsec:initiator-spi     -> ../../../../../../../ike/ike-sa/ipv6/security-associations/security-association/initiator-spi
                       |     +--ro oc-ipsec:responder-spi     -> ../../../../../../../ike/ike-sa/ipv6/security-associations/security-association/responder-spi
                       |     +--ro oc-ipsec:remote-address    -> ../../../../../../../ike/ike-sa/ipv6/security-associations/security-association/remote-address
                       |     +--ro oc-ipsec:local-address     -> ../../../../../../../ike/ike-sa/ipv6/security-associations/security-association/local-address
                       +--ro oc-ipsec:child-security-associations
                          +--ro oc-ipsec:security-association* [spi destination-address protocol]
                             +--ro oc-ipsec:spi                    -> ../../../../../../../ike/child-sa/ipv6/security-associations/security-association/spi
                             +--ro oc-ipsec:destination-address    -> ../../../../../../../ike/child-sa/ipv6/security-associations/security-association/destination-address
                             +--ro oc-ipsec:protocol               -> ../../../../../../../ike/child-sa/ipv6/security-associations/security-association/protocol

dplore avatar Dec 09 '25 02:12 dplore

No major YANG version changes in commit 1f2ee4b722b05baa09a03398cc7ae60852a31407

OpenConfigBot avatar Dec 09 '25 02:12 OpenConfigBot

Reviewed in December 16, 2025 OC Operators meeting without objections. Setting to last call for comments. This will merge on Jan 13, 2026

dplore avatar Dec 16 '25 21:12 dplore