aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjoern A. Zeeb <bz@FreeBSD.org>2021-03-23 16:44:56 +0000
committerBjoern A. Zeeb <bz@FreeBSD.org>2021-03-24 22:33:03 +0000
commit3cce818c46f58c0089d34a00478c3b7fa3b57c09 (patch)
tree2ce5cb1c8130ac3942379ba972e185555dcfc187
parent4b0632cfc5c86587668b1d5d2ddc26d445072b03 (diff)
downloadsrc-3cce818c46f58c0089d34a00478c3b7fa3b57c09.tar.gz
src-3cce818c46f58c0089d34a00478c3b7fa3b57c09.zip
LinuxKPI: if_ether additions
Add various protocol IDs found in various wireless drivers. Also add ETH_FRAME_LEN and struct ethhdr. Obtained-from: bz_iwlwifi Sponsored-by: The FreeBSD Foundation MFC-after: 2 weeks Reviewed-by: hselasky Differential Revision: https://reviews.freebsd.org/D29397
-rw-r--r--sys/compat/linuxkpi/common/include/linux/if_ether.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/compat/linuxkpi/common/include/linux/if_ether.h b/sys/compat/linuxkpi/common/include/linux/if_ether.h
index 77e8f1192816..187446c4c591 100644
--- a/sys/compat/linuxkpi/common/include/linux/if_ether.h
+++ b/sys/compat/linuxkpi/common/include/linux/if_ether.h
@@ -39,17 +39,29 @@
#ifndef ETH_ALEN
#define ETH_ALEN ETHER_ADDR_LEN
#endif
+#define ETH_FRAME_LEN (ETHER_MAX_LEN - ETHER_CRC_LEN)
#define ETH_FCS_LEN 4 /* Octets in the FCS */
#define VLAN_HLEN 4 /* The additional bytes (on top of the Ethernet header)
* that VLAN requires. */
/*
* defined Ethernet Protocol ID's.
*/
+#define ETH_P_ARP ETHERTYPE_ARP
#define ETH_P_IP ETHERTYPE_IP
#define ETH_P_IPV6 ETHERTYPE_IPV6
#define ETH_P_MPLS_UC ETHERTYPE_MPLS
#define ETH_P_MPLS_MC ETHERTYPE_MPLS_MCAST
#define ETH_P_8021Q ETHERTYPE_VLAN
#define ETH_P_8021AD ETHERTYPE_QINQ
+#define ETH_P_PAE ETHERTYPE_PAE
+#define ETH_P_802_2 ETHERTYPE_8023
+#define ETH_P_LINK_CTL 0x886C /* ITU-T G.989.2 */
+#define ETH_P_TDLS 0x890D /* 802.11z-2010, see wpa. */
+
+struct ethhdr {
+ uint8_t h_dest[ETH_ALEN];
+ uint8_t h_source[ETH_ALEN];
+ uint16_t h_proto;
+} __packed;
#endif /* _LINUX_IF_ETHER_H_ */