blob: dd2dedb413885972ad25c1c4bcaf8dd095855551 [file] [log] [blame]
Ben Cheng655a7c02013-10-16 16:09:24 -07001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _UAPI_LINUX_IF_ETHER_H
20#define _UAPI_LINUX_IF_ETHER_H
21#include <linux/types.h>
22#define ETH_ALEN 6
Christopher Ferris76a1d452018-06-27 14:12:29 -070023#define ETH_TLEN 2
Ben Cheng655a7c02013-10-16 16:09:24 -070024#define ETH_HLEN 14
25#define ETH_ZLEN 60
26#define ETH_DATA_LEN 1500
27#define ETH_FRAME_LEN 1514
Ben Cheng655a7c02013-10-16 16:09:24 -070028#define ETH_FCS_LEN 4
Christopher Ferris48af7cb2017-02-21 12:35:09 -080029#define ETH_MIN_MTU 68
30#define ETH_MAX_MTU 0xFFFFU
Ben Cheng655a7c02013-10-16 16:09:24 -070031#define ETH_P_LOOP 0x0060
32#define ETH_P_PUP 0x0200
33#define ETH_P_PUPAT 0x0201
Christopher Ferris05d08e92016-02-04 13:16:38 -080034#define ETH_P_TSN 0x22F0
Christopher Ferris76a1d452018-06-27 14:12:29 -070035#define ETH_P_ERSPAN2 0x22EB
Ben Cheng655a7c02013-10-16 16:09:24 -070036#define ETH_P_IP 0x0800
37#define ETH_P_X25 0x0805
38#define ETH_P_ARP 0x0806
Christopher Ferris05d08e92016-02-04 13:16:38 -080039#define ETH_P_BPQ 0x08FF
Ben Cheng655a7c02013-10-16 16:09:24 -070040#define ETH_P_IEEEPUP 0x0a00
41#define ETH_P_IEEEPUPAT 0x0a01
42#define ETH_P_BATMAN 0x4305
Christopher Ferris05d08e92016-02-04 13:16:38 -080043#define ETH_P_DEC 0x6000
Ben Cheng655a7c02013-10-16 16:09:24 -070044#define ETH_P_DNA_DL 0x6001
45#define ETH_P_DNA_RC 0x6002
46#define ETH_P_DNA_RT 0x6003
Christopher Ferris05d08e92016-02-04 13:16:38 -080047#define ETH_P_LAT 0x6004
Ben Cheng655a7c02013-10-16 16:09:24 -070048#define ETH_P_DIAG 0x6005
49#define ETH_P_CUST 0x6006
50#define ETH_P_SCA 0x6007
Christopher Ferris05d08e92016-02-04 13:16:38 -080051#define ETH_P_TEB 0x6558
Ben Cheng655a7c02013-10-16 16:09:24 -070052#define ETH_P_RARP 0x8035
53#define ETH_P_ATALK 0x809B
54#define ETH_P_AARP 0x80F3
Christopher Ferris05d08e92016-02-04 13:16:38 -080055#define ETH_P_8021Q 0x8100
Christopher Ferris1308ad32017-11-14 17:32:13 -080056#define ETH_P_ERSPAN 0x88BE
Ben Cheng655a7c02013-10-16 16:09:24 -070057#define ETH_P_IPX 0x8137
58#define ETH_P_IPV6 0x86DD
59#define ETH_P_PAUSE 0x8808
Christopher Ferris05d08e92016-02-04 13:16:38 -080060#define ETH_P_SLOW 0x8809
Ben Cheng655a7c02013-10-16 16:09:24 -070061#define ETH_P_WCCP 0x883E
Ben Cheng655a7c02013-10-16 16:09:24 -070062#define ETH_P_MPLS_UC 0x8847
Ben Cheng655a7c02013-10-16 16:09:24 -070063#define ETH_P_MPLS_MC 0x8848
Christopher Ferris05d08e92016-02-04 13:16:38 -080064#define ETH_P_ATMMPOA 0x884c
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070065#define ETH_P_PPP_DISC 0x8863
66#define ETH_P_PPP_SES 0x8864
Ben Cheng655a7c02013-10-16 16:09:24 -070067#define ETH_P_LINK_CTL 0x886c
Christopher Ferris05d08e92016-02-04 13:16:38 -080068#define ETH_P_ATMFATE 0x8884
Ben Cheng655a7c02013-10-16 16:09:24 -070069#define ETH_P_PAE 0x888E
70#define ETH_P_AOE 0x88A2
71#define ETH_P_8021AD 0x88A8
Christopher Ferris05d08e92016-02-04 13:16:38 -080072#define ETH_P_802_EX1 0x88B5
Christopher Ferris76a1d452018-06-27 14:12:29 -070073#define ETH_P_PREAUTH 0x88C7
Ben Cheng655a7c02013-10-16 16:09:24 -070074#define ETH_P_TIPC 0x88CA
Christopher Ferrisb8a95e22019-10-02 18:29:20 -070075#define ETH_P_LLDP 0x88CC
Christopher Ferris106b3a82016-08-24 12:15:38 -070076#define ETH_P_MACSEC 0x88E5
Ben Cheng655a7c02013-10-16 16:09:24 -070077#define ETH_P_8021AH 0x88E7
Christopher Ferris106b3a82016-08-24 12:15:38 -070078#define ETH_P_MVRP 0x88F5
Christopher Ferris05d08e92016-02-04 13:16:38 -080079#define ETH_P_1588 0x88F7
Christopher Ferris49f525c2016-12-12 14:55:36 -080080#define ETH_P_NCSI 0x88F8
Christopher Ferris38062f92014-07-09 15:33:25 -070081#define ETH_P_PRP 0x88FB
Christopher Ferris49f525c2016-12-12 14:55:36 -080082#define ETH_P_FCOE 0x8906
Christopher Ferris525ce912017-07-26 13:12:53 -070083#define ETH_P_IBOE 0x8915
Christopher Ferris106b3a82016-08-24 12:15:38 -070084#define ETH_P_TDLS 0x890D
Christopher Ferris05d08e92016-02-04 13:16:38 -080085#define ETH_P_FIP 0x8914
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070086#define ETH_P_80221 0x8917
Christopher Ferris49f525c2016-12-12 14:55:36 -080087#define ETH_P_HSR 0x892F
Christopher Ferris1308ad32017-11-14 17:32:13 -080088#define ETH_P_NSH 0x894F
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070089#define ETH_P_LOOPBACK 0x9000
Christopher Ferris38062f92014-07-09 15:33:25 -070090#define ETH_P_QINQ1 0x9100
Christopher Ferris05d08e92016-02-04 13:16:38 -080091#define ETH_P_QINQ2 0x9200
Christopher Ferris49f525c2016-12-12 14:55:36 -080092#define ETH_P_QINQ3 0x9300
Ben Cheng655a7c02013-10-16 16:09:24 -070093#define ETH_P_EDSA 0xDADA
Christopher Ferrisaeddbcf2019-07-08 12:45:46 -070094#define ETH_P_DSA_8021Q 0xDADB
Christopher Ferris1308ad32017-11-14 17:32:13 -080095#define ETH_P_IFE 0xED3E
Christopher Ferris38062f92014-07-09 15:33:25 -070096#define ETH_P_AF_IUCV 0xFBFB
Christopher Ferris05d08e92016-02-04 13:16:38 -080097#define ETH_P_802_3_MIN 0x0600
Christopher Ferris49f525c2016-12-12 14:55:36 -080098#define ETH_P_802_3 0x0001
Ben Cheng655a7c02013-10-16 16:09:24 -070099#define ETH_P_AX25 0x0002
Christopher Ferris38062f92014-07-09 15:33:25 -0700100#define ETH_P_ALL 0x0003
Christopher Ferris05d08e92016-02-04 13:16:38 -0800101#define ETH_P_802_2 0x0004
Christopher Ferris49f525c2016-12-12 14:55:36 -0800102#define ETH_P_SNAP 0x0005
Ben Cheng655a7c02013-10-16 16:09:24 -0700103#define ETH_P_DDCMP 0x0006
Christopher Ferris38062f92014-07-09 15:33:25 -0700104#define ETH_P_WAN_PPP 0x0007
Christopher Ferris05d08e92016-02-04 13:16:38 -0800105#define ETH_P_PPP_MP 0x0008
Christopher Ferris49f525c2016-12-12 14:55:36 -0800106#define ETH_P_LOCALTALK 0x0009
Ben Cheng655a7c02013-10-16 16:09:24 -0700107#define ETH_P_CAN 0x000C
Christopher Ferris38062f92014-07-09 15:33:25 -0700108#define ETH_P_CANFD 0x000D
Christopher Ferris05d08e92016-02-04 13:16:38 -0800109#define ETH_P_PPPTALK 0x0010
Christopher Ferris49f525c2016-12-12 14:55:36 -0800110#define ETH_P_TR_802_2 0x0011
Ben Cheng655a7c02013-10-16 16:09:24 -0700111#define ETH_P_MOBITEX 0x0015
Christopher Ferris38062f92014-07-09 15:33:25 -0700112#define ETH_P_CONTROL 0x0016
Christopher Ferris05d08e92016-02-04 13:16:38 -0800113#define ETH_P_IRDA 0x0017
Christopher Ferris49f525c2016-12-12 14:55:36 -0800114#define ETH_P_ECONET 0x0018
Ben Cheng655a7c02013-10-16 16:09:24 -0700115#define ETH_P_HDLC 0x0019
Christopher Ferris38062f92014-07-09 15:33:25 -0700116#define ETH_P_ARCNET 0x001A
Christopher Ferris05d08e92016-02-04 13:16:38 -0800117#define ETH_P_DSA 0x001B
Christopher Ferris49f525c2016-12-12 14:55:36 -0800118#define ETH_P_TRAILER 0x001C
Ben Cheng655a7c02013-10-16 16:09:24 -0700119#define ETH_P_PHONET 0x00F5
Christopher Ferris38062f92014-07-09 15:33:25 -0700120#define ETH_P_IEEE802154 0x00F6
Christopher Ferris05d08e92016-02-04 13:16:38 -0800121#define ETH_P_CAIF 0x00F7
Christopher Ferris49f525c2016-12-12 14:55:36 -0800122#define ETH_P_XDSA 0x00F8
Christopher Ferris1308ad32017-11-14 17:32:13 -0800123#define ETH_P_MAP 0x00F9
Christopher Ferris76a1d452018-06-27 14:12:29 -0700124#ifndef __UAPI_DEF_ETHHDR
125#define __UAPI_DEF_ETHHDR 1
126#endif
Christopher Ferris934ec942018-01-31 15:29:16 -0800127#if __UAPI_DEF_ETHHDR
Ben Cheng655a7c02013-10-16 16:09:24 -0700128struct ethhdr {
Tao Baod7db5942015-01-28 10:07:51 -0800129 unsigned char h_dest[ETH_ALEN];
Christopher Ferris05d08e92016-02-04 13:16:38 -0800130 unsigned char h_source[ETH_ALEN];
Christopher Ferris49f525c2016-12-12 14:55:36 -0800131 __be16 h_proto;
Ben Cheng655a7c02013-10-16 16:09:24 -0700132} __attribute__((packed));
133#endif
Christopher Ferris934ec942018-01-31 15:29:16 -0800134#endif