From e63291850fd0795c5700e25e67e5dee89ba54c5f Mon Sep 17 00:00:00 2001 From: Ashlee Young Date: Tue, 1 Dec 2015 05:49:27 -0800 Subject: onos commit hash c2999f30c69e50df905a9d175ef80b3f23a98514 Change-Id: I2bb8562c4942b6d6a6d60b663db2e17540477b81 Signed-off-by: Ashlee Young --- .../bgp/controller/impl/Controller.java | 35 +++++++++++++++------- 1 file changed, 25 insertions(+), 10 deletions(-) (limited to 'framework/src/onos/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/Controller.java') diff --git a/framework/src/onos/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/Controller.java b/framework/src/onos/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/Controller.java index 017c39e5..f02cee8a 100755 --- a/framework/src/onos/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/Controller.java +++ b/framework/src/onos/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/Controller.java @@ -26,15 +26,16 @@ import java.util.concurrent.Executors; import org.jboss.netty.bootstrap.ClientBootstrap; import org.jboss.netty.bootstrap.ServerBootstrap; +import org.jboss.netty.channel.Channel; import org.jboss.netty.channel.ChannelPipelineFactory; import org.jboss.netty.channel.group.ChannelGroup; import org.jboss.netty.channel.group.DefaultChannelGroup; import org.jboss.netty.channel.socket.nio.NioClientSocketChannelFactory; import org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory; -import org.onosproject.bgp.controller.BGPController; -import org.onosproject.bgpio.protocol.BGPFactories; -import org.onosproject.bgpio.protocol.BGPFactory; -import org.onosproject.bgpio.protocol.BGPVersion; +import org.onosproject.bgp.controller.BgpController; +import org.onosproject.bgpio.protocol.BgpFactories; +import org.onosproject.bgpio.protocol.BgpFactory; +import org.onosproject.bgpio.protocol.BgpVersion; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -46,12 +47,15 @@ public class Controller { private static final Logger log = LoggerFactory.getLogger(Controller.class); - private static final BGPFactory FACTORY4 = BGPFactories.getFactory(BGPVersion.BGP_4); + private static final BgpFactory FACTORY4 = BgpFactories.getFactory(BgpVersion.BGP_4); private ChannelGroup cg; + public Channel serverChannel; // Configuration options private static final short BGP_PORT_NUM = 179; + private static final short PORT_NUM_ZERO = 0; + private static boolean isPortNumSet = false; private final int workerThreads = 16; private final int peerWorkerThreads = 16; @@ -61,7 +65,7 @@ public class Controller { private NioServerSocketChannelFactory serverExecFactory; private NioClientSocketChannelFactory peerExecFactory; private static ClientBootstrap peerBootstrap; - private BGPController bgpController; + private BgpController bgpController; // Perf. related configuration private static final int SEND_BUFFER_SIZE = 4 * 1024 * 1024; @@ -71,7 +75,7 @@ public class Controller { * * @param bgpController bgp controller instance */ - public Controller(BGPController bgpController) { + public Controller(BgpController bgpController) { this.bgpController = bgpController; } @@ -80,7 +84,7 @@ public class Controller { * * @return instance of factory version */ - static BGPFactory getBGPMessageFactory4() { + static BgpFactory getBgpMessageFactory4() { return FACTORY4; } @@ -114,12 +118,13 @@ public class Controller { bootstrap.setOption("child.tcpNoDelay", true); bootstrap.setOption("child.sendBufferSize", Controller.SEND_BUFFER_SIZE); - ChannelPipelineFactory pfact = new BGPPipelineFactory(bgpController, true); + ChannelPipelineFactory pfact = new BgpPipelineFactory(bgpController, true); bootstrap.setPipelineFactory(pfact); InetSocketAddress sa = new InetSocketAddress(getBgpPortNum()); cg = new DefaultChannelGroup(); - cg.add(bootstrap.bind(sa)); + serverChannel = bootstrap.bind(sa); + cg.add(serverChannel); log.info("Listening for Peer connection on {}", sa); } catch (Exception e) { throw new RuntimeException(e); @@ -234,6 +239,16 @@ public class Controller { * @return port number */ public static short getBgpPortNum() { + if (isPortNumSet) { + return PORT_NUM_ZERO; + } return BGP_PORT_NUM; } + + /** + * sets the isPortNumSet as true. + */ + public void setBgpPortNum() { + isPortNumSet = true; + } } \ No newline at end of file -- cgit 1.2.3-korg