Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bb4dbf9e authored by YOSHIFUJI Hideaki's avatar YOSHIFUJI Hideaki Committed by David S. Miller
Browse files

[IPV6]: Do not send RH0 anymore.



Based on <draft-ietf-ipv6-deprecate-rh0-00.txt>.

Signed-off-by: default avatarYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c382bb9d
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -874,8 +874,7 @@ accept_redirects - BOOLEAN
accept_source_route - INTEGER
	Accept source routing (routing extension header).

	> 0: Accept routing header.
	= 0: Accept only routing header type 2.
	>= 0: Accept only routing header type 2.
	< 0: Do not accept routing header.

	Default: 0
+2 −2
Original line number Diff line number Diff line
@@ -27,8 +27,8 @@ struct in6_ifreq {
	int		ifr6_ifindex; 
};

#define IPV6_SRCRT_STRICT	0x01	/* this hop must be a neighbor	*/
#define IPV6_SRCRT_TYPE_0	0	/* IPv6 type 0 Routing Header	*/
#define IPV6_SRCRT_STRICT	0x01	/* Deprecated; will be removed */
#define IPV6_SRCRT_TYPE_0	0	/* Deprecated; will be removed */
#define IPV6_SRCRT_TYPE_2	2	/* IPv6 type 2 Routing Header	*/

/*
+0 −4
Original line number Diff line number Diff line
@@ -512,10 +512,6 @@ extern int ipv6_ext_hdr(u8 nexthdr);

extern int ipv6_find_tlv(struct sk_buff *skb, int offset, int type);

extern struct ipv6_txoptions *	ipv6_invert_rthdr(struct sock *sk,
						  struct ipv6_rt_hdr *hdr);


/*
 *	socket options (ipv6_sockglue.c)
 */
+0 −20
Original line number Diff line number Diff line
@@ -253,17 +253,6 @@ static int dccp_v6_send_response(struct sock *sk, struct request_sock *req,

	if (dst == NULL) {
		opt = np->opt;
		if (opt == NULL &&
		    np->rxopt.bits.osrcrt == 2 &&
		    ireq6->pktopts) {
			struct sk_buff *pktopts = ireq6->pktopts;
			struct inet6_skb_parm *rxopt = IP6CB(pktopts);

			if (rxopt->srcrt)
				opt = ipv6_invert_rthdr(sk,
			  (struct ipv6_rt_hdr *)(skb_network_header(pktopts) +
						 rxopt->srcrt));
		}

		if (opt != NULL && opt->srcrt != NULL) {
			const struct rt0_hdr *rt0 = (struct rt0_hdr *)opt->srcrt;
@@ -570,15 +559,6 @@ static struct sock *dccp_v6_request_recv_sock(struct sock *sk,
	if (sk_acceptq_is_full(sk))
		goto out_overflow;

	if (np->rxopt.bits.osrcrt == 2 && opt == NULL && ireq6->pktopts) {
		const struct inet6_skb_parm *rxopt = IP6CB(ireq6->pktopts);

		if (rxopt->srcrt)
			opt = ipv6_invert_rthdr(sk,
		   (struct ipv6_rt_hdr *)(skb_network_header(ireq6->pktopts) +
					  rxopt->srcrt));
	}

	if (dst == NULL) {
		struct in6_addr *final_p = NULL, final;
		struct flowi fl;
+1 −2
Original line number Diff line number Diff line
@@ -657,11 +657,10 @@ int datagram_send_ctl(struct msghdr *msg, struct flowi *fl,
			rthdr = (struct ipv6_rt_hdr *)CMSG_DATA(cmsg);

			switch (rthdr->type) {
			case IPV6_SRCRT_TYPE_0:
#if defined(CONFIG_IPV6_MIP6) || defined(CONFIG_IPV6_MIP6_MODULE)
			case IPV6_SRCRT_TYPE_2:
#endif
				break;
#endif
			default:
				err = -EINVAL;
				goto exit_f;
Loading