HomeFreeBSD

+ implement (two lines) the kernel side of 'lookup dscp N' to use the

Description

+ implement (two lines) the kernel side of 'lookup dscp N' to use the

dscp as a search key in table lookups;

+ (re)implement a sysctl variable to control the expire frequency of

pipes and queues when they become empty;

+ add 'queue number' as optional part of the flow_id. This can be

enabled with the command

      queue X config mask queue ...

and makes it possible to support priority-based schedulers, where
packets should be grouped according to the priority and not some
fields in the 5-tuple.
This is implemented as follows:
- redefine a field in the ipfw_flow_id (in sys/netinet/ip_fw.h) but
  without changing the size or shape of the structure, so there are
  no ABI changes. On passing, also document how other fields are
  used, and remove some useless assignments in ip_fw2.c

- implement small changes in the userland code to set/read the field;

- revise the functions in ip_dummynet.c to manipulate masks so they
  also handle the additional field;

There are no ABI changes in this commit.

Details

Provenance
Luigi Rizzo <luigi@FreeBSD.org>Authored on Mar 15 2010, 5:14 PM
Parents
rG510e1af7cb74: Have cpu_throw() loop on blocked_lock as well. This bug has existed
Branches
Unknown
Tags
Unknown

Event Timeline