Max level shown:
12026-01-05T12:21:13.329ZINFOslog-rs (bgp): spawning session for r2 module = router unit = session_runner
22026-01-05T12:21:13.335ZINFOslog-rs (bgp): dispatcher started listen_address = 12.0.0.1:10179 module = neighbor unit = dispatcher
32026-01-05T12:21:13.335ZDEBGslog-rs (bgp): listener bind: 12.0.0.1:10179 listen_address = 12.0.0.1:10179 module = neighbor unit = dispatcher
42026-01-05T12:21:13.335ZINFOslog-rs (bgp): starting peer state machine fsm_state = idle module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 params = SessionInfo { passive_tcp_establishment: false, remote_asn: None, remote_id: None, bind_addr: Some(12.0.0.1:10179), min_ttl: None, md5_auth_key: None, multi_exit_discriminator: None, communities: {}, local_pref: None, enforce_first_as: false, allow_import: NoFiltering, allow_export: NoFiltering, vlan_id: None, connect_retry_time: 1s, keepalive_time: 3s, hold_time: 6s, idle_hold_time: 0ns, delay_open_time: 0ns, resolution: 100ms, connect_retry_jitter: None, idle_hold_jitter: Some((0.75, 1.0)), deterministic_collision_resolution: false } session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
52026-01-05T12:21:13.336ZDEBGslog-rs (bgp): starting connect attempt fsm_state = idle module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: true, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
62026-01-05T12:21:13.336ZDEBGslog-rs (bgp): connecting to 12.0.0.2:10179 direction = outbound module = neighbor timeout = 333 unit = connection_channel
72026-01-05T12:21:13.337ZDEBGslog-rs (bgp): spawned new connector thread fsm_state = idle module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: true, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
82026-01-05T12:21:13.337ZINFOslog-rs (bgp): fsm transition idle -> connect fsm_state = idle module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: true, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
92026-01-05T12:21:13.338ZDEBGslog-rs (bgp): connect error: ChannelConnect direction = outbound error = Channel connect error module = neighbor timeout = 333 unit = connection_channel
102026-01-05T12:21:13.345ZDEBGslog-rs (bgp): received fsm event manual start event = manual start fsm_state = connect module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: true, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
112026-01-05T12:21:13.345ZWARNslog-rs (bgp): unexpected admin fsm event manual start, ignoring event = manual start fsm_state = connect module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: true, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
122026-01-05T12:21:13.346ZDEBGslog-rs (bgp): accepted inbound connection from: 12.0.0.2:10179 listen_address = 12.0.0.1:10179 module = neighbor peer = 12.0.0.2:10179 unit = dispatcher
132026-01-05T12:21:13.351ZDEBGslog-rs (bgp): received fsm event tcp connection acked event = tcp connection acked fsm_state = connect module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: true, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
142026-01-05T12:21:13.351ZINFOslog-rs (bgp): accepted inbound connection from 12.0.0.2:10179 connection = (12.0.0.1:10179, 12.0.0.2:10179) connection_clock = ConnectionClock { conn_id: d431fc74, resolution: 0.100s, keepalive: Timer { interval: 3.000s, enabled: false, remaining: 3.000s }, hold: Timer { interval: 6.000s, enabled: false, remaining: 6.000s }, delay_open: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } connection_id = d431fc74 direction = inbound fsm_state = connect module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: true, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
152026-01-05T12:21:13.352ZTRACslog-rs (bgp): send open message via channel to 12.0.0.2:10179 (conn_id: d431fc74, channel_id: 1) channel_id = 1 connection_id = d431fc74 connection_local = 12.0.0.1:10179 connection_peer = 12.0.0.2:10179 direction = inbound message = open message_contents = Open [ version: 4, asn: 23456, hold_time: 6, id: 1, parameters: [ Capabilities [ MP-Extensions 1/1, Route Refresh, Four Octet ASN 4200000001, AddPath [ AddPathElement { afi: 1, safi: 1, send_receive: 1 }, ], ]] ] module = neighbor unit = connection_channel
162026-01-05T12:21:13.353ZINFOslog-rs (bgp): fsm transition connect -> open sent fsm_state = connect module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
172026-01-05T12:21:13.353ZDEBGslog-rs (bgp): recv open msg from 12.0.0.2:10179 (conn_id: d431fc74, channel_id: 1) channel_id = 1 direction = inbound message = open message_contents = Open [ version: 4, asn: 23456, hold_time: 6, id: 2, parameters: [ Capabilities [ MP-Extensions 1/1, Route Refresh, Four Octet ASN 4200000002, AddPath [ AddPathElement { afi: 1, safi: 1, send_receive: 1 }, ], ]] ] module = neighbor peer = 12.0.0.2:10179 unit = connection_channel
182026-01-05T12:21:13.354ZDEBGslog-rs (bgp): recv keepalive msg from 12.0.0.2:10179 (conn_id: d431fc74, channel_id: 1) channel_id = 1 direction = inbound message = keepalive message_contents = Keepalive module = neighbor peer = 12.0.0.2:10179 unit = connection_channel
192026-01-05T12:21:13.354ZDEBGslog-rs (bgp): received fsm event connection = (12.0.0.1:10179, 12.0.0.2:10179) connection_clock = ConnectionClock { conn_id: d431fc74, resolution: 0.100s, keepalive: Timer { interval: 3.000s, enabled: false, remaining: 3.000s }, hold: Timer { interval: 6.000s, enabled: true, remaining: 6.000s }, delay_open: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } connection_id = d431fc74 direction = inbound event = message fsm_state = open sent module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
202026-01-05T12:21:13.355ZTRACslog-rs (bgp): sending keepalive connection = (12.0.0.1:10179, 12.0.0.2:10179) connection_clock = ConnectionClock { conn_id: d431fc74, resolution: 0.100s, keepalive: Timer { interval: 3.000s, enabled: true, remaining: 3.000s }, hold: Timer { interval: 6.000s, enabled: true, remaining: 6.000s }, delay_open: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } connection_id = d431fc74 direction = inbound fsm_state = open sent message = keepalive module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
212026-01-05T12:21:13.356ZTRACslog-rs (bgp): send keepalive message via channel to 12.0.0.2:10179 (conn_id: d431fc74, channel_id: 1) channel_id = 1 connection_id = d431fc74 connection_local = 12.0.0.1:10179 connection_peer = 12.0.0.2:10179 direction = inbound message = keepalive message_contents = Keepalive module = neighbor unit = connection_channel
222026-01-05T12:21:13.356ZINFOslog-rs (bgp): fsm transition open sent -> open confirm fsm_state = open sent module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
232026-01-05T12:21:13.357ZDEBGslog-rs (bgp): received fsm event connection = (12.0.0.1:10179, 12.0.0.2:10179) connection_clock = ConnectionClock { conn_id: d431fc74, resolution: 0.100s, keepalive: Timer { interval: 3.000s, enabled: true, remaining: 3.000s }, hold: Timer { interval: 6.000s, enabled: true, remaining: 6.000s }, delay_open: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } connection_id = d431fc74 direction = inbound event = message fsm_state = open confirm module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
242026-01-05T12:21:13.357ZINFOslog-rs (bgp): fsm transition open confirm -> session setup fsm_state = open confirm module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
252026-01-05T12:21:13.358ZTRACslog-rs (bgp): sending keepalive connection = (12.0.0.1:10179, 12.0.0.2:10179) connection_clock = ConnectionClock { conn_id: d431fc74, resolution: 0.100s, keepalive: Timer { interval: 3.000s, enabled: true, remaining: 3.000s }, hold: Timer { interval: 6.000s, enabled: true, remaining: 6.000s }, delay_open: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } connection_id = d431fc74 direction = inbound fsm_state = session setup message = keepalive module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
262026-01-05T12:21:13.358ZTRACslog-rs (bgp): send keepalive message via channel to 12.0.0.2:10179 (conn_id: d431fc74, channel_id: 1) channel_id = 1 connection_id = d431fc74 connection_local = 12.0.0.1:10179 connection_peer = 12.0.0.2:10179 direction = inbound message = keepalive message_contents = Keepalive module = neighbor unit = connection_channel
272026-01-05T12:21:13.359ZINFOslog-rs (bgp): fsm transition session setup -> established fsm_state = session setup module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
282026-01-05T12:21:13.359ZDEBGslog-rs (bgp): recv keepalive msg from 12.0.0.2:10179 (conn_id: d431fc74, channel_id: 1) channel_id = 1 direction = inbound message = keepalive message_contents = Keepalive module = neighbor peer = 12.0.0.2:10179 unit = connection_channel
292026-01-05T12:21:13.360ZDEBGslog-rs (bgp): received fsm event connection = (12.0.0.1:10179, 12.0.0.2:10179) connection_clock = ConnectionClock { conn_id: d431fc74, resolution: 0.100s, keepalive: Timer { interval: 3.000s, enabled: true, remaining: 3.000s }, hold: Timer { interval: 6.000s, enabled: true, remaining: 6.000s }, delay_open: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } connection_id = d431fc74 direction = inbound event = message fsm_state = established module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
302026-01-05T12:21:13.361ZTRACslog-rs (bgp): keepalive received (conn_id: d431fc74) connection = (12.0.0.1:10179, 12.0.0.2:10179) connection_clock = ConnectionClock { conn_id: d431fc74, resolution: 0.100s, keepalive: Timer { interval: 3.000s, enabled: true, remaining: 3.000s }, hold: Timer { interval: 6.000s, enabled: true, remaining: 6.000s }, delay_open: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } connection_id = d431fc74 direction = inbound fsm_state = established message = keepalive module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
312026-01-05T12:21:14.354ZDEBGslog-rs (bgp): peer 12.0.0.2:10179 disconnected (conn_id: d431fc74, channel_id: 1), terminating recv loop channel_id = 1 connection_id = d431fc74 direction = inbound module = neighbor peer = 12.0.0.2:10179 unit = connection_channel
322026-01-05T12:21:16.348ZDEBGslog-rs (bgp): received fsm event connection = (12.0.0.1:10179, 12.0.0.2:10179) connection_clock = ConnectionClock { conn_id: d431fc74, resolution: 0.100s, keepalive: Timer { interval: 3.000s, enabled: true, remaining: 3.000s }, hold: Timer { interval: 6.000s, enabled: true, remaining: 3.000s }, delay_open: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } connection_id = d431fc74 direction = inbound event = keepalive timer expires fsm_state = established module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
332026-01-05T12:21:16.349ZTRACslog-rs (bgp): sending keepalive connection = (12.0.0.1:10179, 12.0.0.2:10179) connection_clock = ConnectionClock { conn_id: d431fc74, resolution: 0.100s, keepalive: Timer { interval: 3.000s, enabled: true, remaining: 3.000s }, hold: Timer { interval: 6.000s, enabled: true, remaining: 3.000s }, delay_open: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } connection_id = d431fc74 direction = inbound fsm_state = established message = keepalive module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
342026-01-05T12:21:16.349ZTRACslog-rs (bgp): send keepalive message via channel to 12.0.0.2:10179 (conn_id: d431fc74, channel_id: 1) channel_id = 1 connection_id = d431fc74 connection_local = 12.0.0.1:10179 connection_peer = 12.0.0.2:10179 direction = inbound message = keepalive message_contents = Keepalive module = neighbor unit = connection_channel
352026-01-05T12:21:16.349ZERROslog-rs (bgp): error sending message via channel to 12.0.0.2:10179 (conn_id: d431fc74, channel_id: 1): channel send: sending on a closed channel channel_id = 1 connection_id = d431fc74 connection_local = 12.0.0.1:10179 connection_peer = 12.0.0.2:10179 direction = inbound error = channel send: sending on a closed channel module = neighbor network_state = {(12.0.0.2:10179, Sender { .. })(12.0.0.1:10179, Sender { .. })} unit = connection_channel
362026-01-05T12:21:16.350ZERROslog-rs (bgp): failed to send keepalive: channel send: sending on a closed channel connection = (12.0.0.1:10179, 12.0.0.2:10179) connection_clock = ConnectionClock { conn_id: d431fc74, resolution: 0.100s, keepalive: Timer { interval: 3.000s, enabled: true, remaining: 3.000s }, hold: Timer { interval: 6.000s, enabled: true, remaining: 3.000s }, delay_open: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } connection_id = d431fc74 direction = inbound error = channel send: sending on a closed channel fsm_state = established module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
372026-01-05T12:21:19.350ZDEBGslog-rs (bgp): received fsm event connection = (12.0.0.1:10179, 12.0.0.2:10179) connection_clock = ConnectionClock { conn_id: d431fc74, resolution: 0.100s, keepalive: Timer { interval: 3.000s, enabled: true, remaining: 3.000s }, hold: Timer { interval: 6.000s, enabled: true, remaining: 6.000s }, delay_open: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } connection_id = d431fc74 direction = inbound event = keepalive timer expires fsm_state = established module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
382026-01-05T12:21:19.350ZTRACslog-rs (bgp): sending keepalive connection = (12.0.0.1:10179, 12.0.0.2:10179) connection_clock = ConnectionClock { conn_id: d431fc74, resolution: 0.100s, keepalive: Timer { interval: 3.000s, enabled: true, remaining: 3.000s }, hold: Timer { interval: 6.000s, enabled: true, remaining: 6.000s }, delay_open: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } connection_id = d431fc74 direction = inbound fsm_state = established message = keepalive module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
392026-01-05T12:21:19.351ZTRACslog-rs (bgp): send keepalive message via channel to 12.0.0.2:10179 (conn_id: d431fc74, channel_id: 1) channel_id = 1 connection_id = d431fc74 connection_local = 12.0.0.1:10179 connection_peer = 12.0.0.2:10179 direction = inbound message = keepalive message_contents = Keepalive module = neighbor unit = connection_channel
402026-01-05T12:21:19.351ZERROslog-rs (bgp): error sending message via channel to 12.0.0.2:10179 (conn_id: d431fc74, channel_id: 1): channel send: sending on a closed channel channel_id = 1 connection_id = d431fc74 connection_local = 12.0.0.1:10179 connection_peer = 12.0.0.2:10179 direction = inbound error = channel send: sending on a closed channel module = neighbor network_state = {(12.0.0.2:10179, Sender { .. })(12.0.0.1:10179, Sender { .. })} unit = connection_channel
412026-01-05T12:21:19.351ZERROslog-rs (bgp): failed to send keepalive: channel send: sending on a closed channel connection = (12.0.0.1:10179, 12.0.0.2:10179) connection_clock = ConnectionClock { conn_id: d431fc74, resolution: 0.100s, keepalive: Timer { interval: 3.000s, enabled: true, remaining: 3.000s }, hold: Timer { interval: 6.000s, enabled: true, remaining: 6.000s }, delay_open: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } connection_id = d431fc74 direction = inbound error = channel send: sending on a closed channel fsm_state = established module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
422026-01-05T12:21:19.352ZDEBGslog-rs (bgp): received fsm event connection = (12.0.0.1:10179, 12.0.0.2:10179) connection_clock = ConnectionClock { conn_id: d431fc74, resolution: 0.100s, keepalive: Timer { interval: 3.000s, enabled: true, remaining: 3.000s }, hold: Timer { interval: 6.000s, enabled: true, remaining: 6.000s }, delay_open: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } connection_id = d431fc74 direction = inbound event = hold timer expires fsm_state = established module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
432026-01-05T12:21:19.352ZWARNslog-rs (bgp): hold timer expired, fsm transition to idle connection = (12.0.0.1:10179, 12.0.0.2:10179) connection_clock = ConnectionClock { conn_id: d431fc74, resolution: 0.100s, keepalive: Timer { interval: 3.000s, enabled: true, remaining: 3.000s }, hold: Timer { interval: 6.000s, enabled: true, remaining: 6.000s }, delay_open: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } connection_id = d431fc74 direction = inbound fsm_state = established module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
442026-01-05T12:21:19.352ZINFOslog-rs (bgp): sending notification: 4 (HoldTimerExpired) / 0 connection = (12.0.0.1:10179, 12.0.0.2:10179) connection_clock = ConnectionClock { conn_id: d431fc74, resolution: 0.100s, keepalive: Timer { interval: 3.000s, enabled: true, remaining: 3.000s }, hold: Timer { interval: 6.000s, enabled: true, remaining: 6.000s }, delay_open: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } connection_id = d431fc74 direction = inbound fsm_state = established message = notification message_contents = Notification [ error_code: 4 (HoldTimerExpired), error_subcode: 0, data: [] ] module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
452026-01-05T12:21:19.353ZTRACslog-rs (bgp): send notification message via channel to 12.0.0.2:10179 (conn_id: d431fc74, channel_id: 1) channel_id = 1 connection_id = d431fc74 connection_local = 12.0.0.1:10179 connection_peer = 12.0.0.2:10179 direction = inbound message = notification message_contents = Notification [ error_code: 4 (HoldTimerExpired), error_subcode: 0, data: [] ] module = neighbor unit = connection_channel
462026-01-05T12:21:19.353ZERROslog-rs (bgp): error sending message via channel to 12.0.0.2:10179 (conn_id: d431fc74, channel_id: 1): channel send: sending on a closed channel channel_id = 1 connection_id = d431fc74 connection_local = 12.0.0.1:10179 connection_peer = 12.0.0.2:10179 direction = inbound error = channel send: sending on a closed channel module = neighbor network_state = {(12.0.0.2:10179, Sender { .. })(12.0.0.1:10179, Sender { .. })} unit = connection_channel
472026-01-05T12:21:19.354ZERROslog-rs (bgp): failed to send notification: channel send: sending on a closed channel connection = (12.0.0.1:10179, 12.0.0.2:10179) connection_clock = ConnectionClock { conn_id: d431fc74, resolution: 0.100s, keepalive: Timer { interval: 3.000s, enabled: true, remaining: 3.000s }, hold: Timer { interval: 6.000s, enabled: true, remaining: 6.000s }, delay_open: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } connection_id = d431fc74 direction = inbound error = channel send: sending on a closed channel fsm_state = established module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
482026-01-05T12:21:19.354ZDEBGslog-rs (bgp): dropping bgp connection for peer 12.0.0.2:10179 (conn_id: d431fc74, channel_id: 1) channel_id = 1 connection_id = d431fc74 connection_local = 12.0.0.1:10179 connection_peer = 12.0.0.2:10179 direction = inbound module = neighbor network_state = {(12.0.0.2:10179, Sender { .. })(12.0.0.1:10179, Sender { .. })} unit = connection_channel
492026-01-05T12:21:19.450ZINFOslog-rs (bgp): fsm transition established -> idle fsm_state = established module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
502026-01-05T12:21:19.450ZDEBGslog-rs (bgp): starting connect attempt fsm_state = idle module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: true, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
512026-01-05T12:21:19.451ZDEBGslog-rs (bgp): connector thread completed successfully context = checking previous fsm_state = idle module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: true, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
522026-01-05T12:21:19.451ZDEBGslog-rs (bgp): connecting to 12.0.0.2:10179 direction = outbound module = neighbor timeout = 333 unit = connection_channel
532026-01-05T12:21:19.451ZDEBGslog-rs (bgp): spawned new connector thread fsm_state = idle module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: true, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
542026-01-05T12:21:19.451ZINFOslog-rs (bgp): fsm transition idle -> connect fsm_state = idle module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: true, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
552026-01-05T12:21:19.452ZDEBGslog-rs (bgp): connect error: ChannelSend("sending on a closed channel") direction = outbound error = channel send: sending on a closed channel module = neighbor timeout = 333 unit = connection_channel
562026-01-05T12:21:20.342ZDEBGslog-rs (bgp): accepted inbound connection from: 12.0.0.2:10179 listen_address = 12.0.0.1:10179 module = neighbor peer = 12.0.0.2:10179 unit = dispatcher
572026-01-05T12:21:20.342ZDEBGslog-rs (bgp): received fsm event tcp connection acked event = tcp connection acked fsm_state = connect module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: true, remaining: 0.100s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
582026-01-05T12:21:20.342ZINFOslog-rs (bgp): accepted inbound connection from 12.0.0.2:10179 connection = (12.0.0.1:10179, 12.0.0.2:10179) connection_clock = ConnectionClock { conn_id: 965fb75a, resolution: 0.100s, keepalive: Timer { interval: 3.000s, enabled: false, remaining: 3.000s }, hold: Timer { interval: 6.000s, enabled: false, remaining: 6.000s }, delay_open: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } connection_id = 965fb75a direction = inbound fsm_state = connect module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: true, remaining: 0.100s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
592026-01-05T12:21:20.343ZTRACslog-rs (bgp): send open message via channel to 12.0.0.2:10179 (conn_id: 965fb75a, channel_id: 3) channel_id = 3 connection_id = 965fb75a connection_local = 12.0.0.1:10179 connection_peer = 12.0.0.2:10179 direction = inbound message = open message_contents = Open [ version: 4, asn: 23456, hold_time: 6, id: 1, parameters: [ Capabilities [ MP-Extensions 1/1, Route Refresh, Four Octet ASN 4200000001, AddPath [ AddPathElement { afi: 1, safi: 1, send_receive: 1 }, ], ]] ] module = neighbor unit = connection_channel
602026-01-05T12:21:20.343ZINFOslog-rs (bgp): fsm transition connect -> open sent fsm_state = connect module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
612026-01-05T12:21:20.344ZDEBGslog-rs (bgp): recv open msg from 12.0.0.2:10179 (conn_id: 965fb75a, channel_id: 3) channel_id = 3 direction = inbound message = open message_contents = Open [ version: 4, asn: 23456, hold_time: 6, id: 2, parameters: [ Capabilities [ MP-Extensions 1/1, Route Refresh, Four Octet ASN 4200000002, AddPath [ AddPathElement { afi: 1, safi: 1, send_receive: 1 }, ], ]] ] module = neighbor peer = 12.0.0.2:10179 unit = connection_channel
622026-01-05T12:21:20.344ZDEBGslog-rs (bgp): received fsm event connection = (12.0.0.1:10179, 12.0.0.2:10179) connection_clock = ConnectionClock { conn_id: 965fb75a, resolution: 0.100s, keepalive: Timer { interval: 3.000s, enabled: false, remaining: 3.000s }, hold: Timer { interval: 6.000s, enabled: true, remaining: 6.000s }, delay_open: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } connection_id = 965fb75a direction = inbound event = message fsm_state = open sent module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
632026-01-05T12:21:20.344ZTRACslog-rs (bgp): sending keepalive connection = (12.0.0.1:10179, 12.0.0.2:10179) connection_clock = ConnectionClock { conn_id: 965fb75a, resolution: 0.100s, keepalive: Timer { interval: 3.000s, enabled: true, remaining: 3.000s }, hold: Timer { interval: 6.000s, enabled: true, remaining: 6.000s }, delay_open: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } connection_id = 965fb75a direction = inbound fsm_state = open sent message = keepalive module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
642026-01-05T12:21:20.345ZTRACslog-rs (bgp): send keepalive message via channel to 12.0.0.2:10179 (conn_id: 965fb75a, channel_id: 3) channel_id = 3 connection_id = 965fb75a connection_local = 12.0.0.1:10179 connection_peer = 12.0.0.2:10179 direction = inbound message = keepalive message_contents = Keepalive module = neighbor unit = connection_channel
652026-01-05T12:21:20.345ZINFOslog-rs (bgp): fsm transition open sent -> open confirm fsm_state = open sent module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
662026-01-05T12:21:20.346ZDEBGslog-rs (bgp): recv keepalive msg from 12.0.0.2:10179 (conn_id: 965fb75a, channel_id: 3) channel_id = 3 direction = inbound message = keepalive message_contents = Keepalive module = neighbor peer = 12.0.0.2:10179 unit = connection_channel
672026-01-05T12:21:20.346ZDEBGslog-rs (bgp): received fsm event connection = (12.0.0.1:10179, 12.0.0.2:10179) connection_clock = ConnectionClock { conn_id: 965fb75a, resolution: 0.100s, keepalive: Timer { interval: 3.000s, enabled: true, remaining: 3.000s }, hold: Timer { interval: 6.000s, enabled: true, remaining: 6.000s }, delay_open: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } connection_id = 965fb75a direction = inbound event = message fsm_state = open confirm module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
682026-01-05T12:21:20.347ZINFOslog-rs (bgp): fsm transition open confirm -> session setup fsm_state = open confirm module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
692026-01-05T12:21:20.348ZTRACslog-rs (bgp): sending keepalive connection = (12.0.0.1:10179, 12.0.0.2:10179) connection_clock = ConnectionClock { conn_id: 965fb75a, resolution: 0.100s, keepalive: Timer { interval: 3.000s, enabled: true, remaining: 3.000s }, hold: Timer { interval: 6.000s, enabled: true, remaining: 6.000s }, delay_open: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } connection_id = 965fb75a direction = inbound fsm_state = session setup message = keepalive module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
702026-01-05T12:21:20.348ZDEBGslog-rs (bgp): recv keepalive msg from 12.0.0.2:10179 (conn_id: 965fb75a, channel_id: 3) channel_id = 3 direction = inbound message = keepalive message_contents = Keepalive module = neighbor peer = 12.0.0.2:10179 unit = connection_channel
712026-01-05T12:21:20.348ZTRACslog-rs (bgp): send keepalive message via channel to 12.0.0.2:10179 (conn_id: 965fb75a, channel_id: 3) channel_id = 3 connection_id = 965fb75a connection_local = 12.0.0.1:10179 connection_peer = 12.0.0.2:10179 direction = inbound message = keepalive message_contents = Keepalive module = neighbor unit = connection_channel
722026-01-05T12:21:20.349ZINFOslog-rs (bgp): fsm transition session setup -> established fsm_state = session setup module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
732026-01-05T12:21:20.349ZDEBGslog-rs (bgp): received fsm event connection = (12.0.0.1:10179, 12.0.0.2:10179) connection_clock = ConnectionClock { conn_id: 965fb75a, resolution: 0.100s, keepalive: Timer { interval: 3.000s, enabled: true, remaining: 3.000s }, hold: Timer { interval: 6.000s, enabled: true, remaining: 6.000s }, delay_open: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } connection_id = 965fb75a direction = inbound event = message fsm_state = established module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
742026-01-05T12:21:20.350ZTRACslog-rs (bgp): keepalive received (conn_id: 965fb75a) connection = (12.0.0.1:10179, 12.0.0.2:10179) connection_clock = ConnectionClock { conn_id: 965fb75a, resolution: 0.100s, keepalive: Timer { interval: 3.000s, enabled: true, remaining: 3.000s }, hold: Timer { interval: 6.000s, enabled: true, remaining: 6.000s }, delay_open: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } connection_id = 965fb75a direction = inbound fsm_state = established message = keepalive module = neighbor neighbor = 12.0.0.2 neighbor_name = r2 session_clock = SessionClock { resolution: 0.100s, connect_retry: Timer { interval: 1.000s, enabled: false, remaining: 1.000s }, idle_hold: Timer { interval: 0.000s, enabled: false, remaining: 0.000s } } unit = session_runner
752026-01-05T12:21:21.342ZINFOslog-rs (bgp): router (asn: 4200000001, id: 1) received shutdown request, stopping sessions module = router unit = session_runner
76 {"msg":"