| 564 | } |
| 565 | |
| 566 | static uint8_t |
| 567 | dsw_schedule(struct dsw_evdev *dsw, uint8_t queue_id, uint16_t flow_hash) |
| 568 | { |
| 569 | struct dsw_queue *queue = &dsw->queues[queue_id]; |
| 570 | uint8_t port_id; |
| 571 | |
| 572 | if (queue->num_serving_ports > 1) |
| 573 | port_id = queue->flow_to_port_map[flow_hash]; |
| 574 | else |
| 575 | /* A single-link queue, or atomic/ordered/parallel but |
| 576 | * with just a single serving port. |
| 577 | */ |
| 578 | port_id = queue->serving_ports[0]; |
| 579 | |
| 580 | DSW_LOG_DP(DEBUG, "Event with queue_id %d flow_hash %d is scheduled " |
| 581 | "to port %d.\n", queue_id, flow_hash, port_id); |
| 582 | |
| 583 | return port_id; |
| 584 | } |
| 585 | |
| 586 | static void |
| 587 | dsw_port_transmit_buffered(struct dsw_evdev *dsw, struct dsw_port *source_port, |
no outgoing calls
no test coverage detected