net: Refactor to use NetSendPacket instead of eth_send directly

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@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
master
Joe Hershberger 12 years ago
parent 61da3c2af8
commit adf5d93e44
  1. 5
      include/net.h
  2. 6
      net/arp.c
  3. 2
      net/cdp.c
  4. 9
      net/net.c
  5. 3
      net/ping.c

@ -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

@ -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 */

@ -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;
}

@ -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 */
}
}

@ -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;*/

Loading…
Cancel
Save