Esempio n. 1
0
def routes_to_route_db(
    node: str,
    unicast_routes: Optional[List[network_types.UnicastRoute]] = None,
    mpls_routes: Optional[List[network_types.MplsRoute]] = None,
) -> fib_types.RouteDatabase:
    """
    :param node: node name
    :param unicast_routes: list of unicast IP routes
    :param mpls_routes: list of MPLS routes
    """
    unicast_routes = [] if unicast_routes is None else unicast_routes
    mpls_routes = [] if mpls_routes is None else mpls_routes

    return fib_types.RouteDatabase(thisNodeName=node,
                                   unicastRoutes=unicast_routes,
                                   mplsRoutes=mpls_routes)
Esempio n. 2
0
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
#

import unittest
from builtins import object, range
from multiprocessing import Process

import bunch
import zmq
from openr.clients import fib_client
from openr.Fib import ttypes as fib_types
from openr.utils import zmq_socket

route_db_cache = fib_types.RouteDatabase()
route_db_cache.thisNodeName = "san jose 1"


class Fib(object):
    def __init__(self, zmq_ctx, url):
        self._fib_server_socket = zmq_socket.ZmqSocket(zmq_ctx, zmq.REP)
        self._fib_server_socket.bind(url)
        self._route_db_cache = route_db_cache

    def process_request(self):
        self._fib_server_zmq_socket.recv_thrift_obj(fib_types.FibRequest)
        self._fib_server_zmq_socket.send_thrift_obj(self._route_db_cache)


class TestFibClient(unittest.TestCase):