tech-net archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: packet-classifier Summer of Code RFQ
On Fri, Mar 26, 2010 at 04:07:25PM -0400, Andy Pyles wrote:
> On Thu, Mar 25, 2010 at 7:43 PM, David Young <dyoung%pobox.com@localhost>
> wrote:
> > On Thu, Mar 25, 2010 at 10:16:22AM -0400, Andy Pyles wrote:
> > 2) Each interface may need a mapping from one or more class-labels
> > applied by the packet filter to service categories. E.g., "bulk"
> > may be the name of a packet classification, but "hipri" and "lopri"
> > are NIC 1's service types, and "hi", "med", "lo" are NIC 2's service
> > types. The operator may desire for NIC 1 to assign service type
> > "lopri" to "bulk" packets, and for NIC 2 to assign service type "med"
> > to "bulk" packets.
>
> So there should be a distinction between service types and
> class-labels then. Perhaps when registering to the packet-classifier
> API,
> we should distinguish if this is a generic class-label to a service
> category. Can you give an example of a NIC with these characteristics?
> Also is that even possible to configure different service types on a
> NIC? A quick scan through some of the latest device driver man pages
> did not indicate how this is done.
Just for example, an Atheros WLAN NIC supports more than one type of
service, and a Realtek WLAN NIC provides three transmission rings.
IIRC, ath(4) supports 802.11 type of service (WME), but that's not
documented.
?
It seems that you need to expand on your API in order to support both
packet classifications and types of service.
What do you think?
> > BTW, these days I am also concerned with three problems that are
> > related to the packet-classifying one:
> >
> > 1) What flows go through my router or network interface, *right now*?
> > How much traffic is in each flow? What are the historical flows on
> > this router/interface?
> >
> > Several programs purport to track this information, but none of them
> > have met my needs.
>
> Doesn't pfctl -sa give you all that you need? What is it that you are
> not getting from this output?( Assuming you are using PF)
That only shows flow information for current filter states---i.e., no
past information. The information is not easily digested by a person or
by a visualization program.
> > 2) Lots of bus-mastering NICs have both a transmit-descriptor ring that
> > holds umpteen packets, and a transmission queue (struct ifnet member
> > if_snd) that holds umpteen more. The queue empties into the ring.
> > The queue size is controllable by sysctl, but the ring size usually
> > is not. ISTM that *one* sysctl variable should control the maximum
> > length of the ring plus the queue.
> >
> What is the current behavior?
Today, you can control the maximum length of the queue with a sysctl,
only, and that's a recent development!
> > A related problem is that ALTQ operates on the transmission queue,
> > not on the ring+queue. I don't think that ALTQ can be effective by
> > prioritizing packets on the transmission queue if the ring can grow
> > very long.
>
> I see how this could be an issue. How large can the ring get? I
> imagine on some of the gigabit cards this could be more of an issue
> because there is probably a larger transmit ring on these.
It's an issue even on 100 Mb/s cards if they've negotiated a slow link
rate (10 Mb/s).
> The overhead of prioritizing packets in the transmit ring could
> impede performance though.
Why do you say that?
Dave
--
David Young OJC Technologies
dyoung%ojctech.com@localhost Urbana, IL * (217) 278-3933
Home |
Main Index |
Thread Index |
Old Index