9#ifndef SQUID_SRC_IP_QOSCONFIG_H
10#define SQUID_SRC_IP_QOSCONFIG_H
20#if HAVE_LIBNETFILTER_CONNTRACK_LIBNETFILTER_CONNTRACK_H
21#include <libnetfilter_conntrack/libnetfilter_conntrack.h>
23#if HAVE_LIBNETFILTER_CONNTRACK_LIBNETFILTER_CONNTRACK_TCP_H
24#include <libnetfilter_conntrack/libnetfilter_conntrack_tcp.h>
void dump_QosConfig(StoreEntry *, const char *directiveName, const Ip::Qos::Config &)
void free_QosConfig(Ip::Qos::Config *)
void parse_QosConfig(Ip::Qos::Config *c)
static char server[MAXLINE]
a netfilter mark/mask pair
nfmark_t markParentHit
Netfilter mark value to apply to hits from parent.
tos_t tosMiss
TOS value to apply to cache misses.
acl_nfmark * nfmarkToClient
The MARK that packets to the client should be marked with, based on ACL.
bool isAclTosActive() const
acl_nfmark * nfConnmarkToClient
The CONNMARK that the client connection should be marked with, based on ACL.
nfmark_t markMiss
Netfilter mark value to apply to cache misses.
tos_t preserveMissTosMask
The mask to apply when preserving the TOS of misses. Applies to preserved value from upstream.
nfmark_t markMissMask
Mask for netfilter mark value to apply to cache misses. Applied to the markMiss value.
bool isHitTosActive() const
Whether we should modify TOS flags based on cache hits and misses.
nfmark_t preserveMissMarkMask
The mask to apply when preserving the netfilter mark of misses. Applied to preserved value from upstr...
bool preserveMissTos
Whether to preserve the TOS value of the inbound packet for misses.
acl_nfmark * nfmarkToServer
The MARK that packets to the web server should be marked with, based on ACL.
acl_tos * tosToClient
The TOS that packets to the client should be marked with, based on ACL.
tos_t tosMissMask
Mask for TOS value to apply to cache misses. Applied to the tosMiss value.
tos_t tosLocalHit
TOS value to apply to local cache hits.
tos_t tosSiblingHit
TOS value to apply to hits from siblings.
nfmark_t markSiblingHit
Netfilter mark value to apply to hits from siblings.
bool isHitNfmarkActive() const
Whether we should modify netfilter marks based on cache hits and misses.
acl_tos * tosToServer
The TOS that packets to the web server should be marked with, based on ACL.
tos_t tosParentHit
TOS value to apply to hits from parent.
nfmark_t markLocalHit
Netfilter mark value to apply to local cache hits.
bool preserveMissMark
Whether to preserve netfilter mark value of inbound connection.
bool isAclNfmarkActive() const
void dumpConfigLine(std::ostream &, const char *) const
report configuration using qos_flows syntax
Ip::NfMarkConfig markConfig
void getTosFromServer(const Comm::ConnectionPointer &server, fde *clientFde)
bool setNfConnmark(Comm::ConnectionPointer &conn, const ConnectionDirection connDir, const NfMarkConfig &cm)
ConnectionDirection
Possible Squid roles in connection handling.
@ dirAccepted
accepted (from a client by Squid)
@ dirOpened
opened (by Squid to an origin server or peer)
int doNfmarkLocalHit(const Comm::ConnectionPointer &conn)
Config TheConfig
Globally available instance of Qos::Config.
int doTosLocalMiss(const Comm::ConnectionPointer &conn, const hier_code hierCode)
int setSockTos(const Comm::ConnectionPointer &conn, tos_t tos)
int doNfmarkLocalMiss(const Comm::ConnectionPointer &conn, const hier_code hierCode)
int doTosLocalHit(const Comm::ConnectionPointer &conn)
int setSockNfmark(const Comm::ConnectionPointer &conn, nfmark_t mark)
nfmark_t getNfConnmark(const Comm::ConnectionPointer &conn, const ConnectionDirection connDir)