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

Function ipfw_nat64lsn_handler

tools/ipfw/nat64lsn.c:261–312  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

259 */
260#define nat64lsn_check_name table_check_name
261void
262ipfw_nat64lsn_handler(int ac, char *av[])
263{
264 const char *name;
265 int tcmd;
266 uint8_t set;
267
268 if (g_co.use_set != 0)
269 set = g_co.use_set - 1;
270 else
271 set = 0;
272 ac--; av++;
273
274 NEED1("nat64lsn needs instance name");
275 name = *av;
276 if (nat64lsn_check_name(name) != 0) {
277 if (strcmp(name, "all") == 0)
278 name = NULL;
279 else
280 errx(EX_USAGE, "nat64lsn instance name %s is invalid",
281 name);
282 }
283 ac--; av++;
284 NEED1("nat64lsn needs command");
285
286 tcmd = get_token(nat64cmds, *av, "nat64lsn command");
287 if (name == NULL && tcmd != TOK_DESTROY && tcmd != TOK_LIST)
288 errx(EX_USAGE, "nat64lsn instance name required");
289 switch (tcmd) {
290 case TOK_CREATE:
291 ac--; av++;
292 nat64lsn_create(name, set, ac, av);
293 break;
294 case TOK_CONFIG:
295 ac--; av++;
296 nat64lsn_config(name, set, ac, av);
297 break;
298 case TOK_LIST:
299 ac--; av++;
300 ipfw_nat64lsn_list_handler(name, set, ac, av);
301 break;
302 case TOK_DESTROY:
303 if (name == NULL)
304 nat64lsn_foreach(nat64lsn_destroy_cb, NULL, set, 0);
305 else
306 nat64lsn_destroy(name, set);
307 break;
308 case TOK_STATS:
309 ac--; av++;
310 ipfw_nat64lsn_stats_handler(name, set, ac, av);
311 }
312}
313
314static void
315nat64lsn_fill_ntlv(ipfw_obj_ntlv *ntlv, const char *name, uint8_t set)

Callers 1

main.cFile · 0.85

Calls 8

strcmpFunction · 0.85
nat64lsn_foreachFunction · 0.85
get_tokenFunction · 0.70
nat64lsn_createFunction · 0.70
nat64lsn_configFunction · 0.70
nat64lsn_destroyFunction · 0.70

Tested by

no test coverage detected