Hi,
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.