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

Function rss_tbl_cfg_handler

lib/ff_config.c:860–901  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

858}
859
860static int
861rss_tbl_cfg_handler(struct ff_rss_check_cfg *cur)
862{
863 //vip cfg
864 int ret, nb_rss_tbl, i, j, k;
865 char *rss_tbl_array[FF_RSS_TBL_MAX_ENTRIES], *rss_tbl_4tuble_array[4], *rss_tbl_str;
866 struct ff_rss_tbl_cfg *rss_tbl_cfg_p;
867
868 rss_tbl_str = cur->rss_tbl_str;
869
870 ret = rte_strsplit(rss_tbl_str, strlen(rss_tbl_str), &rss_tbl_array[0], FF_RSS_TBL_MAX_ENTRIES, ';');
871 if (ret <= 0) {
872 fprintf(stdout, "rss_tbl_cfg_handler nb_rss_tbl is 0, not set rss_tbl or set invalid rss_tbl %s\n",
873 rss_tbl_str);
874 return 1;
875 }
876
877 nb_rss_tbl = ret;
878
879 rss_tbl_cfg_p = &cur->rss_tbl_cfgs[0];
880
881 for (i = 0; i < nb_rss_tbl; i++) {
882 rss_tbl_str = rss_tbl_array[i];
883 /* port_id, daddr(local), saddr(remote), sport */
884 ret = rte_strsplit(rss_tbl_str, strlen(rss_tbl_str), &rss_tbl_4tuble_array[0], 4, ' ');
885 if (ret != 4) {
886 fprintf(stdout, "rss_tbl_cfg_handler daddr/saddr/sport format error %s\n",
887 rss_tbl_str);
888 return 1;
889 }
890
891 /* Note: daddr must be include by port_id's addr or vip_addr, but here not check it now */
892 rss_tbl_cfg_p[i].port_id = atoi(rss_tbl_4tuble_array[0]);
893 inet_pton(AF_INET, rss_tbl_4tuble_array[1], (void *)&(rss_tbl_cfg_p[i].daddr));
894 inet_pton(AF_INET, rss_tbl_4tuble_array[2], (void *)&(rss_tbl_cfg_p[i].saddr));
895 rss_tbl_cfg_p[i].sport = htons(atoi(rss_tbl_4tuble_array[3]));
896 }
897
898 cur->nb_rss_tbl = nb_rss_tbl;
899
900 return 1;
901}
902
903static int
904rss_check_cfg_handler(struct ff_config *cfg, __rte_unused const char *section,

Callers 1

rss_check_cfg_handlerFunction · 0.85

Calls 2

rte_strsplitFunction · 0.85
inet_ptonFunction · 0.85

Tested by

no test coverage detected