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)
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)
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)
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)
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)