On 11/05/2012 1:55 a.m., Chris Ross wrote:
On 03/29/2012 08:45 PM, Robert Collins wrote:
2012/3/30 Henrik Nordström<[email protected]>:
Can tcp_outgoing_address take multiple addresses now? Does it just round-robin through them?

It can only select one per request at the moment.

Thats probably something we should fix. For now though an external ACL
could deliver round robin answers, one per request - and it could look
a tthe log file to learn about size of objects/ estimate bandwidth
etc.

  Reviving this old question again.  So, I understand that I can
make external ACLs, and from looking at the config documentation,
I suspect I can have a single external_acl_type definition, and
invoke the same class for N "acl external" lines.

  To be more clear about my needs, I'm not really looking to have
two or three external IP addresses.  I want to have *lots*.  If I
have a host with 20, or 100, external addresses, and write an
external ACL helper to figure out (based on client IP, username,
server, or whatever) which IP to assign; I'd have to write 100
ACL definitions, then 100 tcp_outgoing_address lines, each one
passing the right parameters to determine whether the suggested
IP address was the "right" one.  While I suppose this could work,
it would require the external ACL helper be queried 100 times,
which just *can't* be fast.

Quite. So instead you implement *one* external helper lookup and it returns a tag=value. for example; the IP you want to assign. Then you have your 100 ACLs of type "tag" just testing the string tag value received from that one helper lookup.

Amos

Reply via email to