All of lore.kernel.org
 help / color / mirror / Atom feed
From: Piet Delaney <piet.delaney@tensilica.com>
To: Arnaldo Carvalho de Melo <acme@redhat.com>, netdev@vger.kernel.org
Cc: "David S. Miller" <davem@davemloft.net>,
	"Rémi Denis-Courmont" <remi.denis-courmont@nokia.com>
Subject: Re: [PATCH]: net: Use hton[sl]() was Re: [PATCH 10/14] Phonet: Phonet datagram transport protocol
Date: Fri, 14 Nov 2008 00:32:51 -0800	[thread overview]
Message-ID: <491D37B3.10604@tensilica.com> (raw)
In-Reply-To: <20080919152448.GB29403@ghostprotocols.net>

Arnaldo Carvalho de Melo wrote:
> Em Fri, Sep 19, 2008 at 09:33:33AM +0300, Rémi Denis-Courmont escreveu:
>> On Tuesday 16 September 2008 20:06:44 ext Arnaldo Carvalho de Melo, you wrote:
>>>> +	ph->robj = pn_obj(dst);
>>>> +	ph->sobj = pn_obj(src);
>>>> +
>>>> +	skb->protocol = __constant_htons(ETH_P_PHONET);
>>> No need for __constant_htons(CONSTANT), htons will do the right thing
>>> and the code will be shorter, clearer.
>> Ok. There are quite many of these in net/ though... is that reserved for 
>> switch/case only?
> 
> Nope, they should only be used when initializing static variables.

I see more downside with this patch with it's preventing the kernel
from being compiled -O0 when using kgdb or looking at KEXEC/KDUMP
core files with gdb.

-piet


> 
> David, the following patch converts what is in net-next-2.6 net/ now:
> 
> 
> commit 8e64a880d1f8a3df44648e0109f22a22322acc56
> Author: Arnaldo Carvalho de Melo <acme@redhat.com>
> Date:   Fri Sep 19 11:34:45 2008 -0300
> 
>     net: Use hton[sl]() instead of __constant_hton[sl]() where applicable
>     
>     Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c
> index 97688cd..8883e9c 100644
> --- a/net/8021q/vlan_dev.c
> +++ b/net/8021q/vlan_dev.c
> @@ -48,7 +48,7 @@ static int vlan_dev_rebuild_header(struct sk_buff *skb)
>  
>  	switch (veth->h_vlan_encapsulated_proto) {
>  #ifdef CONFIG_INET
> -	case __constant_htons(ETH_P_IP):
> +	case htons(ETH_P_IP):
>  
>  		/* TODO:  Confirm this will work with VLAN headers... */
>  		return arp_find(veth->h_dest, skb);
> diff --git a/net/atm/br2684.c b/net/atm/br2684.c
> index 8d9a6f1..280de48 100644
> --- a/net/atm/br2684.c
> +++ b/net/atm/br2684.c
> @@ -375,11 +375,11 @@ static void br2684_push(struct atm_vcc *atmvcc, struct sk_buff *skb)
>  			if (memcmp
>  			    (skb->data + 6, ethertype_ipv6,
>  			     sizeof(ethertype_ipv6)) == 0)
> -				skb->protocol = __constant_htons(ETH_P_IPV6);
> +				skb->protocol = htons(ETH_P_IPV6);
>  			else if (memcmp
>  				 (skb->data + 6, ethertype_ipv4,
>  				  sizeof(ethertype_ipv4)) == 0)
> -				skb->protocol = __constant_htons(ETH_P_IP);
> +				skb->protocol = htons(ETH_P_IP);
>  			else
>  				goto error;
>  			skb_pull(skb, sizeof(llc_oui_ipv4));
> @@ -404,9 +404,9 @@ static void br2684_push(struct atm_vcc *atmvcc, struct sk_buff *skb)
>  			skb_reset_network_header(skb);
>  			iph = ip_hdr(skb);
>  			if (iph->version == 4)
> -				skb->protocol = __constant_htons(ETH_P_IP);
> +				skb->protocol = htons(ETH_P_IP);
>  			else if (iph->version == 6)
> -				skb->protocol = __constant_htons(ETH_P_IPV6);
> +				skb->protocol = htons(ETH_P_IPV6);
>  			else
>  				goto error;
>  			skb->pkt_type = PACKET_HOST;
> diff --git a/net/core/dev.c b/net/core/dev.c
> index f48d1b2..fdfc4b6 100644
> --- a/net/core/dev.c
> +++ b/net/core/dev.c
> @@ -1675,13 +1675,13 @@ static u16 simple_tx_hash(struct net_device *dev, struct sk_buff *skb)
>  	}
>  
>  	switch (skb->protocol) {
> -	case __constant_htons(ETH_P_IP):
> +	case htons(ETH_P_IP):
>  		ip_proto = ip_hdr(skb)->protocol;
>  		addr1 = ip_hdr(skb)->saddr;
>  		addr2 = ip_hdr(skb)->daddr;
>  		ihl = ip_hdr(skb)->ihl;
>  		break;
> -	case __constant_htons(ETH_P_IPV6):
> +	case htons(ETH_P_IPV6):
>  		ip_proto = ipv6_hdr(skb)->nexthdr;
>  		addr1 = ipv6_hdr(skb)->saddr.s6_addr32[3];
>  		addr2 = ipv6_hdr(skb)->daddr.s6_addr32[3];
> diff --git a/net/ethernet/eth.c b/net/ethernet/eth.c
> index a80839b..647a9ed 100644
> --- a/net/ethernet/eth.c
> +++ b/net/ethernet/eth.c
> @@ -129,7 +129,7 @@ int eth_rebuild_header(struct sk_buff *skb)
>  
>  	switch (eth->h_proto) {
>  #ifdef CONFIG_INET
> -	case __constant_htons(ETH_P_IP):
> +	case htons(ETH_P_IP):
>  		return arp_find(eth->h_dest, skb);
>  #endif
>  	default:
> diff --git a/net/ipv4/ipvs/ip_vs_core.c b/net/ipv4/ipvs/ip_vs_core.c
> index ece748d..958abf3 100644
> --- a/net/ipv4/ipvs/ip_vs_core.c
> +++ b/net/ipv4/ipvs/ip_vs_core.c
> @@ -938,7 +938,7 @@ ip_vs_out(unsigned int hooknum, struct sk_buff *skb,
>  
>  	EnterFunction(11);
>  
> -	af = (skb->protocol == __constant_htons(ETH_P_IP)) ? AF_INET : AF_INET6;
> +	af = (skb->protocol == htons(ETH_P_IP)) ? AF_INET : AF_INET6;
>  
>  	if (skb->ipvs_property)
>  		return NF_ACCEPT;
> @@ -1258,7 +1258,7 @@ ip_vs_in(unsigned int hooknum, struct sk_buff *skb,
>  	struct ip_vs_conn *cp;
>  	int ret, restart, af;
>  
> -	af = (skb->protocol == __constant_htons(ETH_P_IP)) ? AF_INET : AF_INET6;
> +	af = (skb->protocol == htons(ETH_P_IP)) ? AF_INET : AF_INET6;
>  
>  	ip_vs_fill_iphdr(af, skb_network_header(skb), &iph);
>  
> diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c
> index 17c7b09..64ce3d3 100644
> --- a/net/ipv6/ip6_tunnel.c
> +++ b/net/ipv6/ip6_tunnel.c
> @@ -1050,10 +1050,10 @@ ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev)
>  	}
>  
>  	switch (skb->protocol) {
> -	case __constant_htons(ETH_P_IP):
> +	case htons(ETH_P_IP):
>  		ret = ip4ip6_tnl_xmit(skb, dev);
>  		break;
> -	case __constant_htons(ETH_P_IPV6):
> +	case htons(ETH_P_IPV6):
>  		ret = ip6ip6_tnl_xmit(skb, dev);
>  		break;
>  	default:
> diff --git a/net/mac80211/wme.c b/net/mac80211/wme.c
> index 7229e95..5966b9f 100644
> --- a/net/mac80211/wme.c
> +++ b/net/mac80211/wme.c
> @@ -39,7 +39,7 @@ static unsigned int classify_1d(struct sk_buff *skb)
>  		return skb->priority - 256;
>  
>  	switch (skb->protocol) {
> -	case __constant_htons(ETH_P_IP):
> +	case htons(ETH_P_IP):
>  		dscp = ip_hdr(skb)->tos & 0xfc;
>  		break;
>  
> diff --git a/net/sched/cls_flow.c b/net/sched/cls_flow.c
> index 8f63a1a..0ebaff6 100644
> --- a/net/sched/cls_flow.c
> +++ b/net/sched/cls_flow.c
> @@ -67,9 +67,9 @@ static inline u32 addr_fold(void *addr)
>  static u32 flow_get_src(const struct sk_buff *skb)
>  {
>  	switch (skb->protocol) {
> -	case __constant_htons(ETH_P_IP):
> +	case htons(ETH_P_IP):
>  		return ntohl(ip_hdr(skb)->saddr);
> -	case __constant_htons(ETH_P_IPV6):
> +	case htons(ETH_P_IPV6):
>  		return ntohl(ipv6_hdr(skb)->saddr.s6_addr32[3]);
>  	default:
>  		return addr_fold(skb->sk);
> @@ -79,9 +79,9 @@ static u32 flow_get_src(const struct sk_buff *skb)
>  static u32 flow_get_dst(const struct sk_buff *skb)
>  {
>  	switch (skb->protocol) {
> -	case __constant_htons(ETH_P_IP):
> +	case htons(ETH_P_IP):
>  		return ntohl(ip_hdr(skb)->daddr);
> -	case __constant_htons(ETH_P_IPV6):
> +	case htons(ETH_P_IPV6):
>  		return ntohl(ipv6_hdr(skb)->daddr.s6_addr32[3]);
>  	default:
>  		return addr_fold(skb->dst) ^ (__force u16)skb->protocol;
> @@ -91,9 +91,9 @@ static u32 flow_get_dst(const struct sk_buff *skb)
>  static u32 flow_get_proto(const struct sk_buff *skb)
>  {
>  	switch (skb->protocol) {
> -	case __constant_htons(ETH_P_IP):
> +	case htons(ETH_P_IP):
>  		return ip_hdr(skb)->protocol;
> -	case __constant_htons(ETH_P_IPV6):
> +	case htons(ETH_P_IPV6):
>  		return ipv6_hdr(skb)->nexthdr;
>  	default:
>  		return 0;
> @@ -120,7 +120,7 @@ static u32 flow_get_proto_src(const struct sk_buff *skb)
>  	u32 res = 0;
>  
>  	switch (skb->protocol) {
> -	case __constant_htons(ETH_P_IP): {
> +	case htons(ETH_P_IP): {
>  		struct iphdr *iph = ip_hdr(skb);
>  
>  		if (!(iph->frag_off&htons(IP_MF|IP_OFFSET)) &&
> @@ -128,7 +128,7 @@ static u32 flow_get_proto_src(const struct sk_buff *skb)
>  			res = ntohs(*(__be16 *)((void *)iph + iph->ihl * 4));
>  		break;
>  	}
> -	case __constant_htons(ETH_P_IPV6): {
> +	case htons(ETH_P_IPV6): {
>  		struct ipv6hdr *iph = ipv6_hdr(skb);
>  
>  		if (has_ports(iph->nexthdr))
> @@ -147,7 +147,7 @@ static u32 flow_get_proto_dst(const struct sk_buff *skb)
>  	u32 res = 0;
>  
>  	switch (skb->protocol) {
> -	case __constant_htons(ETH_P_IP): {
> +	case htons(ETH_P_IP): {
>  		struct iphdr *iph = ip_hdr(skb);
>  
>  		if (!(iph->frag_off&htons(IP_MF|IP_OFFSET)) &&
> @@ -155,7 +155,7 @@ static u32 flow_get_proto_dst(const struct sk_buff *skb)
>  			res = ntohs(*(__be16 *)((void *)iph + iph->ihl * 4 + 2));
>  		break;
>  	}
> -	case __constant_htons(ETH_P_IPV6): {
> +	case htons(ETH_P_IPV6): {
>  		struct ipv6hdr *iph = ipv6_hdr(skb);
>  
>  		if (has_ports(iph->nexthdr))
> @@ -213,9 +213,9 @@ static u32 flow_get_nfct(const struct sk_buff *skb)
>  static u32 flow_get_nfct_src(const struct sk_buff *skb)
>  {
>  	switch (skb->protocol) {
> -	case __constant_htons(ETH_P_IP):
> +	case htons(ETH_P_IP):
>  		return ntohl(CTTUPLE(skb, src.u3.ip));
> -	case __constant_htons(ETH_P_IPV6):
> +	case htons(ETH_P_IPV6):
>  		return ntohl(CTTUPLE(skb, src.u3.ip6[3]));
>  	}
>  fallback:
> @@ -225,9 +225,9 @@ fallback:
>  static u32 flow_get_nfct_dst(const struct sk_buff *skb)
>  {
>  	switch (skb->protocol) {
> -	case __constant_htons(ETH_P_IP):
> +	case htons(ETH_P_IP):
>  		return ntohl(CTTUPLE(skb, dst.u3.ip));
> -	case __constant_htons(ETH_P_IPV6):
> +	case htons(ETH_P_IPV6):
>  		return ntohl(CTTUPLE(skb, dst.u3.ip6[3]));
>  	}
>  fallback:
> diff --git a/net/sched/sch_dsmark.c b/net/sched/sch_dsmark.c
> index edd1298..ba43aab 100644
> --- a/net/sched/sch_dsmark.c
> +++ b/net/sched/sch_dsmark.c
> @@ -202,7 +202,7 @@ static int dsmark_enqueue(struct sk_buff *skb, struct Qdisc *sch)
>  
>  	if (p->set_tc_index) {
>  		switch (skb->protocol) {
> -		case __constant_htons(ETH_P_IP):
> +		case htons(ETH_P_IP):
>  			if (skb_cow_head(skb, sizeof(struct iphdr)))
>  				goto drop;
>  
> @@ -210,7 +210,7 @@ static int dsmark_enqueue(struct sk_buff *skb, struct Qdisc *sch)
>  				& ~INET_ECN_MASK;
>  			break;
>  
> -		case __constant_htons(ETH_P_IPV6):
> +		case htons(ETH_P_IPV6):
>  			if (skb_cow_head(skb, sizeof(struct ipv6hdr)))
>  				goto drop;
>  
> @@ -289,11 +289,11 @@ static struct sk_buff *dsmark_dequeue(struct Qdisc *sch)
>  	pr_debug("index %d->%d\n", skb->tc_index, index);
>  
>  	switch (skb->protocol) {
> -	case __constant_htons(ETH_P_IP):
> +	case htons(ETH_P_IP):
>  		ipv4_change_dsfield(ip_hdr(skb), p->mask[index],
>  				    p->value[index]);
>  			break;
> -	case __constant_htons(ETH_P_IPV6):
> +	case htons(ETH_P_IPV6):
>  		ipv6_change_dsfield(ipv6_hdr(skb), p->mask[index],
>  				    p->value[index]);
>  			break;
> diff --git a/net/sched/sch_sfq.c b/net/sched/sch_sfq.c
> index 6e041d1..fe1508e 100644
> --- a/net/sched/sch_sfq.c
> +++ b/net/sched/sch_sfq.c
> @@ -119,7 +119,7 @@ static unsigned sfq_hash(struct sfq_sched_data *q, struct sk_buff *skb)
>  	u32 h, h2;
>  
>  	switch (skb->protocol) {
> -	case __constant_htons(ETH_P_IP):
> +	case htons(ETH_P_IP):
>  	{
>  		const struct iphdr *iph = ip_hdr(skb);
>  		h = iph->daddr;
> @@ -134,7 +134,7 @@ static unsigned sfq_hash(struct sfq_sched_data *q, struct sk_buff *skb)
>  			h2 ^= *(((u32*)iph) + iph->ihl);
>  		break;
>  	}
> -	case __constant_htons(ETH_P_IPV6):
> +	case htons(ETH_P_IPV6):
>  	{
>  		struct ipv6hdr *iph = ipv6_hdr(skb);
>  		h = iph->daddr.s6_addr32[3];
> diff --git a/net/sunrpc/xprtrdma/rpc_rdma.c b/net/sunrpc/xprtrdma/rpc_rdma.c
> index e55427f..5c1954d 100644
> --- a/net/sunrpc/xprtrdma/rpc_rdma.c
> +++ b/net/sunrpc/xprtrdma/rpc_rdma.c
> @@ -769,7 +769,7 @@ repost:
>  	/* check for expected message types */
>  	/* The order of some of these tests is important. */
>  	switch (headerp->rm_type) {
> -	case __constant_htonl(RDMA_MSG):
> +	case htonl(RDMA_MSG):
>  		/* never expect read chunks */
>  		/* never expect reply chunks (two ways to check) */
>  		/* never expect write chunks without having offered RDMA */
> @@ -802,7 +802,7 @@ repost:
>  		rpcrdma_inline_fixup(rqst, (char *)iptr, rep->rr_len);
>  		break;
>  
> -	case __constant_htonl(RDMA_NOMSG):
> +	case htonl(RDMA_NOMSG):
>  		/* never expect read or write chunks, always reply chunks */
>  		if (headerp->rm_body.rm_chunks[0] != xdr_zero ||
>  		    headerp->rm_body.rm_chunks[1] != xdr_zero ||
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 

  parent reply	other threads:[~2008-11-14  9:27 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-16 14:57 [PATCH 00/14] [RFC] Phonet protocol stack Rémi Denis-Courmont
2008-09-16 15:08 ` [PATCH 01/14] Phonet global definitions Rémi Denis-Courmont
2008-09-17  4:31   ` Simon Horman
2008-09-17 11:05     ` Rémi Denis-Courmont
2008-09-16 15:08 ` [PATCH 02/14] Phonet: add CONFIG_PHONET Rémi Denis-Courmont
2008-09-16 16:06   ` Arnaldo Carvalho de Melo
2008-09-16 15:08 ` [PATCH 03/14] Phonet: build the net/phonet/ directory Rémi Denis-Courmont
2008-09-16 16:06   ` Arnaldo Carvalho de Melo
2008-09-17  4:52     ` Simon Horman
2008-09-17  8:44       ` Rémi Denis-Courmont
2008-09-16 15:08 ` [PATCH 04/14] Phonet: PF_PHONET protocol family support Rémi Denis-Courmont
2008-09-16 16:17   ` Arnaldo Carvalho de Melo
2008-09-17 10:48     ` Rémi Denis-Courmont
2008-09-16 15:08 ` [PATCH 05/14] Phonet: network device and address handling Rémi Denis-Courmont
2008-09-16 16:41   ` Arnaldo Carvalho de Melo
2008-09-16 15:08 ` [PATCH 06/14] Phonet: Netlink interface Rémi Denis-Courmont
2008-09-16 15:08 ` [PATCH 07/14] Phonet: common socket glue Rémi Denis-Courmont
2008-09-16 16:50   ` Arnaldo Carvalho de Melo
2008-09-16 15:08 ` [PATCH 08/14] Phonet: receive path socket lookup Rémi Denis-Courmont
2008-09-16 16:52   ` Arnaldo Carvalho de Melo
2008-09-19  6:20     ` Rémi Denis-Courmont
2008-09-16 15:08 ` [PATCH 09/14] Phonet: allocate and initialize new sockets Rémi Denis-Courmont
2008-09-16 16:53   ` Arnaldo Carvalho de Melo
2008-09-16 18:42   ` Pavel Emelyanov
2008-09-17  8:30     ` Rémi Denis-Courmont
2008-09-19 10:14       ` Pavel Emelyanov
2008-09-16 15:08 ` [PATCH 10/14] Phonet: Phonet datagram transport protocol Rémi Denis-Courmont
2008-09-16 17:06   ` Arnaldo Carvalho de Melo
2008-09-19  6:33     ` Rémi Denis-Courmont
2008-09-19 15:24       ` [PATCH]: net: Use hton[sl]() was " Arnaldo Carvalho de Melo
2008-09-21  5:21         ` David Miller
2008-11-14  8:32         ` Piet Delaney [this message]
2008-09-16 15:08 ` [PATCH 11/14] Phonet: provide MAC header operations Rémi Denis-Courmont
2008-09-16 15:08 ` [PATCH 12/14] Phonet: proc interface for port range Rémi Denis-Courmont
2008-09-16 15:08 ` [PATCH 13/14] Phonet: emit errors when a packet cannot be delivered locally Rémi Denis-Courmont
2008-09-16 17:11   ` Arnaldo Carvalho de Melo
2008-09-16 15:08 ` [PATCH 14/14] Phonet: kernel documentation Rémi Denis-Courmont
2008-09-16 20:09 ` [PATCH 00/14] [RFC] Phonet protocol stack Marcel Holtmann
2008-09-17 13:52   ` Rémi Denis-Courmont
2008-09-17  4:15 ` Dan Williams
2008-09-19  7:25   ` Rémi Denis-Courmont

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=491D37B3.10604@tensilica.com \
    --to=piet.delaney@tensilica.com \
    --cc=acme@redhat.com \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.org \
    --cc=remi.denis-courmont@nokia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.