Subject: [magma] Linux igmpsnoop implementation.

From: "Vijay Kumar Chundury" <[email-masked]>
Date: Wed, 4 May 2005 17:43:18 +0530

Guys, 
I am working on implementing IGMP-snooping on my linux target(kernel
module).

This is a linux related question, so if anybody worked on linux to code the
igmp-snooping feature(that's why I posted this here) can help me out.

I have my snooping logic in place(bridge/br_input.c: function br_input.c). A
multicast table(GDA mac-address, port-id, hoping linux netfilter code would
take care of vlan info while forwarding the frame.) is built based on the
Reports sent by the IGMP hosts on the lan.
So far so good.

Now if a IP multicast data packet comes to my switch port, for forwarding
decisions and further packet transmission I need to use the mcast table
built.
I am little confused with the netfilter framework in linux (too much of
abstraction gets confusing at times).

My linux target is not running as brouter(FYI).

So the NF_BR_PRE_ROUTING hook would be my first hook to be
called,(PF_BRIDGE,NF_BRIDGE_PRE_ROUTING registrations trigger the following 
Calls following functions based on the priority). 
I can see br_nf_pre_routing()
Maintaindb()
Ebt-nat_dst()
Br_handle_frame_finish etc are the initial thread of the functions that get
invoked, 
I want to know where inside this series of invocations the bridge does fd
looks-ups, checks for vlan mapping and bridge the frame,  happening?
Once I know this part I can get my functionality working.
It appears to me I am not clear with the netfilter framework as such, could
an linux expert throw some light in terms of function calls and basics of
netfilter registerations(in code) would be of great help.

Thanks
Vijaykc.
_______________________________________________
magma mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/magma