linux/net/netfilter/xt_TRACE.c
<<
>>
Prefs
   1/* This is a module which is used to mark packets for tracing.
   2 */
   3#include <linux/module.h>
   4#include <linux/skbuff.h>
   5
   6#include <linux/netfilter/x_tables.h>
   7
   8MODULE_DESCRIPTION("Xtables: packet flow tracing");
   9MODULE_LICENSE("GPL");
  10MODULE_ALIAS("ipt_TRACE");
  11MODULE_ALIAS("ip6t_TRACE");
  12
  13static unsigned int
  14trace_tg(struct sk_buff *skb, const struct xt_target_param *par)
  15{
  16        skb->nf_trace = 1;
  17        return XT_CONTINUE;
  18}
  19
  20static struct xt_target trace_tg_reg __read_mostly = {
  21        .name       = "TRACE",
  22        .revision   = 0,
  23        .family     = NFPROTO_UNSPEC,
  24        .table      = "raw",
  25        .target     = trace_tg,
  26        .me         = THIS_MODULE,
  27};
  28
  29static int __init trace_tg_init(void)
  30{
  31        return xt_register_target(&trace_tg_reg);
  32}
  33
  34static void __exit trace_tg_exit(void)
  35{
  36        xt_unregister_target(&trace_tg_reg);
  37}
  38
  39module_init(trace_tg_init);
  40module_exit(trace_tg_exit);
  41