Ejemplo n.º 1
0
    def test_group(self):
        groups = [
            -1,
            pb.GroupMod.L2_INTERFACE,
            pb.GroupMod.L3_UNICAST,
            pb.GroupMod.L3_ECMP,
            pb.GroupMod.MPLS_INTERFACE,
            pb.GroupMod.MPLS_L3_VPN,
            pb.GroupMod.MPLS_TUNNEL1,
            pb.GroupMod.MPLS_SWAP,
            pb.GroupMod.MPLS_ECMP,
            pb.GroupMod.L2_UF_INTERFACE,
        ]

        for dp_type in DP_TYPES:
            for group in groups:
                self.assertIsNotNone(ofc.group(dp_type, group))
Ejemplo n.º 2
0
    def on_group_mod(self, evt):
        """
        Process GroupMod event
        """
        mod = evt.msg
        if fibclog.dump_msg():
            _LOG.debug(mod)

        try:
            dpath, mode = _find_dp_by_re_id(mod.re_id)
            if dpath is not None:
                fibccnv.conv_group(mod, fibcdbm.portmap())
                func = ofc.group(mode, mod.g_type)
                func(dpath, mod, ofctl)
                sleep(_SEND_MOD_WAIT_SEC)

        except Exception as expt:
            _LOG.exception(expt)
Ejemplo n.º 3
0
    def on_dp(self, evt):
        """
        Process Dp Entre event
        """
        if not evt.enter:
            return

        try:
            mode = fibcdbm.dps().get_mode(evt.dp.id, "default")
            flow = ofc.flow(mode, -1)
            group = ofc.group(mode, -1)

            flow(evt.dp, None, ofctl)
            sleep(_SEND_MOD_WAIT_SEC)
            group(evt.dp, None, ofctl)

        except Exception as expt:
            _LOG.exception(expt)