chewie.state_machines.mab_state_machine module
This Module provides a Bare-bones Mac Authentication Bypass State Machine provide 802.1x MAB Support in Chewie
- class chewie.state_machines.mab_state_machine.MacAuthenticationBypassStateMachine(radius_output_queue, src_mac, timer_scheduler, auth_handler, failure_handler, log_prefix)
Bases:
AbstractStateMachine
This Class provides a Bare-bones Mac Authentication Bypass State Machine provide 802.1x MAB Support in Chewie
- AAA_FAILURE = 'AAA_FAILURE'
- AAA_IDLE = 'AAA_IDLE'
- AAA_RECEIVED = 'AAA_RECEIVED'
- AAA_REQUEST = 'AAA_REQUEST'
- AAA_SUCCESS = 'AAA_SUCCESS'
- COMPLETION_STATES = [<State('AAA_FAILURE')@140402055514768>, <State('AAA_SUCCESS')@140402055514672>]
- CORE_TRANSITIONS = [{'conditions': ['_is_eth_received'], 'dest': 'ETH_RECEIVED', 'source': 'DISABLED', 'trigger': 'process'}, {'dest': 'AAA_REQUEST', 'source': 'ETH_RECEIVED', 'trigger': 'process'}, {'dest': 'AAA_IDLE', 'source': 'AAA_REQUEST', 'trigger': 'process'}, {'conditions': ['_is_aaa_received'], 'dest': 'AAA_RECEIVED', 'source': 'AAA_IDLE', 'trigger': 'process'}, {'conditions': ['_is_aaa_fail'], 'dest': 'AAA_FAILURE', 'source': 'AAA_RECEIVED', 'trigger': 'process'}, {'conditions': ['_is_aaa_success'], 'dest': 'AAA_SUCCESS', 'source': 'AAA_RECEIVED', 'trigger': 'process'}, {'conditions': ['_is_eth_received'], 'dest': 'ETH_RECEIVED', 'source': 'AAA_FAILURE', 'trigger': 'process'}]
- DEFAULT_SESSION_TIMEOUT = 3600
- DISABLED = 'DISABLED'
- ERROR_TRANSTIONS = [{'dest': 'DISABLED', 'source': '*', 'trigger': 'process', 'unless': ['_is_port_enabled']}, {'conditions': ['_is_mab_restart'], 'dest': 'DISABLED', 'source': '*', 'trigger': 'process'}]
- ETH_RECEIVED = 'ETH_RECEIVED'
- FAILURE_STATES = [<State('AAA_FAILURE')@140402055514768>]
- INITIAL_STATE = 'DISABLED'
- PROGRESS_STATES = [<State('DISABLED')@140402056621280>, <State('ETH_RECEIVED')@140402055514240>, <State('AAA_REQUEST')@140402055514336>, <State('AAA_IDLE')@140402055514432>, <State('AAA_RECEIVED')@140402055514528>]
- STATES = [<State('AAA_FAILURE')@140402055514768>, <State('AAA_SUCCESS')@140402055514672>, <State('DISABLED')@140402056621280>, <State('ETH_RECEIVED')@140402055514240>, <State('AAA_REQUEST')@140402055514336>, <State('AAA_IDLE')@140402055514432>, <State('AAA_RECEIVED')@140402055514528>]
- SUCCESS_STATES = [<State('AAA_SUCCESS')@140402055514672>]
- TRANSITIONS = [{'conditions': ['_is_eth_received'], 'dest': 'ETH_RECEIVED', 'source': 'DISABLED', 'trigger': 'process'}, {'dest': 'AAA_REQUEST', 'source': 'ETH_RECEIVED', 'trigger': 'process'}, {'dest': 'AAA_IDLE', 'source': 'AAA_REQUEST', 'trigger': 'process'}, {'conditions': ['_is_aaa_received'], 'dest': 'AAA_RECEIVED', 'source': 'AAA_IDLE', 'trigger': 'process'}, {'conditions': ['_is_aaa_fail'], 'dest': 'AAA_FAILURE', 'source': 'AAA_RECEIVED', 'trigger': 'process'}, {'conditions': ['_is_aaa_success'], 'dest': 'AAA_SUCCESS', 'source': 'AAA_RECEIVED', 'trigger': 'process'}, {'conditions': ['_is_eth_received'], 'dest': 'ETH_RECEIVED', 'source': 'AAA_FAILURE', 'trigger': 'process'}, {'dest': 'DISABLED', 'source': '*', 'trigger': 'process', 'unless': ['_is_port_enabled']}, {'conditions': ['_is_mab_restart'], 'dest': 'DISABLED', 'source': '*', 'trigger': 'process'}]
- aaa_fail = False
- aaa_failure_state(*args, **kwargs)
Method that gets called for logging
- aaa_idle_state(*args, **kwargs)
Method that gets called for logging
- aaa_received = False
- aaa_received_state(*args, **kwargs)
Method that gets called for logging
- aaa_request_data = None
- aaa_request_state(*args, **kwargs)
Method that gets called for logging
- aaa_response_attributes = None
- aaa_response_data = None
- aaa_success = False
- aaa_success_state(*args, **kwargs)
Method that gets called for logging
- eth_message_data = None
- eth_received = True
- eth_received_state(*args, **kwargs)
Method that gets called for logging
- event(event)
Processes an event for the state machine
- event_message_received(event)
Handle a message received event
- handle_event_received()
Main state machine loop
- handle_failure()
Handle a AAA_Failure event
- handle_success()
Handle a AAA_Success event
- mab_disabled_state(*args, **kwargs)
Method that gets called for logging
- mab_restart = False
- port_enabled = False
- port_id_mac = None
- process_ethernet_frame()
Perform checks on ethernet frames
- process_radius_message()
Perform checks on Radius Packets before they’re passed to the State Machine
- radius_state_attribute = None
- reset_variables()
Reset all used state-machine variables
- send_aaa_request()
Perform sending a AAA Request
- session_timeout = 3600
- state = None