Example #1
0
    def test_A1__handleConnectionQuery_connIDisNotin_connDB(self):
        """(remoteAddr, connID) is not in connectionDb Not create a connection.

        Check: Cannot find the connection in local connection DB

        Result:
        FAILURE.

        """
        cmd = l2tpMsg.L2tpCommandReq()
        cmd.cmd = l2tpMsg.CONNECTION_INFO

        para = l2tpMsg.ConnectionPara()

        # Create invalid addr and connID
        para.remoteAddr = "127.0.0.1"
        para.connectionID = 0xA90A0853
        para.localAddr = L2tpv3GlobalSettings.L2tpv3GlobalSettings.LocalIPAddress

        cmd.conn.MergeFrom(para)
        msg = self.api._handleMsg(cmd)

        # FAILURE = 2
        self.assertEqual(msg.rsp, 2)
        self.assertEqual(msg.retMsg,
                         "Cannot find the connection in local connection DB")
Example #2
0
    def test_A2__handleConnectionQuery_connID_isin_connDB(self):
        """(remoteAddr, connID) is in connectionDb Create a connection.

        Result: success.

        """
        # Create a connection
        global_dispatcher = Dispatcher()
        L2tpv3GlobalSettings.L2tpv3GlobalSettings.LocalIPAddress = '127.0.0.1'
        dispatcher = L2tpv3Dispatcher.L2tpv3Dispatcher(
            global_dispatcher,
            L2tpv3GlobalSettings.L2tpv3GlobalSettings.LocalIPAddress,
            create_global_listen=False)

        self.dispatcher = L2tpv3GlobalSettings.L2tpv3GlobalSettings.Dispatcher = dispatcher
        self.connection = L2tpv3Connection.L2tpConnection(
            9527, 21203, "127.0.0.1")

        # Create a msg
        cmd = l2tpMsg.L2tpCommandReq()
        cmd.cmd = l2tpMsg.CONNECTION_INFO

        # connection is in local connection DB
        para = l2tpMsg.ConnectionPara()

        # Get addr and connID invoke connection
        para.remoteAddr = self.connection.remoteAddr
        para.connectionID = self.connection.localConnID
        para.localAddr = L2tpv3GlobalSettings.L2tpv3GlobalSettings.LocalIPAddress

        cmd.conn.MergeFrom(para)
        msg = self.api._handleMsg(cmd)
        # SUCCESS = 1
        self.assertEqual(msg.rsp, 1)
Example #3
0
def _processConnectionQuery(socket, connection):
    cmd = l2tpMsg.L2tpCommandReq()
    cmd.cmd = l2tpMsg.CONNECTION_INFO
    para = l2tpMsg.ConnectionPara()
    para.remoteAddr = connection[0]
    para.connectionID = int(connection[1])
    cmd.conn.MergeFrom(para)
    data = cmd.SerializeToString()
    socket.send(data)
    data = socket.recv()
    msg = l2tpMsg.L2tpCommandRsp()
    msg.ParseFromString(data)
    print(msg)