aboutsummaryrefslogtreecommitdiff
path: root/stand/libsa/arp.c
diff options
context:
space:
mode:
authorKyle Evans <kevans@FreeBSD.org>2018-02-15 19:49:15 +0000
committerKyle Evans <kevans@FreeBSD.org>2018-02-15 19:49:15 +0000
commitc5b86c3b7644e22989346cb48fc42a6ea5d508c4 (patch)
treec7dbd1b1ba3828b8120c4776b9487c259754b4f8 /stand/libsa/arp.c
parent2ec3d49ea35633132aa8a7d2f6ddac3e8f9060bd (diff)
downloadsrc-c5b86c3b7644e22989346cb48fc42a6ea5d508c4.tar.gz
src-c5b86c3b7644e22989346cb48fc42a6ea5d508c4.zip
libsa: Consolidate tftp sendrecv into net.c sendrecv
bootp/arp/rarp/rpc all use the sendrecv implementation in net.c. tftp has its own implementation because it passes an extra parameter into the recv callback for the received payload type to be held. These sendrecv implementations are otherwise equivalent, so consolidate them. The other users of sendrecv won't be using the extra argument to recv, but this gives us only one place to worry about respecting timeouts and one consistent timeout behavior. Tested by: sbruno Reviewed by: sbruno, tsoome MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D14373
Notes
Notes: svn path=/head/; revision=329339
Diffstat (limited to 'stand/libsa/arp.c')
-rw-r--r--stand/libsa/arp.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/stand/libsa/arp.c b/stand/libsa/arp.c
index 841010c3195c..bcc697a2f97d 100644
--- a/stand/libsa/arp.c
+++ b/stand/libsa/arp.c
@@ -65,7 +65,7 @@ int arp_num = 1;
/* Local forwards */
static ssize_t arpsend(struct iodesc *, void *, size_t);
-static ssize_t arprecv(struct iodesc *, void **, void **, time_t);
+static ssize_t arprecv(struct iodesc *, void **, void **, time_t, void *);
/* Broadcast an ARP packet, asking who has addr on interface d */
u_char *
@@ -118,7 +118,7 @@ arpwhohas(struct iodesc *d, struct in_addr addr)
ah = NULL;
i = sendrecv(d,
arpsend, &wbuf.data, sizeof(wbuf.data),
- arprecv, &pkt, (void **)&ah);
+ arprecv, &pkt, (void **)&ah, NULL);
if (i == -1) {
panic("arp: no response for %s\n",
inet_ntoa(addr));
@@ -160,7 +160,7 @@ arpsend(struct iodesc *d, void *pkt, size_t len)
* else -1 (and errno == 0)
*/
static ssize_t
-arprecv(struct iodesc *d, void **pkt, void **payload, time_t tleft)
+arprecv(struct iodesc *d, void **pkt, void **payload, time_t tleft, void *extra)
{
ssize_t n;
struct ether_arp *ah;