summaryrefslogtreecommitdiffstats
path: root/sys/net/if_arp.h
diff options
context:
space:
mode:
authorfjoe <fjoe@FreeBSD.org>2001-10-14 20:17:53 +0000
committerfjoe <fjoe@FreeBSD.org>2001-10-14 20:17:53 +0000
commit8ef8a1b13f436d2f49044e9cab13f39e36047b92 (patch)
tree537998a7e486402b035834f0510ec757a6d5a925 /sys/net/if_arp.h
parente338dc78bdc960ef8f56856b5312ff770d9e773d (diff)
downloadFreeBSD-src-8ef8a1b13f436d2f49044e9cab13f39e36047b92.zip
FreeBSD-src-8ef8a1b13f436d2f49044e9cab13f39e36047b92.tar.gz
bring in ARP support for variable length link level addresses
Reviewed by: jdp Approved by: jdp Obtained from: NetBSD MFC after: 6 weeks
Diffstat (limited to 'sys/net/if_arp.h')
-rw-r--r--sys/net/if_arp.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/net/if_arp.h b/sys/net/if_arp.h
index 6760972..227a7d2 100644
--- a/sys/net/if_arp.h
+++ b/sys/net/if_arp.h
@@ -51,6 +51,7 @@ struct arphdr {
u_short ar_hrd; /* format of hardware address */
#define ARPHRD_ETHER 1 /* ethernet hardware format */
#define ARPHRD_IEEE802 6 /* token-ring hardware format */
+#define ARPHRD_ARCNET 7 /* arcnet hardware format */
#define ARPHRD_FRELAY 15 /* frame relay hardware format */
u_short ar_pro; /* format of protocol address */
u_char ar_hln; /* length of hardware address */
@@ -74,6 +75,15 @@ struct arphdr {
#endif
};
+#define ar_sha(ap) (((caddr_t)((ap)+1)) + 0)
+#define ar_spa(ap) (((caddr_t)((ap)+1)) + (ap)->ar_hln)
+#define ar_tha(ap) (((caddr_t)((ap)+1)) + (ap)->ar_hln + (ap)->ar_pln)
+#define ar_tpa(ap) (((caddr_t)((ap)+1)) + 2*(ap)->ar_hln + (ap)->ar_pln)
+
+#define arphdr_len2(ar_hln, ar_pln) \
+ (sizeof(struct arphdr) + 2*(ar_hln) + 2*(ar_pln))
+#define arphdr_len(ap) (arphdr_len2((ap)->ar_hln, (ap)->ar_pln))
+
/*
* ARP ioctl request
*/
OpenPOWER on IntegriCloud