Пример #1
0
    def test_flow(self):
        tables = [
            -1,
            pb.FlowMod.VLAN,
            pb.FlowMod.TERM_MAC,
            pb.FlowMod.MPLS1,
            pb.FlowMod.UNICAST_ROUTING,
            pb.FlowMod.BRIDGING,
            pb.FlowMod.POLICY_ACL,
        ]

        for dp_type in DP_TYPES:
            for table in tables:
                self.assertIsNotNone(ofc.flow(dp_type, table))
Пример #2
0
    def on_flow_mod(self, evt):
        """
        Process FlowMod event
        """
        mod = evt.msg
        if fibclog.dump_msg():
            _LOG.debug("%s", mod)

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

        except Exception as expt:
            _LOG.exception(expt)
Пример #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)