BfdSessionTable:
  rpc: get-bfd-session-information
  args:
    extensive: True
  item: bfd-session
  key: session-neighbor
  view: BfdSessionView

BfdSessionView:
  fields:
    neighbor: session-neighbor
    state: session-state
    interface: session-interface
    detection_time: session-detection-time
    transmission_interval: session-transmission-interval
    adaptive_multiplier: session-adaptive-multiplier
    local_diagnostic: local-diagnostic
    remote_diagnostic: remote-diagnostic
    version: session-version
    remote_state: remote-state
    minimum_asynchronous_interval: minimum-asynchronous-interval
    minimum_slow_interval: minimum-slow-interval
    adaptive_asynchronous_transmission_interval: adaptive-asynchronous-transmission_interval
    adaptive_reception_interval: adaptive-reception-interval
    minimum_transmission_interval: minimum-transmission-interval
    minimum_reception_interval: minimum-reception-interval
    detection_multiplier: detection-multiplier
    neighbor_minimum_transmission_interval: neighbor-minimum-transmission_interval
    neighbor_minimum_reception_interval: neighbor-minimum-reception_interval
    neighbor_session_multiplier: neighbor-session-multiplier
    local_discriminator: local-discriminator
    remote_discriminator: remote-discriminator
    echo_mode_desired: echo-mode-desired
    echo_mode_state: echo-mode-state
    no_absorb: { no-absorb: True=regex(no-absorb) }
    no_refresh: { no-refresh: True=no-refresh }
    bfd_client: _BfdSessionClientTable

_BfdSessionClientTable:
  item: bfd-client
  view: _BfdSessionClientView

_BfdSessionClientView:
  fields:
    client_name: client-name
    transmission_interval: client-transmission-interval
    reception_interval: client-reception-interval
