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