]> git.ipfire.org Git - thirdparty/iptables.git/commitdiff
xtables-save: add -4 and -6 support
authorPablo Neira Ayuso <pablo@netfilter.org>
Sat, 23 Feb 2013 17:30:36 +0000 (18:30 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 30 Dec 2013 22:50:26 +0000 (23:50 +0100)
Now you can specify:

 xtables-save -6 > my-ip6tables-ruleset

to dump the IPv6 rule-set.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
iptables/xtables-save.c

index 05d06b1e8688429c533f74c6aac10959440e4218..111ad4becd2f70025336b285dfc7c90fa19dd865 100644 (file)
@@ -32,6 +32,8 @@ static const struct option options[] = {
        {.name = "dump",     .has_arg = false, .val = 'd'},
        {.name = "table",    .has_arg = true,  .val = 't'},
        {.name = "modprobe", .has_arg = true,  .val = 'M'},
+       {.name = "ipv4",     .has_arg = false, .val = '4'},
+       {.name = "ipv6",     .has_arg = false, .val = '6'},
        {NULL},
 };
 
@@ -96,7 +98,7 @@ xtables_save_main(int argc, char *argv[])
 #endif
        nft_init(&h);
 
-       while ((c = getopt_long(argc, argv, "bcdt:", options, NULL)) != -1) {
+       while ((c = getopt_long(argc, argv, "bcdt:46", options, NULL)) != -1) {
                switch (c) {
                case 'c':
                        show_counters = true;
@@ -112,6 +114,12 @@ xtables_save_main(int argc, char *argv[])
                case 'd':
                        do_output(&h, tablename, show_counters);
                        exit(0);
+               case '4':
+                       h.family = AF_INET;
+                       break;
+               case '6':
+                       h.family = AF_INET6;
+                       break;
                }
        }