Hello,
I work on a debien 2.6.21, and ebtables is compiled like a module.
I work on the developement of a new module for ebtables. My module
works, it's just a new target -j TEST
My problem is when I'm in the ' static int ebt_target function', I
need to read some igmp information, to know the type of igmp packet
and the group multicast.
I try something like that (in normal case I don't use the skb
directly, i use first the function skb_copy_bits()).
static int ebt_target (struct sk_buff **pskb,
unsigned int hooknr,
const struct net_device *in,
const struct net_device *out,
const void *data,
unsigned int datalen)
{
struct sk_buff *skb = *pskb;
printk ("igmp type :%u\n", skb->h.igmph->type);
}
I send a igmp packet to join a group
and I recieve this
igmp type : 70
Or the different type of igmp are : 11, 12, 16, 17, 22
Normaly the good value in my case is 22 (I worked with igmp v3).
I don't undestand the response.
Then I try to see the ip of the multicast group (I send for the group
239.255.1.4) , I recieve 0.0.24.0 .
It's really strange because if I try to see the ip address of the
packet, it's works (skb->h.ipiph->daddr) : 224.0.0.22
If someone have an idea of the problem ?