FD.io VPP  v17.04-9-g99c0734
Vector Packet Processing
bfd_session_s Struct Reference
+ Collaboration diagram for bfd_session_s:

Data Fields

u32 bs_idx
 index in bfd_main.sessions pool More...
 
bfd_state_e local_state
 session state More...
 
bfd_state_e remote_state
 remote session state More...
 
bfd_diag_code_e local_diag
 local diagnostics More...
 
bfd_diag_code_e remote_diag
 remote diagnostics More...
 
u32 local_discr
 local discriminator More...
 
u32 remote_discr
 remote discriminator More...
 
u32 config_desired_min_tx_usec
 configured desired min tx interval (microseconds) More...
 
u64 config_desired_min_tx_clocks
 configured desired min tx interval (clocks) More...
 
u64 effective_desired_min_tx_clocks
 effective desired min tx interval (clocks) More...
 
u32 config_required_min_rx_usec
 configured required min rx interval (microseconds) More...
 
u64 config_required_min_rx_clocks
 configured required min rx interval (clocks) More...
 
u64 effective_required_min_rx_clocks
 effective required min rx interval (clocks) More...
 
u64 remote_min_rx_usec
 remote min rx interval (microseconds) More...
 
u64 remote_min_rx_clocks
 remote min rx interval (clocks) More...
 
u64 remote_min_echo_rx_usec
 remote min echo rx interval (microseconds) More...
 
u64 remote_min_echo_rx_clocks
 remote min echo rx interval (clocks) More...
 
u64 remote_desired_min_tx_clocks
 remote desired min tx interval (clocks) More...
 
u8 local_detect_mult
 configured detect multiplier More...
 
u8 remote_demand
 1 if remote system sets demand mode, 0 otherwise More...
 
u8 remote_detect_mult
 remote detect multiplier More...
 
u8 echo
 1 is echo function is active, 0 otherwise More...
 
u64 wheel_time_clocks
 set to value of timer in timing wheel, 0 if never set More...
 
u64 transmit_interval_clocks
 transmit interval More...
 
u64 tx_timeout_clocks
 next time at which to transmit a packet More...
 
u64 last_tx_clocks
 timestamp of last packet transmitted More...
 
u64 last_rx_clocks
 timestamp of last packet received More...
 
u64 echo_transmit_interval_clocks
 transmit interval for echo packets More...
 
u64 echo_tx_timeout_clocks
 next time at which to transmit echo packet More...
 
u64 echo_last_tx_clocks
 timestamp of last echo packet transmitted More...
 
u64 echo_last_rx_clocks
 timestamp of last echo packet received More...
 
u32 echo_secret
 secret used for calculating/checking checksum of echo packets More...
 
u64 detection_time_clocks
 detection time More...
 
bfd_poll_state_e poll_state
 state info regarding poll sequence More...
 
u64 poll_state_start_or_timeout_clocks
 helper for delayed poll sequence - marks either start of running poll sequence or timeout, after which we can start the next poll sequnce More...
 
struct {
   bfd_auth_key_t *   curr_key
 current key in use More...
 
   bfd_auth_key_t *   next_key
 set to next key to use if delayed switch is enabled - in that case the key is switched when first incoming packet is signed with next_key More...
 
   u32   local_seq_number
 sequence number incremented occasionally or always (if meticulous) More...
 
   u32   remote_seq_number
 remote sequence number More...
 
   u8   remote_seq_number_known
 set to 1 if remote sequence number is known More...
 
   u8   curr_bfd_key_id
 current key ID sent out in bfd packet More...
 
   u8   next_bfd_key_id
 key ID to use when switched to next_key More...
 
   u8   is_delayed
 set to 1 if delayed action is pending, which might be activation of authentication, change of key or deactivation More...
 
auth
 authentication information More...
 
bfd_transport_e transport
 transport type for this session More...
 
union {
   bfd_udp_session_t   udp
 
}; 
 union of transport-specific data More...
 

Detailed Description

Definition at line 69 of file bfd_main.h.

Field Documentation

union { ... }

union of transport-specific data

struct { ... } bfd_session_s::auth

authentication information

u32 bfd_session_s::bs_idx

index in bfd_main.sessions pool

Definition at line 72 of file bfd_main.h.

u64 bfd_session_s::config_desired_min_tx_clocks

configured desired min tx interval (clocks)

Definition at line 96 of file bfd_main.h.

u32 bfd_session_s::config_desired_min_tx_usec

configured desired min tx interval (microseconds)

Definition at line 93 of file bfd_main.h.

u64 bfd_session_s::config_required_min_rx_clocks

configured required min rx interval (clocks)

Definition at line 105 of file bfd_main.h.

u32 bfd_session_s::config_required_min_rx_usec

configured required min rx interval (microseconds)

Definition at line 102 of file bfd_main.h.

u8 bfd_session_s::curr_bfd_key_id

current key ID sent out in bfd packet

Definition at line 201 of file bfd_main.h.

bfd_auth_key_t* bfd_session_s::curr_key

current key in use

Definition at line 183 of file bfd_main.h.

u64 bfd_session_s::detection_time_clocks

detection time

Definition at line 168 of file bfd_main.h.

u8 bfd_session_s::echo

1 is echo function is active, 0 otherwise

Definition at line 135 of file bfd_main.h.

u64 bfd_session_s::echo_last_rx_clocks

timestamp of last echo packet received

Definition at line 162 of file bfd_main.h.

u64 bfd_session_s::echo_last_tx_clocks

timestamp of last echo packet transmitted

Definition at line 159 of file bfd_main.h.

u32 bfd_session_s::echo_secret

secret used for calculating/checking checksum of echo packets

Definition at line 165 of file bfd_main.h.

u64 bfd_session_s::echo_transmit_interval_clocks

transmit interval for echo packets

Definition at line 153 of file bfd_main.h.

u64 bfd_session_s::echo_tx_timeout_clocks

next time at which to transmit echo packet

Definition at line 156 of file bfd_main.h.

u64 bfd_session_s::effective_desired_min_tx_clocks

effective desired min tx interval (clocks)

Definition at line 99 of file bfd_main.h.

u64 bfd_session_s::effective_required_min_rx_clocks

effective required min rx interval (clocks)

Definition at line 108 of file bfd_main.h.

u8 bfd_session_s::is_delayed

set to 1 if delayed action is pending, which might be activation of authentication, change of key or deactivation

Definition at line 210 of file bfd_main.h.

u64 bfd_session_s::last_rx_clocks

timestamp of last packet received

Definition at line 150 of file bfd_main.h.

u64 bfd_session_s::last_tx_clocks

timestamp of last packet transmitted

Definition at line 147 of file bfd_main.h.

u8 bfd_session_s::local_detect_mult

configured detect multiplier

Definition at line 126 of file bfd_main.h.

bfd_diag_code_e bfd_session_s::local_diag

local diagnostics

Definition at line 81 of file bfd_main.h.

u32 bfd_session_s::local_discr

local discriminator

Definition at line 87 of file bfd_main.h.

u32 bfd_session_s::local_seq_number

sequence number incremented occasionally or always (if meticulous)

Definition at line 192 of file bfd_main.h.

bfd_state_e bfd_session_s::local_state

session state

Definition at line 75 of file bfd_main.h.

u8 bfd_session_s::next_bfd_key_id

key ID to use when switched to next_key

Definition at line 204 of file bfd_main.h.

bfd_auth_key_t* bfd_session_s::next_key

set to next key to use if delayed switch is enabled - in that case the key is switched when first incoming packet is signed with next_key

Definition at line 189 of file bfd_main.h.

bfd_poll_state_e bfd_session_s::poll_state

state info regarding poll sequence

Definition at line 171 of file bfd_main.h.

u64 bfd_session_s::poll_state_start_or_timeout_clocks

helper for delayed poll sequence - marks either start of running poll sequence or timeout, after which we can start the next poll sequnce

Definition at line 177 of file bfd_main.h.

u8 bfd_session_s::remote_demand

1 if remote system sets demand mode, 0 otherwise

Definition at line 129 of file bfd_main.h.

u64 bfd_session_s::remote_desired_min_tx_clocks

remote desired min tx interval (clocks)

Definition at line 123 of file bfd_main.h.

u8 bfd_session_s::remote_detect_mult

remote detect multiplier

Definition at line 132 of file bfd_main.h.

bfd_diag_code_e bfd_session_s::remote_diag

remote diagnostics

Definition at line 84 of file bfd_main.h.

u32 bfd_session_s::remote_discr

remote discriminator

Definition at line 90 of file bfd_main.h.

u64 bfd_session_s::remote_min_echo_rx_clocks

remote min echo rx interval (clocks)

Definition at line 120 of file bfd_main.h.

u64 bfd_session_s::remote_min_echo_rx_usec

remote min echo rx interval (microseconds)

Definition at line 117 of file bfd_main.h.

u64 bfd_session_s::remote_min_rx_clocks

remote min rx interval (clocks)

Definition at line 114 of file bfd_main.h.

u64 bfd_session_s::remote_min_rx_usec

remote min rx interval (microseconds)

Definition at line 111 of file bfd_main.h.

u32 bfd_session_s::remote_seq_number

remote sequence number

Definition at line 195 of file bfd_main.h.

u8 bfd_session_s::remote_seq_number_known

set to 1 if remote sequence number is known

Definition at line 198 of file bfd_main.h.

bfd_state_e bfd_session_s::remote_state

remote session state

Definition at line 78 of file bfd_main.h.

u64 bfd_session_s::transmit_interval_clocks

transmit interval

Definition at line 141 of file bfd_main.h.

bfd_transport_e bfd_session_s::transport

transport type for this session

Definition at line 214 of file bfd_main.h.

u64 bfd_session_s::tx_timeout_clocks

next time at which to transmit a packet

Definition at line 144 of file bfd_main.h.

bfd_udp_session_t bfd_session_s::udp

Definition at line 219 of file bfd_main.h.

u64 bfd_session_s::wheel_time_clocks

set to value of timer in timing wheel, 0 if never set

Definition at line 138 of file bfd_main.h.


The documentation for this struct was generated from the following file: