ipv4: processing ancillary IP_TOS or IP_TTL
authorFrancesco Fusco <ffusco@redhat.com>
Tue, 24 Sep 2013 13:43:09 +0000 (15:43 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sat, 28 Sep 2013 22:21:52 +0000 (15:21 -0700)
If IP_TOS or IP_TTL are specified as ancillary data, then sendmsg() sends out
packets with the specified TTL or TOS overriding the socket values specified
with the traditional setsockopt().

The struct inet_cork stores the values of TOS, TTL and priority that are
passed through the struct ipcm_cookie. If there are user-specified TOS
(tos != -1) or TTL (ttl != 0) in the struct ipcm_cookie, these values are
used to override the per-socket values. In case of TOS also the priority
is changed accordingly.

Two helper functions get_rttos and get_rtconn_flags are defined to take
into account the presence of a user specified TOS value when computing
RT_TOS and RT_CONN_FLAGS.

Signed-off-by: Francesco Fusco <ffusco@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

No differences found