[PATCH] IPv6 split-stack support for ICP, HTCP, SNMP

From: Amos Jeffries <squid3_at_treenet.co.nz>
Date: Fri, 16 Mar 2012 00:08:21 +1300

Run-time testing begins this weekend, but it passes build testing and I
fgured it was ready for an audit check. If anyone else wants to assist
testing it that would be welcome. I am proposing this to go into trunk
for squid-3.3.

Split-stack support for ICP, HTCP, SNMP

* Make all *_port directives accept the "[ip|hostname|]:port options"
   format used by http_port.

* Remove incoming/outgoing address directives for UDP.
   Incoming address is now specified on the *_port directive.

NOTE: Outgoing address is no longer possible due to split-stack and
   multiple-port structural changes. Instead use the configured address
   of the first port directive which has matching protocol family as
   outgoing address. This retains the ability to configure different
   listening and sending ports.

ALTERNATIVE (not coded here):
   Could also make the udp_outgoing_address directive mirror the ACL
   driven style of tcp_outgoing_address. I did not do this (yet) since I
figure
   that is slower than the current scan for first-usabe address.

* Added DNS incomgin/outgoing address directives since DNS is not
included in these
   port changes.

* Restructure ModPoll, ModSelect to use new list of ports instead
   of a fixed-size global array.

NOTE: It appears that HTTPS and HTCP were only checked once per I/O
   loop iteration but HTTP and ICP had optimizations to increase their
   receive rates.

* added HTCP and HTTPS alongside ICP and HTTP special interval
   select loop handling. This should bring all listening port protocols into
   parity with their accept()/recvmsg() priority again.

* rename ICP/HTTP incoming_*, *_average and *_poll directives as
   UDP and TCP since ICP now includes HTCP, and HTTP now includes TCP.
   Also duplicated documentation for several of them.

FUTURE WORK:
* comm/ModSelectWin32 needs re-sync with comm/ModSelect

* remove NHttpSockets limit and HttpSockets[] global array.

Amos

Received on Thu Mar 15 2012 - 11:08:33 MDT

This archive was generated by hypermail 2.2.0 : Tue Mar 20 2012 - 12:00:07 MDT