tech-net archive

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

Re: GSoC 2008 - Create an in-kernel API for "packet classes"

anish babu wrote:

My name is Anish and I am a graduate student at Texas A&M University.
I want to work on the project 'Create an in-kernel API for "packet
classes"' . I made a detailed proposal for this project:

Problem Description:

Create an in-kernel API for registering "packet classes" and for
labeling packets with their class, for special treatment by traffic
shapers (ALTQ) and by network interface drivers. With the registration
part of the API, ALTQ or a driver registers the names of packet
classes it recognizes. For example, ALTQ will register the
'class_name' part of a Class Command . An Ethernet NIC with high- and
low-priority transmit rings may register classes called 'hipri' and
'lopri'. An 802.11 NIC may register 802.11e traffic categories, BE,
BK, VI, VO. Each registration yields a token that is suitable for
labeling a packet - i.e., a small amount of data to stick in an mbuf
packet header or in an m_tag.

Make PF use the packet-classes API to convert PF tag names—see
pf.conf(5) for more about tags—to packet-class tokens, and to label
mbufs with the tokens as they exit PF. Make ALTQ extract the
packet-class tokens from mbufs and use them to select the
packet-scheduling class.

Since you are working in this space, I'd like to see the packet-classes API be completely independant of pf and pf tags - this may require more work from you to change pf but if this isn't achieved, then you haven't really got a "packet class API", you've just moved
some of pf's code.

Further, to demonstrate that you've got the API correct, modify ipfilter to filter on these
packet classes and do this without referencing anything that is pf-specific.


Home | Main Index | Thread Index | Old Index