+#define ETHERTYPE_TRAIL 0x1000 /* Trailer packet */
+#define ETHERTYPE_NTRAILER 16
+
+#define ETHERMTU (ETHER_MAX_LEN-ETHER_HDR_LEN-ETHER_CRC_LEN)
+#define ETHERMIN (ETHER_MIN_LEN-ETHER_HDR_LEN-ETHER_CRC_LEN)
+
+#ifdef KERNEL_PRIVATE
+/*
+ * The following are used by ethernet interfaces.
+ */
+
+struct ether_addr *ether_aton(const char *);
+
+#ifdef BSD_KERNEL_PRIVATE
+extern u_char etherbroadcastaddr[ETHER_ADDR_LEN];
+
+#if defined (__arm__)
+
+#include <string.h>
+
+static __inline__ int
+_ether_cmp(const void * a, const void * b)
+{
+ return memcmp(a, b, ETHER_ADDR_LEN);
+}
+
+#else /* __arm__ */
+
+static __inline__ int
+_ether_cmp(const void * a, const void * b)
+{
+ const u_int16_t * a_s = (const u_int16_t *)a;
+ const u_int16_t * b_s = (const u_int16_t *)b;
+
+ if (a_s[0] != b_s[0]
+ || a_s[1] != b_s[1]
+ || a_s[2] != b_s[2]) {
+ return 1;
+ }
+ return 0;
+}
+
+#endif /* __arm__ */
+#endif /* BSD_KERNEL_PRIVATE */