/* Copyright 2014 Jozsef Kadlecsik (kadlec@netfilter.org) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ #include /* IPSET_OPT_* */ #include /* parser functions */ #include /* printing functions */ #include /* prototypes */ /* Initial revision */ static struct ipset_type ipset_hash_mac0 = { .name = "hash:mac", .alias = { "machash", NULL }, .revision = 0, .family = NFPROTO_UNSPEC, .dimension = IPSET_DIM_ONE, .elem = { [IPSET_DIM_ONE - 1] = { .parse = ipset_parse_ether, .print = ipset_print_ether, .opt = IPSET_OPT_ETHER }, }, .cmd = { [IPSET_CREATE] = { .args = { IPSET_ARG_HASHSIZE, IPSET_ARG_MAXELEM, IPSET_ARG_TIMEOUT, IPSET_ARG_COUNTERS, IPSET_ARG_COMMENT, IPSET_ARG_FORCEADD, IPSET_ARG_SKBINFO, IPSET_ARG_NONE, }, .need = 0, .full = 0, .help = "", }, [IPSET_ADD] = { .args = { IPSET_ARG_TIMEOUT, IPSET_ARG_PACKETS, IPSET_ARG_BYTES, IPSET_ARG_ADT_COMMENT, IPSET_ARG_SKBMARK, IPSET_ARG_SKBPRIO, IPSET_ARG_SKBQUEUE, IPSET_ARG_NONE, }, .need = IPSET_FLAG(IPSET_OPT_ETHER), .full = IPSET_FLAG(IPSET_OPT_ETHER), .help = "MAC", }, [IPSET_DEL] = { .args = { IPSET_ARG_NONE, }, .need = IPSET_FLAG(IPSET_OPT_ETHER), .full = IPSET_FLAG(IPSET_OPT_ETHER), .help = "MAC", }, [IPSET_TEST] = { .args = { IPSET_ARG_NONE, }, .need = IPSET_FLAG(IPSET_OPT_ETHER), .full = IPSET_FLAG(IPSET_OPT_ETHER), .help = "MAC", }, }, .usage = "", .description = "Initial revision", }; void _init(void); void _init(void) { ipset_type_add(&ipset_hash_mac0); }