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

Function ipfw_nat64clat_handler

tools/ipfw/nat64clat.c:98–154  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

96 */
97#define nat64clat_check_name table_check_name
98void
99ipfw_nat64clat_handler(int ac, char *av[])
100{
101 const char *name;
102 int tcmd;
103 uint8_t set;
104
105 if (g_co.use_set != 0)
106 set = g_co.use_set - 1;
107 else
108 set = 0;
109 ac--; av++;
110
111 NEED1("nat64clat needs instance name");
112 name = *av;
113 if (nat64clat_check_name(name) != 0) {
114 if (strcmp(name, "all") == 0)
115 name = NULL;
116 else
117 errx(EX_USAGE, "nat64clat instance name %s is invalid",
118 name);
119 }
120 ac--; av++;
121 NEED1("nat64clat needs command");
122
123 tcmd = get_token(nat64cmds, *av, "nat64clat command");
124 if (name == NULL && tcmd != TOK_DESTROY && tcmd != TOK_LIST)
125 errx(EX_USAGE, "nat64clat instance name required");
126 switch (tcmd) {
127 case TOK_CREATE:
128 ac--; av++;
129 nat64clat_create(name, set, ac, av);
130 break;
131 case TOK_CONFIG:
132 ac--; av++;
133 nat64clat_config(name, set, ac, av);
134 break;
135 case TOK_LIST:
136 nat64clat_foreach(nat64clat_show_cb, name, set, 1);
137 break;
138 case TOK_DESTROY:
139 if (name == NULL)
140 nat64clat_foreach(nat64clat_destroy_cb, NULL, set, 0);
141 else
142 nat64clat_destroy(name, set);
143 break;
144 case TOK_STATS:
145 ac--; av++;
146 if (ac == 0) {
147 nat64clat_stats(name, set);
148 break;
149 }
150 tcmd = get_token(nat64statscmds, *av, "stats command");
151 if (tcmd == TOK_RESET)
152 nat64clat_reset_stats(name, set);
153 }
154}
155

Callers 1

main.cFile · 0.85

Calls 8

strcmpFunction · 0.85
nat64clat_foreachFunction · 0.85
get_tokenFunction · 0.70
nat64clat_createFunction · 0.70
nat64clat_configFunction · 0.70
nat64clat_destroyFunction · 0.70
nat64clat_statsFunction · 0.70
nat64clat_reset_statsFunction · 0.70

Tested by

no test coverage detected