diff options
author | ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> | 2015-07-14 21:53:23 +0900 |
---|---|---|
committer | ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> | 2015-07-14 22:05:00 +0900 |
commit | 2709b94caaf51b3e376463491af33158a54c8369 (patch) | |
tree | 6419e451c7a57707e73c4def4c8908f3c65467b0 | |
parent | 72d1fc4cedd233861df725a9eac5f18022f92125 (diff) |
server: fix bug of active connection
also added scenario test to check active connection properly works
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
-rw-r--r-- | server/fsm.go | 2 | ||||
-rw-r--r-- | test/scenario_test/bgp_router_test.py | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/server/fsm.go b/server/fsm.go index c25fd1f3..86390354 100644 --- a/server/fsm.go +++ b/server/fsm.go @@ -208,7 +208,7 @@ func (fsm *FSM) connectLoop() error { ticker.Stop() connect := func() { - if bgp.FSMState(fsm.peerConfig.BgpNeighborCommonState.State) == bgp.BGP_FSM_ACTIVE { + if fsm.state == bgp.BGP_FSM_ACTIVE { var host string addr := fsm.peerConfig.NeighborAddress diff --git a/test/scenario_test/bgp_router_test.py b/test/scenario_test/bgp_router_test.py index 35fd940a..31792044 100644 --- a/test/scenario_test/bgp_router_test.py +++ b/test/scenario_test/bgp_router_test.py @@ -253,6 +253,19 @@ class GoBGPTestBase(unittest.TestCase): def test_14_check_adj_rib_out(self): self.test_11_check_adj_rib_out() + def test_15_check_active_connection(self): + g1 = self.gobgp + g2 = GoBGPContainer(name='g2', asn=65000, router_id='192.168.0.5', + ctn_image_name=self.gobgp.image, + log_level=parser_option.gobgp_log_level) + g2.run() + br01 = self.bridges['br01'] + br01.addif(g2) + g2.add_peer(g1, passive=True) + g1.add_peer(g2) + g1.wait_for(expected_state=BGP_FSM_ESTABLISHED, peer=g2) + + if __name__ == '__main__': if os.geteuid() is not 0: print "you are not root." |