summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--ryu/services/protocols/bgp/application.py6
-rw-r--r--ryu/services/protocols/bgp/bgpspeaker.py17
2 files changed, 14 insertions, 9 deletions
diff --git a/ryu/services/protocols/bgp/application.py b/ryu/services/protocols/bgp/application.py
index c8d0f6af..9a85fe16 100644
--- a/ryu/services/protocols/bgp/application.py
+++ b/ryu/services/protocols/bgp/application.py
@@ -31,7 +31,6 @@ from ryu.services.protocols.bgp.bgpspeaker import BGPSpeaker
from ryu.services.protocols.bgp.net_ctrl import NET_CONTROLLER
from ryu.services.protocols.bgp.net_ctrl import NC_RPC_BIND_IP
from ryu.services.protocols.bgp.net_ctrl import NC_RPC_BIND_PORT
-from ryu.services.protocols.bgp.operator.ssh import SSH_CLI_CONTROLLER
from ryu.services.protocols.bgp.rtconf.base import RuntimeConfigError
from ryu.services.protocols.bgp.rtconf.common import BGP_SERVER_PORT
from ryu.services.protocols.bgp.rtconf.common import DEFAULT_BGP_SERVER_PORT
@@ -123,7 +122,10 @@ class RyuBGPSpeaker(RyuApp):
# Configure SSH settings, if available.
if hasattr(settings, 'SSH'):
LOG.debug('Loading SSH settings...')
- hub.spawn(SSH_CLI_CONTROLLER.start, **settings.SSH)
+ # Note: paramiko used in bgp.operator.ssh is the optional
+ # requirements, imports bgp.operator.ssh here.
+ from ryu.services.protocols.bgp.operator import ssh
+ hub.spawn(ssh.SSH_CLI_CONTROLLER.start, **settings.SSH)
# Start RPC server with the given RPC settings.
rpc_settings = {
diff --git a/ryu/services/protocols/bgp/bgpspeaker.py b/ryu/services/protocols/bgp/bgpspeaker.py
index 4a1ce977..c56f8dd7 100644
--- a/ryu/services/protocols/bgp/bgpspeaker.py
+++ b/ryu/services/protocols/bgp/bgpspeaker.py
@@ -44,7 +44,6 @@ from ryu.services.protocols.bgp.api.prefix import TUNNEL_TYPE_NVGRE
from ryu.services.protocols.bgp.api.prefix import (
PMSI_TYPE_NO_TUNNEL_INFO,
PMSI_TYPE_INGRESS_REP)
-from ryu.services.protocols.bgp.operator import ssh
from ryu.services.protocols.bgp.rtconf.common import LOCAL_AS
from ryu.services.protocols.bgp.rtconf.common import ROUTER_ID
from ryu.services.protocols.bgp.rtconf.common import BGP_SERVER_PORT
@@ -165,9 +164,7 @@ class BGPSpeaker(object):
peer_down_handler=None,
peer_up_handler=None,
ssh_console=False,
- ssh_port=ssh.DEFAULT_SSH_PORT,
- ssh_host=ssh.DEFAULT_SSH_HOST,
- ssh_host_key=ssh.DEFAULT_SSH_HOST_KEY,
+ ssh_port=None, ssh_host=None, ssh_host_key=None,
label_range=DEFAULT_LABEL_RANGE):
"""Create a new BGPSpeaker object with as_number and router_id to
listen on bgp_server_port.
@@ -205,11 +202,14 @@ class BGPSpeaker(object):
``ssh_console`` specifies whether or not SSH CLI need to be started.
``ssh_port`` specifies the port number for SSH CLI server.
+ The default is bgp.operator.ssh.DEFAULT_SSH_PORT.
``ssh_host`` specifies the IP address for SSH CLI server.
+ The default is bgp.operator.ssh.DEFAULT_SSH_HOST.
``ssh_host_key`` specifies the path to the host key added to
the keys list used by SSH CLI server.
+ The default is bgp.operator.ssh.DEFAULT_SSH_HOST_KEY.
``label_range`` specifies the range of MPLS labels generated
automatically.
@@ -230,10 +230,13 @@ class BGPSpeaker(object):
self._peer_down_handler = peer_down_handler
self._peer_up_handler = peer_up_handler
if ssh_console:
+ # Note: paramiko used in bgp.operator.ssh is the optional
+ # requirements, imports bgp.operator.ssh here.
+ from ryu.services.protocols.bgp.operator import ssh
ssh_settings = {
- ssh.SSH_PORT: ssh_port,
- ssh.SSH_HOST: ssh_host,
- ssh.SSH_HOST_KEY: ssh_host_key,
+ ssh.SSH_PORT: ssh_port or ssh.DEFAULT_SSH_PORT,
+ ssh.SSH_HOST: ssh_host or ssh.DEFAULT_SSH_HOST,
+ ssh.SSH_HOST_KEY: ssh_host_key or ssh.DEFAULT_SSH_HOST_KEY,
}
hub.spawn(ssh.SSH_CLI_CONTROLLER.start, **ssh_settings)