def barrier(): """Return OpenFlow barrier request. Returns: ryu.ofproto.ofproto_v1_3_parser.OFPBarrierRequest: barrier request. """ return parser.OFPBarrierRequest(None)
def port_delete(self, dp_id, port_num): if self.ignore_dpid(dp_id) or self.ignore_port(port_num): return [] if port_num not in self.dp.ports: return [] port = self.dp.ports[port_num] port.phys_up = False self.logger.warning('Port down: {0}'.format(port)) ofmsgs = [] # delete all rules matching this port in all tables. for table in self.all_valve_tables(): ofmsgs.append(self.valve_flowdel(table, self.valve_in_match(in_port=port_num))) # delete eth_dst rules ofmsgs.append(self.valve_flowdel( self.dp.eth_dst_table, out_port=port_num)) ofmsgs.append(parser.OFPBarrierRequest(None)) for vlan in self.dp.vlans.values(): if port_num in vlan.tagged or port_num in vlan.untagged: ofmsgs.extend(self.build_flood_rules(vlan), modify=True) return ofmsgs
def delete_host_from_vlan(self, eth_src, vlan): ofmsgs = [] # delete any existing ofmsgs for this vlan/mac combination on the # src mac table ofmsgs.append(self.valve_flowdel( self.dp.eth_src_table, self.valve_in_match(vlan=vlan, eth_src=eth_src))) # delete any existing ofmsgs for this vlan/mac combination on the dst # mac table ofmsgs.append(self.valve_flowdel( self.dp.eth_dst_table, self.valve_in_match(vlan=vlan, eth_dst=eth_src))) ofmsgs.append(parser.OFPBarrierRequest(None)) return ofmsgs