Esempio n. 1
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. 2
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. 3
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. 4
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. 5
0
    def dispatch(self, hdr, data):
        """
        Dispatch mmessage.
        """
        mtype = hdr[0]
        if mtype == pb.PORT_CONFIG:
            port_conf = fibcapi.parse_port_config(data)
            port_conf_evt = fibcevt.EventFIBCPortConfig(port_conf)
            self._send_evt(port_conf_evt)

        elif mtype == pb.FLOW_MOD:
            flow_mod = fibcapi.parse_flow_mod(data)
            flow_mod_evt = fibcevt.EventFIBCFlowMod(flow_mod)
            self._send_evt(flow_mod_evt)

        elif mtype == pb.GROUP_MOD:
            group_mod = fibcapi.parse_group_mod(data)
            group_mod_evt = fibcevt.EventFIBCGroupMod(group_mod)
            self._send_evt(group_mod_evt)

        else:
            _LOG.warn("Unknown message %s", hdr)
            if fibclog.dump_msg():
                _LOG.debug("%s", data)