Network transition complete + PF question
Matthew Dillon
dillon at apollo.backplane.com
Wed Apr 2 23:23:40 PDT 2008
The network move is complete.
I have a question for the PF/ALTQ masters out there. I am trying to
configure PF in a manner similar to what Cisco's fair-queue algorithm
does. Cisco's algorithm basically hashes TCP and UDP traffic based
on the port/IP pairs, creating a bunch of lists of backlogged packets
and then schedules the packets at the head of each list.
I am trying to find something equivalent with PF and not having much
luck. Neither CBQ nor HFSC seem to work well. I can separate certain
types of traffic but the real problem is when there are multiple
TCP connections that are essentially classified the same, and one is
hogging the outgoing bandwidth.
So the question is, is there a PF solution for that or do I need to
write a new ALTQ mechanic to implement fair queueing ?
If there is no current solution I have a pretty good idea how to
implement it. I can use PF's 'keep state' mechanism and then hash
the state structure pointer and store it in the packet header, then
implement a new ALTQ that takes that hash code and throws it into an
array of queues from which it fair-dequeues packets for output.
-Matt
More information about the Kernel
mailing list