The attached patch flushes stdout between commands to make output operations (-L etc) in iptables-restore usable over a pipe. stdio by defaut buffers output if not connected to a terminal. Regards Henrik
Index: iptables/ip6tables-restore.c =================================================================== --- iptables.orig/ip6tables-restore.c +++ iptables/ip6tables-restore.c @@ -436,6 +436,7 @@ int main(int argc, char *argv[]) &newargv[2], &handle); free_argv(); + fflush(stdout); } if (!ret) { fprintf(stderr, "%s: line %u failed\n", Index: iptables/iptables-restore.c =================================================================== --- iptables.orig/iptables-restore.c +++ iptables/iptables-restore.c @@ -442,6 +442,7 @@ main(int argc, char *argv[]) &newargv[2], &handle); free_argv(); + fflush(stdout); } if (tablename && (strcmp(tablename, curtable) != 0)) continue;