Create input packet stream for defined interface using hosts list. :param object src_if: Interface to create packet stream for. :param list packet_sizes: List of required packet sizes. :return: Stream of packets.
(self, src_if)
| 252 | self.logger.info("Bridge domain ID %d deleted" % bd_id) |
| 253 | |
| 254 | def create_stream(self, src_if): |
| 255 | """ |
| 256 | Create input packet stream for defined interface using hosts list. |
| 257 | |
| 258 | :param object src_if: Interface to create packet stream for. |
| 259 | :param list packet_sizes: List of required packet sizes. |
| 260 | :return: Stream of packets. |
| 261 | """ |
| 262 | packet_sizes = self.pg_if_packet_sizes |
| 263 | pkts = [] |
| 264 | src_hosts = self.hosts_by_pg_idx[src_if.sw_if_index] |
| 265 | for dst_if in self.flows[src_if]: |
| 266 | dst_hosts = self.hosts_by_pg_idx[dst_if.sw_if_index] |
| 267 | for dst_host in dst_hosts: |
| 268 | pkt_info = self.create_packet_info(src_if, dst_if) |
| 269 | payload = self.info_to_payload(pkt_info) |
| 270 | src_host = random.choice(src_hosts) |
| 271 | p = ( |
| 272 | Ether(dst=dst_host.mac, src=src_host.mac) |
| 273 | / IP(src=src_host.ip4, dst=dst_host.ip4) |
| 274 | / UDP(sport=1234, dport=1234) |
| 275 | / Raw(payload) |
| 276 | ) |
| 277 | pkt_info.data = p.copy() |
| 278 | size = random.choice(packet_sizes) |
| 279 | self.extend_packet(p, size) |
| 280 | pkts.append(p) |
| 281 | self.logger.debug( |
| 282 | "Input stream created for port %s. Length: %u pkt(s)" |
| 283 | % (src_if.name, len(pkts)) |
| 284 | ) |
| 285 | return pkts |
| 286 | |
| 287 | def verify_capture(self, dst_if): |
| 288 | """ |
no test coverage detected