Paul Jakma | 86d87e0 | 2016-04-20 14:04:22 +0100 | [diff] [blame] | 1 | digraph { |
| 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 | } |