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

Function cmd_pipeline_selector_group_member_delete

dpdk/examples/pipeline/cli.c:1555–1611  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1553"pipeline <pipeline_name> selector <selector_name> group member delete <file_name>";
1554
1555static void
1556cmd_pipeline_selector_group_member_delete(char **tokens,
1557 uint32_t n_tokens,
1558 char *out,
1559 size_t out_size,
1560 void *obj __rte_unused)
1561{
1562 struct rte_swx_ctl_pipeline *ctl;
1563 char *pipeline_name, *selector_name, *file_name;
1564 FILE *file = NULL;
1565 uint32_t file_line_number = 0;
1566 int status;
1567
1568 if (n_tokens != 8) {
1569 snprintf(out, out_size, MSG_ARG_MISMATCH, tokens[0]);
1570 return;
1571 }
1572
1573 pipeline_name = tokens[1];
1574 ctl = rte_swx_ctl_pipeline_find(pipeline_name);
1575 if (!ctl) {
1576 snprintf(out, out_size, MSG_ARG_INVALID, "pipeline_name");
1577 return;
1578 }
1579
1580 if (strcmp(tokens[2], "selector") != 0) {
1581 snprintf(out, out_size, MSG_ARG_NOT_FOUND, "selector");
1582 return;
1583 }
1584
1585 selector_name = tokens[3];
1586
1587 if (strcmp(tokens[4], "group") ||
1588 strcmp(tokens[5], "member") ||
1589 strcmp(tokens[6], "delete")) {
1590 snprintf(out, out_size, MSG_ARG_NOT_FOUND, "group member delete");
1591 return;
1592 }
1593
1594 file_name = tokens[7];
1595 file = fopen(file_name, "r");
1596 if (!file) {
1597 snprintf(out, out_size, "Cannot open file %s.\n", file_name);
1598 return;
1599 }
1600
1601 status = pipeline_selector_group_members_delete(ctl,
1602 selector_name,
1603 file,
1604 &file_line_number);
1605 if (status)
1606 snprintf(out, out_size, "Invalid entry in file %s at line %u\n",
1607 file_name,
1608 file_line_number);
1609
1610 fclose(file);
1611}
1612

Callers 1

cli_processFunction · 0.85

Calls 4

snprintfFunction · 0.85
strcmpFunction · 0.85

Tested by

no test coverage detected