use struct igmphdr with skb

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 ?



_______________________________________________
Bridge mailing list
Bridge@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/bridge

[Index of Archives]     [Netdev]     [AoE Tools]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux