MCPcopy Create free account
hub / github.com/F-Stack/f-stack / dsw_port_handle_unpause_flows

Function dsw_port_handle_unpause_flows

dpdk/drivers/event/dsw/dsw_event.c:963–989  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

961 struct dsw_port *source_port);
962
963static void
964dsw_port_handle_unpause_flows(struct dsw_evdev *dsw, struct dsw_port *port,
965 uint8_t originating_port_id,
966 struct dsw_queue_flow *paused_qfs,
967 uint8_t qfs_len)
968{
969 uint16_t i;
970 struct dsw_ctl_msg cfm = {
971 .type = DSW_CTL_CFM,
972 .originating_port_id = port->id
973 };
974
975 dsw_port_remove_paused_flows(port, paused_qfs, qfs_len);
976
977 rte_smp_rmb();
978
979 dsw_port_ctl_enqueue(&dsw->ports[originating_port_id], &cfm);
980
981 for (i = 0; i < qfs_len; i++) {
982 struct dsw_queue_flow *qf = &paused_qfs[i];
983
984 if (dsw_schedule(dsw, qf->queue_id, qf->flow_hash) == port->id)
985 port->immigrations++;
986 }
987
988 dsw_port_flush_no_longer_paused_events(dsw, port);
989}
990
991static void
992dsw_port_buffer_in_buffer(struct dsw_port *port,

Callers 1

dsw_port_ctl_processFunction · 0.85

Calls 4

dsw_port_ctl_enqueueFunction · 0.85
dsw_scheduleFunction · 0.85

Tested by

no test coverage detected