| 373 | } |
| 374 | |
| 375 | static int |
| 376 | tm_apply(struct tm_data *data, |
| 377 | struct rte_table_action_tm_params *p, |
| 378 | struct rte_table_action_tm_config *cfg) |
| 379 | { |
| 380 | int status; |
| 381 | |
| 382 | /* Check input arguments */ |
| 383 | status = tm_apply_check(p, cfg); |
| 384 | if (status) |
| 385 | return status; |
| 386 | |
| 387 | /* Apply */ |
| 388 | data->queue_id = p->subport_id << |
| 389 | (rte_ctz32(cfg->n_pipes_per_subport) + 4) | |
| 390 | p->pipe_id << 4; |
| 391 | |
| 392 | return 0; |
| 393 | } |
| 394 | |
| 395 | static __rte_always_inline void |
| 396 | pkt_work_tm(struct rte_mbuf *mbuf, |
no test coverage detected