11a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI/* Shared library add-on to iptables to add TRACE target support. */
21a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI#include <stdio.h>
31a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI#include <string.h>
41a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI#include <stdlib.h>
51a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI#include <getopt.h>
61a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI
71a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI#include <xtables.h>
81a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI#include <linux/netfilter/x_tables.h>
91a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI
107a0992da44cfb6cab0ccd1beadcf326df8773552Pablo Neira Ayusostatic int trace_xlate(struct xt_xlate *xl,
117a0992da44cfb6cab0ccd1beadcf326df8773552Pablo Neira Ayuso		       const struct xt_xlate_tg_params *params)
124bdf0ae602c4f53b05b8fe903981a92f8f2a65b0Liping Zhang{
134bdf0ae602c4f53b05b8fe903981a92f8f2a65b0Liping Zhang	xt_xlate_add(xl, "nftrace set 1");
144bdf0ae602c4f53b05b8fe903981a92f8f2a65b0Liping Zhang	return 1;
154bdf0ae602c4f53b05b8fe903981a92f8f2a65b0Liping Zhang}
164bdf0ae602c4f53b05b8fe903981a92f8f2a65b0Liping Zhang
17932e648f38ac16b1ea14c1f66f23951388448c5aJan Engelhardtstatic struct xtables_target trace_target = {
1842979363f3958b4436c6d2503753c182c58e55eaJan Engelhardt	.family		= NFPROTO_UNSPEC,
191a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI	.name		= "TRACE",
208b7c64d6ba156a99008fcd810cba874c73294333Jan Engelhardt	.version	= XTABLES_VERSION,
211a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI	.size		= XT_ALIGN(0),
221a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI	.userspacesize	= XT_ALIGN(0),
234bdf0ae602c4f53b05b8fe903981a92f8f2a65b0Liping Zhang	.xlate		= trace_xlate,
241a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI};
251a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI
261a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAIvoid _init(void)
271a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI{
28932e648f38ac16b1ea14c1f66f23951388448c5aJan Engelhardt	xtables_register_target(&trace_target);
291a31b4251a71e5cd3845860405ecbe156c5f13c7Yasuyuki KOZAKAI}
30