From db02d0f487216af59b509a3241ae028b871fb692 Mon Sep 17 00:00:00 2001
From: Jason Kölker <jason@koelker.net>
Date: Tue, 8 Mar 2016 01:07:33 +0000
Subject: protocols/bgp: PEP-8 and Python3 fixes
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Jason Kölker <jason@koelker.net>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
---
 ryu/services/protocols/bgp/api/jsonrpc.py          |  3 +--
 ryu/services/protocols/bgp/application.py          |  1 -
 ryu/services/protocols/bgp/bgpspeaker.py           |  4 ---
 ryu/services/protocols/bgp/bmp.py                  |  7 +----
 .../protocols/bgp/core_managers/peer_manager.py    |  4 ---
 .../protocols/bgp/core_managers/table_manager.py   |  4 +--
 ryu/services/protocols/bgp/info_base/base.py       | 31 +++++++++++++++-------
 ryu/services/protocols/bgp/info_base/vrf.py        |  4 +--
 ryu/services/protocols/bgp/operator/ssh.py         | 18 ++++++-------
 .../protocols/bgp/operator/views/fields.py         |  4 ++-
 ryu/services/protocols/bgp/peer.py                 | 29 +++++++++++---------
 ryu/services/protocols/bgp/rtconf/base.py          | 16 +++++++----
 ryu/services/protocols/bgp/rtconf/common.py        |  9 ++++---
 ryu/services/protocols/bgp/rtconf/neighbors.py     |  1 -
 ryu/services/protocols/bgp/rtconf/vrfs.py          |  1 -
 ryu/services/protocols/bgp/signals/__init__.py     |  3 +--
 ryu/services/protocols/bgp/speaker.py              | 24 +++++++----------
 17 files changed, 82 insertions(+), 81 deletions(-)

diff --git a/ryu/services/protocols/bgp/api/jsonrpc.py b/ryu/services/protocols/bgp/api/jsonrpc.py
index d73a8bec..07d547b8 100644
--- a/ryu/services/protocols/bgp/api/jsonrpc.py
+++ b/ryu/services/protocols/bgp/api/jsonrpc.py
@@ -14,10 +14,9 @@
 # limitations under the License.
 
 
-import json
 from ryu.base import app_manager
 from ryu.lib import hub
-from ryu.app.wsgi import route, websocket, ControllerBase, WSGIApplication
+from ryu.app.wsgi import websocket, ControllerBase, WSGIApplication
 from ryu.app.wsgi import rpc_public, WebSocketRPCServer
 from ryu.services.protocols.bgp.api.base import call
 from ryu.services.protocols.bgp.api.base import PREFIX
diff --git a/ryu/services/protocols/bgp/application.py b/ryu/services/protocols/bgp/application.py
index 82844447..a1f4291b 100644
--- a/ryu/services/protocols/bgp/application.py
+++ b/ryu/services/protocols/bgp/application.py
@@ -18,7 +18,6 @@
 import imp
 import logging
 import traceback
-from os import path
 from oslo_config import cfg
 
 from ryu.lib import hub
diff --git a/ryu/services/protocols/bgp/bgpspeaker.py b/ryu/services/protocols/bgp/bgpspeaker.py
index c94b5794..25fb65fd 100644
--- a/ryu/services/protocols/bgp/bgpspeaker.py
+++ b/ryu/services/protocols/bgp/bgpspeaker.py
@@ -34,8 +34,6 @@ from ryu.services.protocols.bgp.rtconf.common \
     import DEFAULT_REFRESH_MAX_EOR_TIME
 from ryu.services.protocols.bgp.rtconf.common \
     import DEFAULT_REFRESH_STALEPATH_TIME
-from ryu.services.protocols.bgp.rtconf.common \
-    import DEFAULT_BGP_CONN_RETRY_TIME
 from ryu.services.protocols.bgp.rtconf.common import DEFAULT_LABEL_RANGE
 from ryu.services.protocols.bgp.rtconf.common import REFRESH_MAX_EOR_TIME
 from ryu.services.protocols.bgp.rtconf.common import REFRESH_STALEPATH_TIME
@@ -57,8 +55,6 @@ from ryu.services.protocols.bgp.rtconf.neighbors \
 from ryu.services.protocols.bgp.rtconf.neighbors import DEFAULT_CONNECT_MODE
 from ryu.services.protocols.bgp.rtconf.neighbors import PEER_NEXT_HOP
 from ryu.services.protocols.bgp.rtconf.neighbors import PASSWORD
-from ryu.services.protocols.bgp.rtconf.neighbors import IN_FILTER
-from ryu.services.protocols.bgp.rtconf.neighbors import OUT_FILTER
 from ryu.services.protocols.bgp.rtconf.neighbors import IS_ROUTE_SERVER_CLIENT
 from ryu.services.protocols.bgp.rtconf.neighbors import IS_NEXT_HOP_SELF
 from ryu.services.protocols.bgp.rtconf.neighbors import CONNECT_MODE
diff --git a/ryu/services/protocols/bgp/bmp.py b/ryu/services/protocols/bgp/bmp.py
index 7d123dc9..eba642d9 100644
--- a/ryu/services/protocols/bgp/bmp.py
+++ b/ryu/services/protocols/bgp/bmp.py
@@ -17,15 +17,12 @@ from ryu.services.protocols.bgp.base import Activity
 from ryu.lib import hub
 from ryu.lib.packet import bmp
 from ryu.lib.packet import bgp
-from ryu.services.protocols.bgp import constants as const
 import socket
 import logging
 from calendar import timegm
 from ryu.services.protocols.bgp.signals.emit import BgpSignalBus
 from ryu.services.protocols.bgp.info_base.ipv4 import Ipv4Path
 from ryu.lib.packet.bgp import BGPUpdate
-from ryu.lib.packet.bgp import BGPPathAttributeNextHop
-from ryu.lib.packet.bgp import BGPPathAttributeMpReachNLRI
 from ryu.lib.packet.bgp import BGPPathAttributeMpUnreachNLRI
 
 LOG = logging.getLogger('bgpspeaker.bmp')
@@ -82,9 +79,7 @@ class BMPClient(Activity):
         if not self._socket:
             return
         assert isinstance(msg, bmp.BMPMessage)
-        serialized_msg = msg.serialize()
-
-        ret = self._socket.send(msg.serialize())
+        self._socket.send(msg.serialize())
 
     def on_adj_rib_in_changed(self, data):
         peer = data['peer']
diff --git a/ryu/services/protocols/bgp/core_managers/peer_manager.py b/ryu/services/protocols/bgp/core_managers/peer_manager.py
index 9e8543d7..ce881d8f 100644
--- a/ryu/services/protocols/bgp/core_managers/peer_manager.py
+++ b/ryu/services/protocols/bgp/core_managers/peer_manager.py
@@ -7,10 +7,6 @@ from ryu.services.protocols.bgp.peer import Peer
 from ryu.lib.packet.bgp import BGPPathAttributeCommunities
 from ryu.lib.packet.bgp import BGP_ATTR_TYPE_MULTI_EXIT_DISC
 from ryu.lib.packet.bgp import BGP_ATTR_TYPE_COMMUNITIES
-from ryu.lib.packet.bgp import RF_IPv4_UC
-from ryu.lib.packet.bgp import RF_IPv6_UC
-from ryu.lib.packet.bgp import RF_IPv4_VPN
-from ryu.lib.packet.bgp import RF_IPv6_VPN
 from ryu.lib.packet.bgp import RF_RTC_UC
 from ryu.lib.packet.bgp import RouteTargetMembershipNLRI
 from ryu.services.protocols.bgp.utils.bgp \
diff --git a/ryu/services/protocols/bgp/core_managers/table_manager.py b/ryu/services/protocols/bgp/core_managers/table_manager.py
index fafbd2aa..7858fea8 100644
--- a/ryu/services/protocols/bgp/core_managers/table_manager.py
+++ b/ryu/services/protocols/bgp/core_managers/table_manager.py
@@ -445,8 +445,8 @@ class TableCoreManager(object):
             # of the given path and import this path into them.
             route_dist = vpn_path.nlri.route_dist
             for vrf_table in interested_tables:
-                if not (vpn_path.source is None
-                        and route_dist == vrf_table.vrf_conf.route_dist):
+                if (vpn_path.source is not None and
+                        route_dist != vrf_table.vrf_conf.route_dist):
                     update_vrf_dest = vrf_table.import_vpn_path(vpn_path)
                     # Queue the destination for further processing.
                     if update_vrf_dest is not None:
diff --git a/ryu/services/protocols/bgp/info_base/base.py b/ryu/services/protocols/bgp/info_base/base.py
index 7eb9c48d..7ec54ce0 100644
--- a/ryu/services/protocols/bgp/info_base/base.py
+++ b/ryu/services/protocols/bgp/info_base/base.py
@@ -23,6 +23,7 @@ from abc import ABCMeta
 from abc import abstractmethod
 from copy import copy
 import logging
+import functools
 import netaddr
 
 from ryu.lib.packet.bgp import RF_IPv4_UC
@@ -249,8 +250,9 @@ class NonVrfPathProcessingMixin(object):
         LOG.debug('New best path selected for destination %s', self)
 
         # If old best path was withdrawn
-        if (old_best_path and old_best_path not in self._known_path_list
-                and self._sent_routes):
+        if (old_best_path and
+                old_best_path not in self._known_path_list and
+                self._sent_routes):
             # Have to clear sent_route list for this destination as
             # best path is removed.
             self._sent_routes = {}
@@ -810,7 +812,7 @@ class Path(object):
         return not interested_rts.isdisjoint(curr_rts)
 
     def is_local(self):
-        return self._source == None
+        return self._source is None
 
     def has_nexthop(self):
         return not (not self._nexthop or self._nexthop == '0.0.0.0' or
@@ -880,6 +882,7 @@ class Filter(object):
         raise NotImplementedError()
 
 
+@functools.total_ordering
 class PrefixFilter(Filter):
     """
     used to specify a prefix for filter.
@@ -934,8 +937,11 @@ class PrefixFilter(Filter):
         self._ge = ge
         self._le = le
 
-    def __cmp__(self, other):
-        return cmp(self.prefix, other.prefix)
+    def __lt__(self, other):
+        return self._network < other._network
+
+    def __eq__(self, other):
+        return self._network == other._network
 
     def __repr__(self):
         policy = 'PERMIT' \
@@ -1009,6 +1015,7 @@ class PrefixFilter(Filter):
                               le=self._le)
 
 
+@functools.total_ordering
 class ASPathFilter(Filter):
     """
     used to specify a prefix for AS_PATH attribute.
@@ -1055,8 +1062,11 @@ class ASPathFilter(Filter):
         super(ASPathFilter, self).__init__(policy)
         self._as_number = as_number
 
-    def __cmp__(self, other):
-        return cmp(self.as_number, other.as_number)
+    def __lt__(self, other):
+        return self.as_number < other.as_number
+
+    def __eq__(self, other):
+        return self.as_number == other.as_number
 
     def __repr__(self):
         policy = 'TOP'
@@ -1223,5 +1233,8 @@ class AttributeMap(object):
             if self.attr_type == self.ATTR_LOCAL_PREF else None
 
         filter_string = ','.join(repr(f) for f in self.filters)
-        return 'AttributeMap(filters=[%s],attribute_type=%s,attribute_value=%s)'\
-               % (filter_string, attr_type, self.attr_value)
+        return ('AttributeMap(filters=[%s],'
+                'attribute_type=%s,'
+                'attribute_value=%s)' % (filter_string,
+                                         attr_type,
+                                         self.attr_value))
diff --git a/ryu/services/protocols/bgp/info_base/vrf.py b/ryu/services/protocols/bgp/info_base/vrf.py
index fe6c3d65..0c7d60cd 100644
--- a/ryu/services/protocols/bgp/info_base/vrf.py
+++ b/ryu/services/protocols/bgp/info_base/vrf.py
@@ -104,8 +104,8 @@ class VrfTable(Table):
         local_route_count = 0
         for dest in self.values():
             for path in dest.known_path_list:
-                if (hasattr(path.source, 'version_num')
-                        or path.source == VPN_TABLE):
+                if (hasattr(path.source, 'version_num') or
+                        path.source == VPN_TABLE):
                     remote_route_count += 1
                 else:
                     local_route_count += 1
diff --git a/ryu/services/protocols/bgp/operator/ssh.py b/ryu/services/protocols/bgp/operator/ssh.py
index d4e0bf70..8a584db9 100644
--- a/ryu/services/protocols/bgp/operator/ssh.py
+++ b/ryu/services/protocols/bgp/operator/ssh.py
@@ -22,14 +22,6 @@ import sys
 from copy import copy
 import os.path
 
-CONF = {
-    "ssh_port": 4990,
-    "ssh_host": "localhost",
-    "ssh_hostkey": None,
-    "ssh_username": "ryu",
-    "ssh_password": "ryu",
-}
-
 from ryu.lib import hub
 from ryu import version
 from ryu.services.protocols.bgp.operator.command import Command
@@ -39,6 +31,14 @@ from ryu.services.protocols.bgp.operator.internal_api import InternalApi
 from ryu.services.protocols.bgp.operator.command import STATUS_OK
 from ryu.services.protocols.bgp.base import Activity
 
+CONF = {
+    "ssh_port": 4990,
+    "ssh_host": "localhost",
+    "ssh_hostkey": None,
+    "ssh_username": "ryu",
+    "ssh_password": "ryu",
+}
+
 LOG = logging.getLogger('bgpspeaker.cli')
 
 
@@ -83,7 +83,7 @@ Hello, this is Ryu BGP speaker (version %s).
 
     def _find_ssh_server_key(self):
         if CONF["ssh_hostkey"]:
-            return paramiko.RSAKey.from_private_key_file(ssh_hostkey)
+            return paramiko.RSAKey.from_private_key_file(CONF['ssh_hostkey'])
         elif os.path.exists("/etc/ssh_host_rsa_key"):
             # OSX
             return paramiko.RSAKey.from_private_key_file(
diff --git a/ryu/services/protocols/bgp/operator/views/fields.py b/ryu/services/protocols/bgp/operator/views/fields.py
index ad219549..bb6dfef9 100644
--- a/ryu/services/protocols/bgp/operator/views/fields.py
+++ b/ryu/services/protocols/bgp/operator/views/fields.py
@@ -1,6 +1,8 @@
 import importlib
 import inspect
 
+import six
+
 
 class Field(object):
     def __init__(self, field_name):
@@ -19,7 +21,7 @@ class RelatedViewField(Field):
     def _operator_view_class(self):
         if inspect.isclass(self.__operator_view_class):
             return self.__operator_view_class
-        elif isinstance(self.__operator_view_class, basestring):
+        elif isinstance(self.__operator_view_class, six.string_types):
             try:
                 module_name, class_name =\
                     self.__operator_view_class.rsplit('.', 1)
diff --git a/ryu/services/protocols/bgp/peer.py b/ryu/services/protocols/bgp/peer.py
index f95836ce..5c148066 100644
--- a/ryu/services/protocols/bgp/peer.py
+++ b/ryu/services/protocols/bgp/peer.py
@@ -22,7 +22,6 @@ import time
 import traceback
 
 from ryu.services.protocols.bgp.base import Activity
-from ryu.services.protocols.bgp.base import OrderedDict
 from ryu.services.protocols.bgp.base import Sink
 from ryu.services.protocols.bgp.base import Source
 from ryu.services.protocols.bgp.base import SUPPORTED_GLOBAL_RF
@@ -49,7 +48,6 @@ from ryu.lib.packet import bgp
 
 from ryu.lib.packet.bgp import RouteFamily
 from ryu.lib.packet.bgp import RF_IPv4_UC
-from ryu.lib.packet.bgp import RF_IPv6_UC
 from ryu.lib.packet.bgp import RF_IPv4_VPN
 from ryu.lib.packet.bgp import RF_IPv6_VPN
 from ryu.lib.packet.bgp import RF_RTC_UC
@@ -698,7 +696,8 @@ class Peer(Source, Sink, NeighborConfListener, Activity):
             # Collect update statistics.
             self.state.incr(PeerCounterNames.SENT_UPDATES)
         else:
-            LOG.debug('prefix : %s is not sent by filter : %s', path.nlri, blocked_cause)
+            LOG.debug('prefix : %s is not sent by filter : %s',
+                      path.nlri, blocked_cause)
 
         # We have to create sent_route for every OutgoingRoute which is
         # not a withdraw or was for route-refresh msg.
@@ -1035,7 +1034,7 @@ class Peer(Source, Sink, NeighborConfListener, Activity):
         if self._neigh_conf.enabled:
             self._connect_retry_event.set()
 
-        while 1:
+        while True:
             self._connect_retry_event.wait()
 
             # Reconnecting immediately after closing connection may be not very
@@ -1065,11 +1064,11 @@ class Peer(Source, Sink, NeighborConfListener, Activity):
                 tcp_conn_timeout = self._common_conf.tcp_conn_timeout
                 try:
                     password = self._neigh_conf.password
-                    sock = self._connect_tcp(peer_address,
-                                             client_factory,
-                                             time_out=tcp_conn_timeout,
-                                             bind_address=bind_addr,
-                                             password=password)
+                    self._connect_tcp(peer_address,
+                                      client_factory,
+                                      time_out=tcp_conn_timeout,
+                                      bind_address=bind_addr,
+                                      password=password)
                 except socket.error:
                     self.state.bgp_state = const.BGP_FSM_ACTIVE
                     if LOG.isEnabledFor(logging.DEBUG):
@@ -1405,7 +1404,8 @@ class Peer(Source, Sink, NeighborConfListener, Activity):
                 tm = self._core_service.table_manager
                 tm.learn_path(new_path)
             else:
-                LOG.debug('prefix : %s is blocked by in-bound filter: %s', msg_nlri, blocked_cause)
+                LOG.debug('prefix : %s is blocked by in-bound filter: %s',
+                          msg_nlri, blocked_cause)
 
         # If update message had any qualifying new paths, do some book-keeping.
         if msg_nlri_list:
@@ -1467,7 +1467,8 @@ class Peer(Source, Sink, NeighborConfListener, Activity):
                 tm = self._core_service.table_manager
                 tm.learn_path(w_path)
             else:
-                LOG.debug('prefix : %s is blocked by in-bound filter: %s', nlri_str, blocked_cause)
+                LOG.debug('prefix : %s is blocked by in-bound filter: %s',
+                          nlri_str, blocked_cause)
 
     def _extract_and_handle_mpbgp_new_paths(self, update_msg):
         """Extracts new paths advertised in the given update message's
@@ -1562,7 +1563,8 @@ class Peer(Source, Sink, NeighborConfListener, Activity):
                     tm = self._core_service.table_manager
                     tm.learn_path(new_path)
             else:
-                LOG.debug('prefix : %s is blocked by in-bound filter: %s', msg_nlri, blocked_cause)
+                LOG.debug('prefix : %s is blocked by in-bound filter: %s',
+                          msg_nlri, blocked_cause)
 
         # If update message had any qualifying new paths, do some book-keeping.
         if msg_nlri_list:
@@ -1623,7 +1625,8 @@ class Peer(Source, Sink, NeighborConfListener, Activity):
                 tm = self._core_service.table_manager
                 tm.learn_path(w_path)
             else:
-                LOG.debug('prefix : %s is blocked by in-bound filter: %s', w_nlri, blocked_cause)
+                LOG.debug('prefix : %s is blocked by in-bound filter: %s',
+                          w_nlri, blocked_cause)
 
     def _handle_eor(self, route_family):
         """Currently we only handle EOR for RTC address-family.
diff --git a/ryu/services/protocols/bgp/rtconf/base.py b/ryu/services/protocols/bgp/rtconf/base.py
index ee8948a9..0ea026de 100644
--- a/ryu/services/protocols/bgp/rtconf/base.py
+++ b/ryu/services/protocols/bgp/rtconf/base.py
@@ -18,6 +18,7 @@
 """
 from abc import ABCMeta
 from abc import abstractmethod
+import functools
 import numbers
 import logging
 import six
@@ -479,6 +480,7 @@ class ConfWithStatsListener(BaseConfListener):
         raise NotImplementedError()
 
 
+@functools.total_ordering
 class ConfEvent(object):
     """Encapsulates configuration settings change/update event."""
 
@@ -517,9 +519,13 @@ class ConfEvent(object):
         return ('ConfEvent(src=%s, name=%s, value=%s)' %
                 (self.src, self.name, self.value))
 
-    def __cmp__(self, other):
-        return cmp((other.src, other.name, other.value),
-                   (self.src, self.name, self.value))
+    def __lt__(self, other):
+        return ((self.src, self.name, self.value) <
+                (other.src, other.name, other.value))
+
+    def __eq__(self, other):
+        return ((self.src, self.name, self.value) ==
+                (other.src, other.name, other.value))
 
 
 # =============================================================================
@@ -598,10 +604,10 @@ def validate_cap_mbgp_ipv4(cmv4):
 
 
 @validate(name=CAP_MBGP_IPV6)
-def validate_cap_mbgp_ipv4(cmv6):
+def validate_cap_mbgp_ipv6(cmv6):
     if cmv6 not in (True, False):
         raise ConfigTypeError(desc='Invalid Enhanced Refresh capability '
-                              'settings: %s boolean value expected' % cmv4)
+                              'settings: %s boolean value expected' % cmv6)
 
     return cmv6
 
diff --git a/ryu/services/protocols/bgp/rtconf/common.py b/ryu/services/protocols/bgp/rtconf/common.py
index cfef8419..d285bb6d 100644
--- a/ryu/services/protocols/bgp/rtconf/common.py
+++ b/ryu/services/protocols/bgp/rtconf/common.py
@@ -129,10 +129,11 @@ def validate_refresh_max_eor_time(rmet):
 @validate(name=LABEL_RANGE)
 def validate_label_range(label_range):
     min_label, max_label = label_range
-    if (not min_label or not max_label
-            or not isinstance(min_label, numbers.Integral)
-            or not isinstance(max_label, numbers.Integral) or min_label < 17
-            or min_label >= max_label):
+    if (not min_label or
+            not max_label or
+            not isinstance(min_label, numbers.Integral) or
+            not isinstance(max_label, numbers.Integral) or min_label < 17 or
+            min_label >= max_label):
         raise ConfigValueError(desc=('Invalid label_range configuration value:'
                                      ' (%s).' % label_range))
 
diff --git a/ryu/services/protocols/bgp/rtconf/neighbors.py b/ryu/services/protocols/bgp/rtconf/neighbors.py
index 5efe383c..4ab0d576 100644
--- a/ryu/services/protocols/bgp/rtconf/neighbors.py
+++ b/ryu/services/protocols/bgp/rtconf/neighbors.py
@@ -60,7 +60,6 @@ from ryu.services.protocols.bgp.rtconf.base import SITE_OF_ORIGINS
 from ryu.services.protocols.bgp.rtconf.base import validate
 from ryu.services.protocols.bgp.rtconf.base import validate_med
 from ryu.services.protocols.bgp.rtconf.base import validate_soo_list
-from ryu.services.protocols.bgp.utils.validation import is_valid_ipv4
 from ryu.services.protocols.bgp.utils.validation import is_valid_old_asn
 from ryu.services.protocols.bgp.info_base.base import Filter
 from ryu.services.protocols.bgp.info_base.base import PrefixFilter
diff --git a/ryu/services/protocols/bgp/rtconf/vrfs.py b/ryu/services/protocols/bgp/rtconf/vrfs.py
index ea9c695c..ecf6463c 100644
--- a/ryu/services/protocols/bgp/rtconf/vrfs.py
+++ b/ryu/services/protocols/bgp/rtconf/vrfs.py
@@ -22,7 +22,6 @@ import logging
 
 from ryu.lib.packet.bgp import RF_IPv4_UC
 from ryu.lib.packet.bgp import RF_IPv6_UC
-from ryu.lib.packet.bgp import BGPPathAttributeExtendedCommunities
 
 from ryu.services.protocols.bgp.utils import validation
 from ryu.services.protocols.bgp.base import get_validator
diff --git a/ryu/services/protocols/bgp/signals/__init__.py b/ryu/services/protocols/bgp/signals/__init__.py
index 0b69c99d..27d60d48 100644
--- a/ryu/services/protocols/bgp/signals/__init__.py
+++ b/ryu/services/protocols/bgp/signals/__init__.py
@@ -1,5 +1,4 @@
-__author__ = 'yak'
-
 from ryu.services.protocols.bgp.signals.base import SignalBus
 
 __all__ = [SignalBus]
+__author__ = 'yak'
diff --git a/ryu/services/protocols/bgp/speaker.py b/ryu/services/protocols/bgp/speaker.py
index 1e92166b..fd6af442 100644
--- a/ryu/services/protocols/bgp/speaker.py
+++ b/ryu/services/protocols/bgp/speaker.py
@@ -24,14 +24,11 @@ from socket import IPPROTO_TCP, TCP_NODELAY
 from eventlet import semaphore
 
 from ryu.lib.packet import bgp
-from ryu.lib.packet.bgp import RouteFamily
-from ryu.lib.packet.bgp import RF_RTC_UC
 from ryu.lib.packet.bgp import BGPMessage
 from ryu.lib.packet.bgp import BGPOpen
 from ryu.lib.packet.bgp import BGPUpdate
 from ryu.lib.packet.bgp import BGPKeepAlive
 from ryu.lib.packet.bgp import BGPNotification
-from ryu.lib.packet.bgp import BGPRouteRefresh
 from ryu.lib.packet.bgp import BGP_MSG_OPEN
 from ryu.lib.packet.bgp import BGP_MSG_UPDATE
 from ryu.lib.packet.bgp import BGP_MSG_KEEPALIVE
@@ -39,7 +36,6 @@ from ryu.lib.packet.bgp import BGP_MSG_NOTIFICATION
 from ryu.lib.packet.bgp import BGP_MSG_ROUTE_REFRESH
 from ryu.lib.packet.bgp import BGP_CAP_ENHANCED_ROUTE_REFRESH
 from ryu.lib.packet.bgp import BGP_CAP_MULTIPROTOCOL
-from ryu.lib.packet.bgp import BGP_CAP_ROUTE_REFRESH
 from ryu.lib.packet.bgp import BGP_ERROR_HOLD_TIMER_EXPIRED
 from ryu.lib.packet.bgp import BGP_ERROR_SUB_HOLD_TIMER_EXPIRED
 from ryu.lib.packet.bgp import get_rf
@@ -143,7 +139,7 @@ class BgpProtocol(Protocol, Activity):
                              '`BgpProtocol`')
 
         # Compare protocol connection end point's addresses
-        if (self._remotename[0] == other_protoco._remotename[0] and
+        if (self._remotename[0] == other_protocol._remotename[0] and
                 self._localname[0] == other_protocol._localname[0]):
             return True
 
@@ -324,25 +320,23 @@ class BgpProtocol(Protocol, Activity):
                 raise bgp.NotSync()
 
             # Check if we have valid bgp message length.
-            check = lambda: length < BGP_MIN_MSG_LEN\
-                or length > BGP_MAX_MSG_LEN
+            check = (length < BGP_MIN_MSG_LEN or length > BGP_MAX_MSG_LEN)
 
             # RFC says: The minimum length of the OPEN message is 29
             # octets (including the message header).
-            check2 = lambda: ptype == BGP_MSG_OPEN\
-                and length < BGPOpen._MIN_LEN
+            check2 = (ptype == BGP_MSG_OPEN and length < BGPOpen._MIN_LEN)
 
             # RFC says: A KEEPALIVE message consists of only the
             # message header and has a length of 19 octets.
-            check3 = lambda: ptype == BGP_MSG_KEEPALIVE\
-                and length != BGPKeepAlive._MIN_LEN
+            check3 = (ptype == BGP_MSG_KEEPALIVE and
+                      length != BGPKeepAlive._MIN_LEN)
 
             # RFC says: The minimum length of the UPDATE message is 23
             # octets.
-            check4 = lambda: ptype == BGP_MSG_UPDATE\
-                and length < BGPUpdate._MIN_LEN
+            check4 = (ptype == BGP_MSG_UPDATE and
+                      length < BGPUpdate._MIN_LEN)
 
-            if check() or check2() or check3() or check4():
+            if any((check, check2, check3, check4)):
                 raise bgp.BadLen(ptype, length)
 
             # If we have partial message we wait for rest of the message.
@@ -380,7 +374,7 @@ class BgpProtocol(Protocol, Activity):
         self._sendlock.acquire()
         try:
             self._socket.sendall(msg.serialize())
-        except socket.error as err:
+        except socket.error:
             self.connection_lost('failed to write to socket')
         finally:
             self._sendlock.release()
-- 
cgit v1.2.3