[IPV6]: Support IPV6_{RECV,}TCLASS socket options / ancillary data.

Based on patch from David L Stevens <dlstevens@us.ibm.com>

Signed-off-by: David L Stevens <dlstevens@us.ibm.com>
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
This commit is contained in:
YOSHIFUJI Hideaki 2005-09-08 10:19:03 +09:00
commit 41a1f8ea4f
11 changed files with 104 additions and 24 deletions

View file

@ -219,9 +219,7 @@ struct in6_flowlabel_req
#define IPV6_DSTOPTS 63
#define IPV6_RECVHOPLIMIT 64
#define IPV6_HOPLIMIT 65
#if 0
#define IPV6_RECVTCLASS 66
#define IPV6_TCLASS 67
#endif
#endif

View file

@ -245,7 +245,8 @@ struct ipv6_pinfo {
ohopopts:1,
dstopts:1,
odstopts:1,
rxflow:1;
rxflow:1,
rxtclass:1;
} bits;
__u16 all;
} rxopt;
@ -256,6 +257,7 @@ struct ipv6_pinfo {
sndflow:1,
pmtudisc:2,
ipv6only:1;
__u8 tclass;
__u32 dst_cookie;
@ -269,6 +271,7 @@ struct ipv6_pinfo {
struct ipv6_txoptions *opt;
struct rt6_info *rt;
int hop_limit;
int tclass;
} cork;
};

View file

@ -377,6 +377,7 @@ extern int ip6_append_data(struct sock *sk,
int length,
int transhdrlen,
int hlimit,
int tclass,
struct ipv6_txoptions *opt,
struct flowi *fl,
struct rt6_info *rt,

View file

@ -37,7 +37,7 @@ extern int datagram_recv_ctl(struct sock *sk,
extern int datagram_send_ctl(struct msghdr *msg,
struct flowi *fl,
struct ipv6_txoptions *opt,
int *hlimit);
int *hlimit, int *tclass);
#define LOOPBACK4_IPV6 __constant_htonl(0x7f000006)