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 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 TWOANDHALFGIGABIT_ETHERNET_TXRATE   2500000000.0 /* 2.5 Gbit/sec (in bit/s) */
 
#define FIVEGIGABIT_ETHERNET_TXRATE   5000000000.0 /* 5 Gbit/sec (in bit/s) */
 
#define FAST_GIGABIT_ETHERNET_TXRATE   10000000000.0 /* 10 Gbit/sec (in bit/s) */
 
#define TWENTYFIVE_GIGABIT_ETHERNET_TXRATE   25000000000.0 /* 25 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 TWOHUNDRED_GIGABIT_ETHERNET_TXRATE   200000000000.0 /* 200 Gbit/sec (in bit/s) */
 
#define FOURHUNDRED_GIGABIT_ETHERNET_TXRATE   400000000000.0 /* 400 Gbit/sec (in bit/s) */
 
#define MAX_ATTEMPTS   16
 
#define BACKOFF_RANGE_LIMIT   10
 
#define PAUSE_UNIT_BITS   512 /* one pause unit is 512 bit times */
 
#define ETHER_IS_VALID_LEN(foo)   ((foo) >= MIN_ETHERNET_FRAME_BYTES && (foo) <= ETHER_MAX_LEN)
 

Variables

const B inet::GIGABIT_MAX_BURST_BYTES = B(8192)
 
const B inet::MAX_ETHERNET_DATA_BYTES = B(1500)
 
const B inet::MAX_ETHERNET_FRAME_BYTES = B(1526)
 
const B inet::MIN_ETHERNET_FRAME_BYTES = B(64)
 
const B inet::GIGABIT_MIN_FRAME_BYTES_WITH_EXT = B(512)
 
const b inet::INTERFRAME_GAP_BITS = b(96)
 
const B inet::JAM_SIGNAL_BYTES = B(4)
 
const B inet::PREAMBLE_BYTES = B(7)
 
const B inet::SFD_BYTES = B(1)
 
const B inet::ETHER_ADDR_LEN = B(6)
 
const B inet::ETHER_TYPE_LEN = B(2)
 
const B inet::ETHER_FCS_BYTES = B(4)
 
const B inet::ETHER_MAC_HEADER_BYTES = ETHER_ADDR_LEN + ETHER_ADDR_LEN + ETHER_TYPE_LEN
 
const B inet::ETHER_MAC_FRAME_BYTES = ETHER_MAC_HEADER_BYTES + ETHER_FCS_BYTES
 
const B inet::ETHER_LLC_HEADER_LENGTH = B(3)
 
const B inet::ETHER_SNAP_HEADER_LENGTH = B(5)
 
const B inet::ETHER_PAUSE_COMMAND_BYTES = B(2 + 2)
 
const B inet::ETHER_PAUSE_COMMAND_PADDED_BYTES = std::max(MIN_ETHERNET_FRAME_BYTES, ETHER_MAC_FRAME_BYTES + ETHER_PAUSE_COMMAND_BYTES)
 

Macro Definition Documentation

◆ BACKOFF_RANGE_LIMIT

#define BACKOFF_RANGE_LIMIT   10

◆ ETHER_IS_VALID_LEN

#define ETHER_IS_VALID_LEN (   foo)    ((foo) >= MIN_ETHERNET_FRAME_BYTES && (foo) <= ETHER_MAX_LEN)

◆ ETHERNET_TXRATE

#define ETHERNET_TXRATE   10000000.0 /* 10 Mbit/sec (in bit/s) */

◆ FAST_ETHERNET_TXRATE

#define FAST_ETHERNET_TXRATE   100000000.0 /* 100 Mbit/sec (in bit/s) */

◆ FAST_GIGABIT_ETHERNET_TXRATE

#define FAST_GIGABIT_ETHERNET_TXRATE   10000000000.0 /* 10 Gbit/sec (in bit/s) */

◆ FIVEGIGABIT_ETHERNET_TXRATE

#define FIVEGIGABIT_ETHERNET_TXRATE   5000000000.0 /* 5 Gbit/sec (in bit/s) */

◆ FOURHUNDRED_GIGABIT_ETHERNET_TXRATE

#define FOURHUNDRED_GIGABIT_ETHERNET_TXRATE   400000000000.0 /* 400 Gbit/sec (in bit/s) */

◆ FOURTY_GIGABIT_ETHERNET_TXRATE

#define FOURTY_GIGABIT_ETHERNET_TXRATE   40000000000.0 /* 40 Gbit/sec (in bit/s) */

◆ GIGABIT_ETHERNET_TXRATE

#define GIGABIT_ETHERNET_TXRATE   1000000000.0 /* 1 Gbit/sec (in bit/s) */

◆ HUNDRED_GIGABIT_ETHERNET_TXRATE

#define HUNDRED_GIGABIT_ETHERNET_TXRATE   100000000000.0 /* 100 Gbit/sec (in bit/s) */

◆ MAX_ATTEMPTS

#define MAX_ATTEMPTS   16

◆ MAX_PACKETBURST

#define MAX_PACKETBURST   13

◆ PAUSE_UNIT_BITS

#define PAUSE_UNIT_BITS   512 /* one pause unit is 512 bit times */

◆ TWENTYFIVE_GIGABIT_ETHERNET_TXRATE

#define TWENTYFIVE_GIGABIT_ETHERNET_TXRATE   25000000000.0 /* 25 Gbit/sec (in bit/s) */

◆ TWOANDHALFGIGABIT_ETHERNET_TXRATE

#define TWOANDHALFGIGABIT_ETHERNET_TXRATE   2500000000.0 /* 2.5 Gbit/sec (in bit/s) */

◆ TWOHUNDRED_GIGABIT_ETHERNET_TXRATE

#define TWOHUNDRED_GIGABIT_ETHERNET_TXRATE   200000000000.0 /* 200 Gbit/sec (in bit/s) */