Skip to content

bgp: consider using local variables to encode FSM timers #566

@taspelund

Description

@taspelund

While spending a lot of time on the FSM lately, I had some thoughts on how we store and manage FSM timers:

  • HoldTimer/KeepaliveTimer are specific to a connection, so they could stay in the ConnectionClock.
  • IdleHoldTimer is specific to Idle, so that could be state local to FsmState::Idle.
  • DelayOpenTimer is specific to Active/Connect and doesn't need to persist outside that state, so it could also be local state.
  • ConnectRetryTimer really only starts/stops in Active/Connect so it could also be state local to that FsmState (technically it's started in Idle immediately before moving into active/connect, but we could just start it upon entry of the next state)

Metadata

Metadata

Assignees

No one assigned

    Labels

    IdeaNew ideas to consider.bgpBorder Gateway ProtocolmgdMaghemite daemonrustPull requests that update rust code

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions