[U-Boot] [PATCH v3 07/18] net: Refactor to use NetSendPacket instead of eth_send directly

Joe Hershberger joe.hershberger at ni.com
Wed May 23 19:59:13 CEST 2012


Use this entry-point consistently across the net/ code
Use a static inline function to preserve code size

Signed-off-by: Joe Hershberger <joe.hershberger at ni.com>
Cc: Joe Hershberger <joe.hershberger at gmail.com>
---
Changes for v2:
   - Change NetSendPacket into a static inline
Changes for v3:
   - Rebased onto other changed patches

 include/net.h |    5 ++++-
 net/arp.c     |    6 +++---
 net/cdp.c     |    2 +-
 net/net.c     |    9 +--------
 net/ping.c    |    3 +--
 5 files changed, 10 insertions(+), 15 deletions(-)

diff --git a/include/net.h b/include/net.h
index 128c5ea..3214830 100644
--- a/include/net.h
+++ b/include/net.h
@@ -472,7 +472,10 @@ extern void net_set_icmp_handler(rxhand_icmp_f *f); /* Set ICMP RX handler */
 extern void	NetSetTimeout(ulong, thand_f *);/* Set timeout handler */
 
 /* Transmit "NetTxPacket" */
-extern void NetSendPacket(uchar *, int);
+static inline void NetSendPacket(uchar *pkt, int len)
+{
+	(void) eth_send(pkt, len);
+}
 
 /*
  * Transmit UDP packet, performing ARP request if needed
diff --git a/net/arp.c b/net/arp.c
index e58a074..997c2ab 100644
--- a/net/arp.c
+++ b/net/arp.c
@@ -88,7 +88,7 @@ void ArpRequest(void)
 	}
 
 	NetWriteIP(&arp->ar_tpa, NetArpWaitReplyIP);
-	(void) eth_send(NetTxPacket, eth_hdr_size + ARP_HDR_SIZE);
+	NetSendPacket(NetTxPacket, eth_hdr_size + ARP_HDR_SIZE);
 }
 
 void ArpTimeoutCheck(void)
@@ -165,7 +165,7 @@ void ArpReceive(struct ethernet_hdr *et, struct ip_udp_hdr *ip, int len)
 		NetCopyIP(&arp->ar_tpa, &arp->ar_spa);
 		memcpy(&arp->ar_sha, NetOurEther, ARP_HLEN);
 		NetCopyIP(&arp->ar_spa, &NetOurIP);
-		(void) eth_send((uchar *)et, eth_hdr_size + ARP_HDR_SIZE);
+		NetSendPacket((uchar *)et, eth_hdr_size + ARP_HDR_SIZE);
 		return;
 
 	case ARPOP_REPLY:		/* arp reply */
@@ -198,7 +198,7 @@ void ArpReceive(struct ethernet_hdr *et, struct ip_udp_hdr *ip, int len)
 			/* modify header, and transmit it */
 			memcpy(((struct ethernet_hdr *)NetArpWaitTxPacket)->
 				et_dest, NetArpWaitPacketMAC, ARP_HLEN);
-			(void) eth_send(NetArpWaitTxPacket,
+			NetSendPacket(NetArpWaitTxPacket,
 					NetArpWaitTxPacketSize);
 
 			/* no arp request pending now */
diff --git a/net/cdp.c b/net/cdp.c
index 9bec441..3dab6a1 100644
--- a/net/cdp.c
+++ b/net/cdp.c
@@ -216,7 +216,7 @@ CDPSendTrigger(void)
 		chksum = 0xFFFF;
 	*cp = htons(chksum);
 
-	(void) eth_send(NetTxPacket, (uchar *)s - NetTxPacket);
+	NetSendPacket(NetTxPacket, (uchar *)s - NetTxPacket);
 	return 0;
 }
 
diff --git a/net/net.c b/net/net.c
index b29d372..e5fbda3 100644
--- a/net/net.c
+++ b/net/net.c
@@ -584,13 +584,6 @@ NetSetTimeout(ulong iv, thand_f *f)
 	}
 }
 
-
-void
-NetSendPacket(uchar *pkt, int len)
-{
-	(void) eth_send(pkt, len);
-}
-
 int NetSendUDPPacket(uchar *ether, IPaddr_t dest, int dport, int sport,
 		int payload_len)
 {
@@ -646,7 +639,7 @@ int NetSendUDPPacket(uchar *ether, IPaddr_t dest, int dport, int sport,
 		return 1;	/* waiting */
 	} else {
 		debug("sending UDP to %pI4/%pM\n", &dest, ether);
-		eth_send(NetTxPacket, pkt_hdr_size + payload_len);
+		NetSendPacket(NetTxPacket, pkt_hdr_size + payload_len);
 		return 0;	/* transmitted */
 	}
 }
diff --git a/net/ping.c b/net/ping.c
index 0f4d990..f0026cc 100644
--- a/net/ping.c
+++ b/net/ping.c
@@ -112,8 +112,7 @@ void ping_receive(struct ethernet_hdr *et, struct ip_udp_hdr *ip, int len)
 		icmph->checksum = 0;
 		icmph->checksum = ~NetCksum((uchar *)icmph,
 			(len - IP_HDR_SIZE) >> 1);
-		(void) eth_send((uchar *)et,
-				ETHER_HDR_SIZE + len);
+		NetSendPacket((uchar *)et, ETHER_HDR_SIZE + len);
 		return;
 /*	default:
 		return;*/
-- 
1.6.0.2



More information about the U-Boot mailing list