/* * $Id$ * * Copyright (C) 2003-2015 JNode.org * * This library is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published * by the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This library is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this library; If not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.jnode.net.ethernet; /** * @author epr */ public interface EthernetConstants { /* * IEEE 802.3 Ethernet magic constants. The frame sizes omit the preamble * and FCS/CRC (frame check sequence). */ public static final int ETH_ALEN = 6; /* Octets in one ethernet addr */ public static final int ETH_HLEN = 14; /* Total octets in header. */ public static final int ETH_ZLEN = 60; /* Min. octets in frame sans FCS */ public static final int ETH_DATA_LEN = 1500; /* Max. octets in payload */ public static final int ETH_FRAME_LEN = 1514; /* Max. octets in frame sans FCS */ /* * These are the defined Ethernet Protocol ID's. */ public static final int ETH_P_LOOP = 0x0060; /* Ethernet Loopback packet */ public static final int ETH_P_PUP = 0x0200; /* Xerox PUP packet */ public static final int ETH_P_PUPAT = 0x0201; /* Xerox PUP Addr Trans packet */ public static final int ETH_P_IP = 0x0800; /* Internet Protocol packet */ public static final int ETH_P_X25 = 0x0805; /* CCITT X.25 */ public static final int ETH_P_ARP = 0x0806; /* Address Resolution packet */ public static final int ETH_P_BPQ = 0x08FF; /* G8BPQ AX.25 Ethernet Packet [ NOT REGISTERED ] */ public static final int ETH_P_IEEEPUP = 0x0a00; /* Xerox IEEE802.3 PUP packet */ public static final int ETH_P_IEEEPUPAT = 0x0a01; /* Xerox IEEE802.3 PUP Addr Trans packet */ public static final int ETH_P_DEC = 0x6000; /* DEC Assigned proto */ public static final int ETH_P_DNA_DL = 0x6001; /* DEC DNA Dump/Load */ public static final int ETH_P_DNA_RC = 0x6002; /* DEC DNA Remote Console */ public static final int ETH_P_DNA_RT = 0x6003; /* DEC DNA Routing */ public static final int ETH_P_LAT = 0x6004; /* DEC LAT */ public static final int ETH_P_DIAG = 0x6005; /* DEC Diagnostics */ public static final int ETH_P_CUST = 0x6006; /* DEC Customer use */ public static final int ETH_P_SCA = 0x6007; /* DEC Systems Comms Arch */ public static final int ETH_P_RARP = 0x8035; /* Reverse Addr Res packet */ public static final int ETH_P_ATALK = 0x809B; /* Appletalk DDP */ public static final int ETH_P_AARP = 0x80F3; /* Appletalk AARP */ public static final int ETH_P_8021Q = 0x8100; /* 802.1Q VLAN Extended Header */ public static final int ETH_P_IPX = 0x8137; /* IPX over DIX */ public static final int ETH_P_IPV6 = 0x86DD; /* IPv6 over bluebook */ public static final int ETH_P_PPP_DISC = 0x8863; /* PPPoE discovery messages */ public static final int ETH_P_PPP_SES = 0x8864; /* PPPoE session messages */ public static final int ETH_P_ATMMPOA = 0x884c; /* MultiProtocol Over ATM */ public static final int ETH_P_ATMFATE = 0x8884; /* Frame-based ATM Transport over Ethernet */ /* * Non DIX types. Won't clash for 1500 types. */ public static final int ETH_P_802_3 = 0x0001; /* Dummy type for 802.3 frames */ public static final int ETH_P_AX25 = 0x0002; /* Dummy protocol id for AX.25 */ public static final int ETH_P_ALL = 0x0003; /* Every packet (be careful!!!) */ public static final int ETH_P_802_2 = 0x0004; /* 802.2 frames */ public static final int ETH_P_SNAP = 0x0005; /* Internal only */ public static final int ETH_P_DDCMP = 0x0006; /* DEC DDCMP: Internal only */ public static final int ETH_P_WAN_PPP = 0x0007; /* Dummy type for WAN PPP frames */ public static final int ETH_P_PPP_MP = 0x0008; /* Dummy type for PPP MP frames */ public static final int ETH_P_LOCALTALK = 0x0009; /* Localtalk pseudo type */ public static final int ETH_P_PPPTALK = 0x0010; /* Dummy type for Atalk over PPP */ public static final int ETH_P_TR_802_2 = 0x0011; /* 802.2 frames */ public static final int ETH_P_MOBITEX = 0x0015; /* Mobitex (kaz@cafe.net) */ public static final int ETH_P_CONTROL = 0x0016; /* Card specific control frames */ public static final int ETH_P_IRDA = 0x0017; /* Linux-IrDA */ public static final int ETH_P_ECONET = 0x0018; /* Acorn Econet */ }