Esempio n. 1
0
    def test_mpls_iface(self):
        group = pb.MPLSInterfaceGroup(
            ne_id=1010,
            port_id=1,
            vlan_vid=_VID,
            eth_dst=_ETH_DST_MAC,
            eth_src=_ETH_SRC_MAC,
        )
        mod = pb.GroupMod(re_id=_RE_ID,
                          g_type="MPLS_INTERFACE",
                          mpls_iface=group)

        p2 = fibcdbm.FIBCPortEntry.new(name=_IFNAME,
                                       port=2,
                                       dp_id=_DP_ID,
                                       re_id=_RE_ID)
        p3 = fibcdbm.FIBCPortEntry.new(name=_IFNAME,
                                       port=3,
                                       dp_id=_DP_ID,
                                       re_id=_RE_ID)
        portmap = Mock(spec=fibcdbm.FIBCDbPortMapTable)
        portmap.find_by_vm.return_value = p2
        portmap.lower_port.return_value = p3

        # exec
        fibccnv.conv_group(mod, portmap)
        # check
        self.assertEqual(mod.mpls_iface.port_id, 3)
        portmap.find_by_vm.assert_called_once_with(re_id=_RE_ID, port_id=1)
        portmap.lower_port.assert_called_once_with(p2)
Esempio n. 2
0
def parse_group_mod(data):
    """
    Parse binary data (pb.GroupMod)
    """
    msg = pb.GroupMod()
    msg.ParseFromString(data)
    return msg
Esempio n. 3
0
    def _mod_group_l2_interface(self, msg):
        re_id = msg["re_id"]
        cmd = msg["cmd"]
        for arg in msg["args"]:
            grp = pb.L2InterfaceGroup(port_id=arg["port"], vlan_vid=arg["vlan"])
            mod = pb.GroupMod(cmd=cmd, g_type="L2_INTERFACE", re_id=re_id, l2_iface=grp)
            evt = fibcevt.EventFIBCGroupMod(mod)

            self.app.send_event_to_observers(evt)
Esempio n. 4
0
    def _mod_group_mpls_tun1(self, msg):
        re_id = msg["re_id"]
        cmd = msg["cmd"]
        for arg in msg["args"]:
            grp = pb.MPLSLabelGroup(label=arg["label"],
                                    ne_id=arg["ne_id"])
            mod = pb.GroupMod(cmd=cmd, g_type="MPLS_TUNNEL1", re_id=re_id, mpls_label=grp)
            evt = fibcevt.EventFIBCGroupMod(mod)

            self.app.send_event_to_observers(evt)
Esempio n. 5
0
    def _mod_group_mpls_interface(self, msg):
        re_id = msg["re_id"]
        cmd = msg["cmd"]
        for arg in msg["args"]:
            grp = pb.MPLSInterfaceGroup(ne_id=arg["ne_id"],
                                        port_id=arg["port"],
                                        vlan_vid=arg["vlan"],
                                        eth_dst=arg["eth_dst"],
                                        eth_src=arg["eth_src"])
            mod = pb.GroupMod(cmd=cmd, g_type="MPLS_INTERFACE", re_id=re_id, mpls_iface=grp)
            evt = fibcevt.EventFIBCGroupMod(mod)

            self.app.send_event_to_observers(evt)
Esempio n. 6
0
    def _mod_group_l3_unicast(self, msg):
        re_id = msg["re_id"]
        cmd = msg["cmd"]
        for arg in msg["args"]:
            grp = pb.L3UnicastGroup(ne_id=arg["ne_id"],
                                    port_id=arg["port"],
                                    vlan_vid=arg["vlan"],
                                    eth_dst=arg["eth_dst"],
                                    eth_src=arg["eth_src"])
            mod = pb.GroupMod(cmd=cmd, g_type="L3_UNICAST", re_id=re_id, l3_unicast=grp)
            evt = fibcevt.EventFIBCGroupMod(mod)

            self.app.send_event_to_observers(evt)
Esempio n. 7
0
    def test_conv_l2_interface(self):
        group = pb.L2InterfaceGroup(port_id=1,
                                    vlan_vid=_VID,
                                    vlan_translation=True)
        mod = pb.GroupMod(re_id=_RE_ID, g_type="L2_INTERFACE", l2_iface=group)

        p = fibcdbm.FIBCPortEntry.new(name=_IFNAME,
                                      port=2,
                                      dp_id=_DP_ID,
                                      re_id=_RE_ID)
        portmap = Mock(spec=fibcdbm.FIBCDbPortMapTable)
        portmap.find_by_vm.return_value = p
        portmap.lower_port.return_value = p

        # exec
        fibccnv.conv_group(mod, portmap)
        # check
        self.assertEqual(mod.l2_iface.port_id, 2)
        portmap.find_by_vm.assert_called_once_with(re_id=_RE_ID, port_id=1)
        portmap.lower_port.assert_called_once_with(p)
Esempio n. 8
0
    def test_l3_unicast(self):
        group = pb.L3UnicastGroup(
            ne_id=1010,
            port_id=1,
            vlan_vid=_VID,
            eth_dst=_ETH_DST_MAC,
            eth_src=_ETH_SRC_MAC,
        )
        mod = pb.GroupMod(re_id=_RE_ID, g_type="L3_UNICAST", l3_unicast=group)

        p = fibcdbm.FIBCPortEntry.new(name=_IFNAME,
                                      port=2,
                                      dp_id=_DP_ID,
                                      re_id=_RE_ID)
        portmap = Mock(spec=fibcdbm.FIBCDbPortMapTable)
        portmap.find_by_vm.return_value = p
        portmap.lower_port.return_value = p

        # exec
        fibccnv.conv_group(mod, portmap)
        # check
        self.assertEqual(mod.l3_unicast.port_id, 2)
        portmap.find_by_vm.assert_called_once_with(re_id=_RE_ID, port_id=1)
        portmap.lower_port.assert_called_once_with(p)
Esempio n. 9
0
 def test_new(self):
     group = pb.L2InterfaceGroup(port_id=1, vlan_vid=10)
     mod = pb.GroupMod(cmd="ADD", g_type="L2_INTERFACE", re_id="1.1.1.1", l2_iface=group)
Esempio n. 10
0
 def test_new(self):
     group = pb.MPLSLabelGroup(dst_id=16, new_label=10016, ne_id=1, g_type="MPLS_INTERFACE")
     mod = pb.GroupMod(cmd="ADD", g_type="MPLS_SWAP", re_id="1.1.1.1", mpls_label=group)