diff options
author | Kyle Evans <kevans@FreeBSD.org> | 2018-02-15 19:49:15 +0000 |
---|---|---|
committer | Kyle Evans <kevans@FreeBSD.org> | 2018-02-15 19:49:15 +0000 |
commit | c5b86c3b7644e22989346cb48fc42a6ea5d508c4 (patch) | |
tree | c7dbd1b1ba3828b8120c4776b9487c259754b4f8 /stand/libsa/arp.c | |
parent | 2ec3d49ea35633132aa8a7d2f6ddac3e8f9060bd (diff) | |
download | src-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.c | 6 |
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; |