diff options
author | Bart De Schuymer <bdschuym@pandora.be> | 2003-06-03 18:47:33 +0000 |
---|---|---|
committer | Bart De Schuymer <bdschuym@pandora.be> | 2003-06-03 18:47:33 +0000 |
commit | ff87172709d0fff1ac43183c38c05732ff2b8c9a (patch) | |
tree | 21bf3aae695eac19e9151b656379d636d2837e47 /kernel/linux2.5/net/bridge/netfilter/ebt_arp.c | |
parent | 87cc1b649c8268755bbbd3fd9593a23b9e20d8fc (diff) |
module versioning
Diffstat (limited to 'kernel/linux2.5/net/bridge/netfilter/ebt_arp.c')
-rw-r--r-- | kernel/linux2.5/net/bridge/netfilter/ebt_arp.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/kernel/linux2.5/net/bridge/netfilter/ebt_arp.c b/kernel/linux2.5/net/bridge/netfilter/ebt_arp.c index d63d720..16cec6d 100644 --- a/kernel/linux2.5/net/bridge/netfilter/ebt_arp.c +++ b/kernel/linux2.5/net/bridge/netfilter/ebt_arp.c @@ -94,13 +94,17 @@ static int ebt_filter_arp(const struct sk_buff *skb, const struct net_device *in return EBT_MATCH; } +static struct ebt_match filter_arp; static int ebt_arp_check(const char *tablename, unsigned int hookmask, - const struct ebt_entry *e, void *data, unsigned int datalen) + const struct ebt_entry *e, void *data, unsigned int datalen, + unsigned int version) { struct ebt_arp_info *info = (struct ebt_arp_info *)data; if (datalen != sizeof(struct ebt_arp_info)) return -EINVAL; + if (ebt_check_version(version, filter_arp.version, filter_arp.name)) + return -EINVAL; if ((e->ethproto != __constant_htons(ETH_P_ARP) && e->ethproto != __constant_htons(ETH_P_RARP)) || e->invflags & EBT_IPROTO) @@ -116,6 +120,7 @@ static struct ebt_match filter_arp = .match = ebt_filter_arp, .check = ebt_arp_check, .me = THIS_MODULE, + .version = VERSIONIZE(1,0), }; static int __init init(void) |