summaryrefslogtreecommitdiffstats
path: root/extensions/ebtable_filter.c
blob: cf26983176fd89c79ba33cd28480ff3329b63417 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>
#include <sys/socket.h>
#include <linux/netfilter_bridge/ebtables.h>
#include "../include/ebtables_u.h"

#define FILTER_VALID_HOOKS ((1 << NF_BR_LOCAL_IN) | (1 << NF_BR_FORWARD) | \
   (1 << NF_BR_LOCAL_OUT))

static void print_help(char **hn)
{
	int i;

	printf("Supported chains for the filter table:\n");
	for (i = 0; i < NF_BR_NUMHOOKS; i++)
		if (FILTER_VALID_HOOKS & (1 << i))
			printf("%s ", hn[i]);
	printf("\n");
}

static struct ebt_u_table table =
{
	"filter",
	NULL,
	print_help,
	NULL
};

static void _init(void) __attribute__ ((constructor));
static void _init(void)
{
	register_table(&table);
}