[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