Provided by: dnsjit_1.3.0-1build2_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

dnsjit                                                1.3.0                             dnsjit.filter.ipsplit(3)