ttl is a linux netfilter kernel module that rewrites either of the:
- Diff Serv ECN field.
- the IP Time To Live (TTL) field or
$ git clone https://github.com/pmcgleenon/ip-ttl
you'll need to install the kernel-devel rpm
$ make clean all
Parameters are described with modinfo ttl.ko:
debug_enabled: Debug mode enabled (int)
ttl_value: new ttl value (5-255) (int)
perc_11: percentage of ECN 11 traffic required (0-100) (int)
perc_10: percentage of ECN 10 traffic required (0-100) (int)
perc_10: percentage of ECN 01 traffic required (0-100) (int)
ecn_enabled: Rewrite ECN IP hdr bits (int)
filter_mode:Behaviour is consistent on 0: Flow Affinity, 1: Source IP Affinity (int)
$ modinfo ttl.ko
you can load the module with no parameters, in which case it will rewrite 100% of the traffic with the IP TTL value set to one less than the current default value (i.e. ttl = ttl - 1):
specify a ttl_value to use this as the TTL; the debug_enabled argument enables debug logs:
modify ECN based on Source IP Affinity on with ECN 11, 10, 01 on 20% of the traffic. ECN 00 will be the remainder (40%)
Copyright (C) 2009-2014 The Apache Software Foundation
Licensed under the Apache License, Version 2.0