IP FWMARK module for nginx.

This module was designed to allow setting of mark on outgoing packets sent by
nginx. It may be used to implement smart mark-based routing on per-connection
basis.

Configuration directives:

    fwmark  off|<mark_expr>

        Context: http, server, location
        Default: off

        Switches ip fwmark setting and specifies value to use:
        off - disable fwmark
        <mark_expr> - nginx expression evaluatable to unsigned integer used as
            SO_MARK parameter in response. It may also be a statically
            specified integer constant, or a $arg_xxx variable to access the
            desired named parameter of the request

Usage:

    fwmark off;

    location /video/ {
        fwmark $arg_abc;
    }

Note that setting fwmark happens at request start and only if configured, so
keepalive connections may inherit fwmark from previous request.  It is good
idea to explicitly set default fwmark value at server level (or even at http
level if the same listening socket used by more than one server).

If nginx fails to evaluate or set fwmark, or request parameter is absent, an
error message is logged, but the request processing is not terminated. It will
be fulfilled without setting (updating) fwmark.

To use fwmark process shall have CAP_NET_ADMIN effective capability.

To compile nginx with ip fwmark module use "--add-module <path>" option to
nginx configure.
