On Monday 2013-10-14 18:38, Pablo Neira Ayuso wrote: > >+static int __init nf_table_nat_init(void) >+{ >+ int err; >+ >+ list_add_tail(&nf_chain_nat_prerouting.chain.list, >+ &nf_table_nat_ipv4.chains); >+ list_add_tail(&nf_chain_nat_postrouting.chain.list, >+ &nf_table_nat_ipv4.chains); >+ list_add_tail(&nf_chain_nat_output.chain.list, >+ &nf_table_nat_ipv4.chains); >+ list_add_tail(&nf_chain_nat_input.chain.list, >+ &nf_table_nat_ipv4.chains); >+ >+ err = nft_register_table(&nf_table_nat_ipv4, NFPROTO_IPV4); >+ if (err < 0) >+ goto err1; Why do we still have this redundant table separation? This ugly 90s era relict was a result of the module split, but given that arbitrary base chain creation is now exposed, it is no longer necessary. (It was not really necessary before either, but that is how things grew in the past.) Don't carry over 90s mistakes. -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html