INET Framework for OMNeT++/OMNEST
Ethernet.h File Reference

Namespaces

 inet
 Copyright (c) 2005 Jan Ringo�, www.ringos.cz.
 

Macros

#define MAX_PACKETBURST   13
 
#define GIGABIT_MAX_BURST_BYTES   8192 /* don't start new frame after 8192 or more bytes already transmitted */
 
#define MAX_ETHERNET_DATA_BYTES   1500 /* including LLC, SNAP etc headers */
 
#define MAX_ETHERNET_FRAME_BYTES   1526 /* excludes preamble and SFD */
 
#define MIN_ETHERNET_FRAME_BYTES   64 /* excludes preamble and SFD */
 
#define GIGABIT_MIN_FRAME_BYTES_WITH_EXT   512 /* excludes preamble and SFD, but includes 448 byte extension */
 
#define INTERFRAME_GAP_BITS   96
 
#define ETHERNET_TXRATE   10000000.0 /* 10 Mbit/sec (in bit/s) */
 
#define FAST_ETHERNET_TXRATE   100000000.0 /* 100 Mbit/sec (in bit/s) */
 
#define GIGABIT_ETHERNET_TXRATE   1000000000.0 /* 1 Gbit/sec (in bit/s) */
 
#define FAST_GIGABIT_ETHERNET_TXRATE   10000000000.0 /* 10 Gbit/sec (in bit/s) */
 
#define FOURTY_GIGABIT_ETHERNET_TXRATE   40000000000.0 /* 40 Gbit/sec (in bit/s) */
 
#define HUNDRED_GIGABIT_ETHERNET_TXRATE   100000000000.0 /* 100 Gbit/sec (in bit/s) */
 
#define MAX_ATTEMPTS   16
 
#define BACKOFF_RANGE_LIMIT   10
 
#define JAM_SIGNAL_BYTES   4
 
#define PREAMBLE_BYTES   7
 
#define SFD_BYTES   1
 
#define PAUSE_UNIT_BITS   512 /* one pause unit is 512 bit times */
 
#define ETHER_MAC_FRAME_BYTES   (6 + 6 + 2 + 4) /* src(6)+dest(6)+length/type(2)+FCS(4) */
 
#define ETHER_LLC_HEADER_LENGTH   (3) /* ssap(1)+dsap(1)+control(1) */
 
#define ETHER_SNAP_HEADER_LENGTH   (5) /* org(3)+local(2) */
 
#define ETHER_PAUSE_COMMAND_BYTES   (2 + 2) /* opcode(2)+parameters(2) */
 
#define ETHER_PAUSE_COMMAND_PADDED_BYTES   std::max(MIN_ETHERNET_FRAME_BYTES, ETHER_MAC_FRAME_BYTES + ETHER_PAUSE_COMMAND_BYTES)
 

Macro Definition Documentation

#define BACKOFF_RANGE_LIMIT   10
#define ETHER_LLC_HEADER_LENGTH   (3) /* ssap(1)+dsap(1)+control(1) */
#define ETHER_MAC_FRAME_BYTES   (6 + 6 + 2 + 4) /* src(6)+dest(6)+length/type(2)+FCS(4) */
#define ETHER_PAUSE_COMMAND_BYTES   (2 + 2) /* opcode(2)+parameters(2) */
#define ETHER_SNAP_HEADER_LENGTH   (5) /* org(3)+local(2) */
#define ETHERNET_TXRATE   10000000.0 /* 10 Mbit/sec (in bit/s) */
#define FAST_ETHERNET_TXRATE   100000000.0 /* 100 Mbit/sec (in bit/s) */
#define FAST_GIGABIT_ETHERNET_TXRATE   10000000000.0 /* 10 Gbit/sec (in bit/s) */
#define FOURTY_GIGABIT_ETHERNET_TXRATE   40000000000.0 /* 40 Gbit/sec (in bit/s) */
#define GIGABIT_ETHERNET_TXRATE   1000000000.0 /* 1 Gbit/sec (in bit/s) */
#define GIGABIT_MAX_BURST_BYTES   8192 /* don't start new frame after 8192 or more bytes already transmitted */
#define GIGABIT_MIN_FRAME_BYTES_WITH_EXT   512 /* excludes preamble and SFD, but includes 448 byte extension */
#define HUNDRED_GIGABIT_ETHERNET_TXRATE   100000000000.0 /* 100 Gbit/sec (in bit/s) */
#define JAM_SIGNAL_BYTES   4
#define MAX_ATTEMPTS   16
#define MAX_ETHERNET_DATA_BYTES   1500 /* including LLC, SNAP etc headers */
#define MAX_ETHERNET_FRAME_BYTES   1526 /* excludes preamble and SFD */
#define MAX_PACKETBURST   13
#define PAUSE_UNIT_BITS   512 /* one pause unit is 512 bit times */