def __init__(self, bgp_peering=None, protocol=None): """ please see RFC 4271 page 37 for value meanning """ self.bgp_peering = bgp_peering self.protocol = protocol # Session attributes required (mandatory) for each connection: self.state = bgp_cons.ST_IDLE self.connect_retry_counter = 0 self.connect_retry_time = bgp_cons.CONNECT_RETRY_TIME self.connect_retry_timer = BGPTimer(self.connect_retry_time_event, 'connect retry timer') self.hold_time = bgp_cons.HOLD_TIME self.hold_timer = BGPTimer(self.hold_time_event, 'hold timer') self.keep_alive_time = self.hold_time / 3 self.keep_alive_timer = BGPTimer(self.keep_alive_time_event, 'keep alive timer') self.allow_automatic_start = True self.allow_automatic_stop = False self.delay_open = False self.delay_open_time = bgp_cons.DELAY_OPEN_TIME self.delay_open_timer = BGPTimer(self.delay_open_time_event, 'delay open timer') self.idle_hold_time = bgp_cons.IDLEHOLD_TIME self.idle_hold_timer = BGPTimer(self.idle_hold_time_event, 'idle hold timer') self.uptime = None