summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>2015-07-14 21:53:23 +0900
committerISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>2015-07-14 22:05:00 +0900
commit2709b94caaf51b3e376463491af33158a54c8369 (patch)
tree6419e451c7a57707e73c4def4c8908f3c65467b0
parent72d1fc4cedd233861df725a9eac5f18022f92125 (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.go2
-rw-r--r--test/scenario_test/bgp_router_test.py13
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."