blob: 2b9bee8499683f7ac312e4bcc800206d6c6a89d6 [file] [log] [blame]
Paul Jakma86d87e02016-04-20 14:04:22 +01001digraph {
2 rankdir=LR
3 //concentrate=true
4 nojustify="true"
5
6 Idle
7 Connect
8 Active
9 OpenSent
10 OpenConfirm
11 Established
12 Clearing
13 Idle -> Deleted
14 Configured -> Idle
15
16 Idle -> Connect [ label="BGP_Start\l/bgp_start\l" ]
17 Idle -> Idle [ label="BGP_Stop\l|TCP_connection_open\l|TCP_connection_closed\l|TCP_fatal_error\l/bgp_stop\l"]
18
19 Connect -> Connect [ label="ConnectRetry_timer_expired\l/bgp_reconnect\l" ]
20 Connect -> Idle [ label="BGP_Stop\l|TCP_connection_open\l|Receive_NOTIFICATION_message\l/bgp_stop\l" ]
21 Connect -> Idle [ label="TCP_fatal_error\l/bgp_connect_fail\l" ]
22 Connect -> Idle [ label="Hold_Timer_expired\l|KeepAlive_timer_expired\l|Receive_OPEN_message\l|Receive_KEEPALIVE_message\l|Receive_UPDATE_message\l|Clearing_Completed\l/bgp_ignore"]
23 Connect -> OpenSent [ label="TCP_connection_open\l/bgp_connect_success\l" ]
24 Connect -> Active [ label="TCP_connection_open_failed\l/bgp_connect_fail\l" ]
25
26 Active -> Idle [ label="BGP_Stop\l|TCP_connection_closed\l/bgp_stop\l" ]
27 Active -> Idle [ label="Receive_NOTIFICATION_message\l/bgp_stop_with_error\l" ]
28 Active -> Idle [ label="TCP_fatal_error\l|Hold_Timer_expired\l|KeepAlive_timer_expired\l|Receive_OPEN_message\l|Receive_KEEPALIVE_message\l|Receive_UPDATE_message\l|Clearing_Completed\l/bgp_ignore\l" ]
29 Active -> OpenSent [ label="TCP_connection_open\l/bgp_connect_success\l" ]
30 Active -> Connect [ label="ConnectRetry_timer_expiredl/bgp_start\l" ]
31
32 Accept -> Active [ label="Raise TCP_connection_open on Active" ]
33
34 OpenSent -> Idle [ label="BGP_Stop\l/bgp_stop\l" ]
35 OpenSent -> Idle [ label="ConnectRetry_timer_expired\l|Clearing_Completed\l|KeepAlive_timer_expired\l/bgp_ignore\l" ]
36 OpenSent -> Idle [ label="Hold_Timer_expired\l/bgp_fsm_holdtime_expire\l"]
37 OpenSent -> Idle [ label="Receive_KEEPALIVE_message\l|Receive_UPDATE_message\l/bgp_fsm_event_error" ]
38 OpenSent -> Idle [ label="Receive_NOTIFICATION_message\l/bgp_stop_with_error" ]
39 OpenSent -> Active [ label="TCP_connection_open\l|TCP_connection_closed\l|TCP_connection_open_failed\l|TCP_fatal_error\l/bgp_stop\l"]
40 OpenSent -> OpenConfirm [ label="Receive_OPEN_message\l/bgp_fsm_open" ]
41
42 OpenConfirm -> Idle [ label="BGP_Stop\l|TCP_connection_open\l|TCP_connection_closed\l|TCP_connection_open_failed\l|TCP_fatal_error\l/bgp_stop\l"]
43 OpenConfirm -> Idle [ label="Hold_Timer_expired\l/bgp_fsm_holdtime_expire" ]
44 OpenConfirm -> Idle [ label="ConnectRetry_timer_expired\l|Receive_OPEN_message\l|Receive_UPDATE_message\l|Clearing_Completed\l/bgp_ignore"]
45 OpenConfirm -> Idle [ label="Receive_NOTIFICATION_message\l/bgp_stop_with_error\l" ]
46 OpenConfirm -> Established [ label="Receive_KEEPALIVE_message\l/bgp_establish\l" ]
47
48 Established -> Clearing [ label="BGP_Stop\l|TCP_connection_open\l|TCP_connection_closed\l|TCP_connection_open_failed\l|TCP_fatal_error\l|ConnectRetry_timer_expired\l|Hold_Timer_expired\l|Receive_OPEN_message\l/bgp_stop\l"]
49 Established -> Idle [ label="Clearing_Completed\l/bgp_ignore" ]
50 Established -> Clearing [ label="Receive_NOTIFICATION_message\l/bgp_stop_with_error"]
51
52 Clearing -> Idle [ label="Clearing_Completed\l/bgp_clearing_completed" ]
53 subgraph cluster_pre_collision_detect {
54 label="Prior to collision detection"
55 bgcolor=lightgray
56 Connect Accept Active OpenSent OpenConfirm
57 }
58
59}