diff options
| author | Gerrit Renker <gerrit@erg.abdn.ac.uk> | 2009-08-09 08:12:48 +0000 | 
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2009-08-13 16:43:31 -0700 | 
| commit | e651f03afe833326faa0abe55948c1c6cfd0b8ac (patch) | |
| tree | 77058921e3842568e885f23b7b6829c628a0051b /net/ipv6 | |
| parent | 9ec04da7489d2c9ae01ea6e9b5fa313ccf3d35fb (diff) | |
| download | olio-linux-3.10-e651f03afe833326faa0abe55948c1c6cfd0b8ac.tar.xz olio-linux-3.10-e651f03afe833326faa0abe55948c1c6cfd0b8ac.zip  | |
inet6: Conversion from u8 to int
This replaces assignments of the type "int on LHS" = "u8 on RHS" with
simpler code. The LHS can express all of the unsigned right hand side
values, hence the assigned value can not be negative.
Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6')
| -rw-r--r-- | net/ipv6/icmp.c | 17 | ||||
| -rw-r--r-- | net/ipv6/ip6_output.c | 15 | ||||
| -rw-r--r-- | net/ipv6/ipv6_sockglue.c | 2 | ||||
| -rw-r--r-- | net/ipv6/raw.c | 5 | ||||
| -rw-r--r-- | net/ipv6/udp.c | 5 | 
5 files changed, 11 insertions, 33 deletions
diff --git a/net/ipv6/icmp.c b/net/ipv6/icmp.c index eab62a7a8f0..e2325f6a05f 100644 --- a/net/ipv6/icmp.c +++ b/net/ipv6/icmp.c @@ -323,7 +323,7 @@ void icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info,  	int iif = 0;  	int addr_type = 0;  	int len; -	int hlimit, tclass; +	int hlimit;  	int err = 0;  	if ((u8 *)hdr < skb->head || @@ -469,10 +469,6 @@ route_done:  	if (hlimit < 0)  		hlimit = ip6_dst_hoplimit(dst); -	tclass = np->tclass; -	if (tclass < 0) -		tclass = 0; -  	msg.skb = skb;  	msg.offset = skb_network_offset(skb);  	msg.type = type; @@ -488,8 +484,8 @@ route_done:  	err = ip6_append_data(sk, icmpv6_getfrag, &msg,  			      len + sizeof(struct icmp6hdr), -			      sizeof(struct icmp6hdr), -			      hlimit, tclass, NULL, &fl, (struct rt6_info*)dst, +			      sizeof(struct icmp6hdr), hlimit, +			      np->tclass, NULL, &fl, (struct rt6_info*)dst,  			      MSG_DONTWAIT);  	if (err) {  		ip6_flush_pending_frames(sk); @@ -522,7 +518,6 @@ static void icmpv6_echo_reply(struct sk_buff *skb)  	struct dst_entry *dst;  	int err = 0;  	int hlimit; -	int tclass;  	saddr = &ipv6_hdr(skb)->daddr; @@ -562,10 +557,6 @@ static void icmpv6_echo_reply(struct sk_buff *skb)  	if (hlimit < 0)  		hlimit = ip6_dst_hoplimit(dst); -	tclass = np->tclass; -	if (tclass < 0) -		tclass = 0; -  	idev = in6_dev_get(skb->dev);  	msg.skb = skb; @@ -573,7 +564,7 @@ static void icmpv6_echo_reply(struct sk_buff *skb)  	msg.type = ICMPV6_ECHO_REPLY;  	err = ip6_append_data(sk, icmpv6_getfrag, &msg, skb->len + sizeof(struct icmp6hdr), -				sizeof(struct icmp6hdr), hlimit, tclass, NULL, &fl, +				sizeof(struct icmp6hdr), hlimit, np->tclass, NULL, &fl,  				(struct rt6_info*)dst, MSG_DONTWAIT);  	if (err) { diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c index 93beee94465..6ad5aadf81a 100644 --- a/net/ipv6/ip6_output.c +++ b/net/ipv6/ip6_output.c @@ -194,7 +194,8 @@ int ip6_xmit(struct sock *sk, struct sk_buff *skb, struct flowi *fl,  	struct ipv6hdr *hdr;  	u8  proto = fl->proto;  	int seg_len = skb->len; -	int hlimit, tclass; +	int hlimit = -1; +	int tclass = 0;  	u32 mtu;  	if (opt) { @@ -237,19 +238,13 @@ int ip6_xmit(struct sock *sk, struct sk_buff *skb, struct flowi *fl,  	/*  	 *	Fill in the IPv6 header  	 */ - -	hlimit = -1; -	if (np) +	if (np) { +		tclass = np->tclass;  		hlimit = np->hop_limit; +	}  	if (hlimit < 0)  		hlimit = ip6_dst_hoplimit(dst); -	tclass = -1; -	if (np) -		tclass = np->tclass; -	if (tclass < 0) -		tclass = 0; -  	*(__be32 *)hdr = htonl(0x60000000 | (tclass << 20)) | fl->fl6_flowlabel;  	hdr->payload_len = htons(seg_len); diff --git a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c index a7fdf9a27f1..c390b1eafb0 100644 --- a/net/ipv6/ipv6_sockglue.c +++ b/net/ipv6/ipv6_sockglue.c @@ -1037,8 +1037,6 @@ static int do_ipv6_getsockopt(struct sock *sk, int level, int optname,  	case IPV6_TCLASS:  		val = np->tclass; -		if (val < 0) -			val = 0;  		break;  	case IPV6_RECVTCLASS: diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c index d6c3c1c34b2..506841030fb 100644 --- a/net/ipv6/raw.c +++ b/net/ipv6/raw.c @@ -877,11 +877,8 @@ static int rawv6_sendmsg(struct kiocb *iocb, struct sock *sk,  			hlimit = ip6_dst_hoplimit(dst);  	} -	if (tclass < 0) { +	if (tclass < 0)  		tclass = np->tclass; -		if (tclass < 0) -			tclass = 0; -	}  	if (msg->msg_flags&MSG_CONFIRM)  		goto do_confirm; diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index d79fa672445..20d2ffc15f0 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c @@ -946,11 +946,8 @@ do_udp_sendmsg:  			hlimit = ip6_dst_hoplimit(dst);  	} -	if (tclass < 0) { +	if (tclass < 0)  		tclass = np->tclass; -		if (tclass < 0) -			tclass = 0; -	}  	if (msg->msg_flags&MSG_CONFIRM)  		goto do_confirm;  |