Provided by: dnsjit_1.2.3-1_amd64 bug

NAME

       dnsjit.filter.ipsplit - Pass objects to receivers based on the source IP address

SYNOPSIS

         local ipsplit = require("dnsjit.filter.ipsplit").new()
         ipsplit.receiver(...)
         ipsplit.receiver(...)
         ipsplit.receiver(...)
         input.receiver(ipsplit)

DESCRIPTION

       The  filter passes objects to other receivers.  Object chains without IPv4/IPv6 packet are
       discarded.  Packets which have the same source IP address are considered to be  sent  from
       the  same  "client".   When  the  first  packet  from a client is processed, the client is
       assigned to a receiver.  All objects from this client  will  be  passed  to  the  assigned
       receiver.   The  filter  can also write a receiver-specific client ID (starting from 1) to
       the source or destination IP in the packet.

   Functions
       IpSplit.new()
              Create a new IpSplit filter.

       IpSplit:log()
              Return the Log object to control logging of this instance or module.

       IpSplit:receive()
              Return the C functions and context for receiving objects.

       IpSplit:receiver(o, weight)
              Set the receiver to pass objects to, this can  be  called  multiple  times  to  set
              additional  receivers.   The weight parameter can be used to adjust distribution of
              clients among receivers.  Weight must be a positive integer (default is 1).

       IpSplit:discarded()
              Number of input packets discarded due to various reasons.  To  investigate  causes,
              run with increased logging level.

       IpSplit:sequential()
              Set  the  client  assignment  mode  to  sequential.   Assigns `weight` clients to a
              receiver before continuing with the next receiver (default mode).

       IpSplit:random(seed)
              Set the client assignment mode to random.  Each client is randomly  assigned  to  a
              receiver  (weight  affects  the probability).  The client assignment is stable (and
              portable) for given seed.

       IpSplit:overwrite_none()
              Don't overwrite source or destination IP (default).

       IpSplit:overwrite_src()
              Write receiver-specific client ID to bytes 0-3 of source IP (host byte order).

       IpSplit:overwrite_dst()
              Write receiver-specific client ID to bytes 0-3 of destination IP (host byte order).

AUTHORS and CONTRIBUTORS

       Jerry Lundström (DNS-OARC), Tomáš Křížek (CZ.NIC), Petr Špaček (ISC)

       Maintained by DNS-OARC

              https://www.dns-oarc.net/

BUGS

       For issues and feature requests please use:

              https://github.com/DNS-OARC/dnsjit/issues

       For question and help please use:

              admin@dns-oarc.net