A Discrete-Event Network Simulator
API
IPv4 classes and sub-modules
+ Collaboration diagram for IPv4 classes and sub-modules:

Modules

 ARP protocol.
 The ARP protocol and its associated tables are responsible for the IPv4 - MAC address translation.
 
 ICMP protocol and associated headers.
 

Classes

struct  ns3::Ipv4RawSocketImpl::Data
 IPv4 raw data and additional information. More...
 
class  ns3::Ipv4L3Protocol::Fragments
 A Set of Fragment belonging to the same packet (src, dst, identification and proto) More...
 
class  ns3::Ipv4
 Access to the IPv4 forwarding table, interfaces, and configuration. More...
 
class  ns3::Ipv4AddressGenerator
 This generator assigns addresses sequentially from a provided network address; used in topology code. More...
 
class  ns3::Ipv4EndPoint
 A representation of an internet endpoint/connection. More...
 
class  ns3::Ipv4EndPointDemux
 Demultiplexes packets to various transport layer endpoints. More...
 
class  ns3::Ipv4GlobalRouting
 Global routing protocol for IPv4 stacks. More...
 
class  ns3::Ipv4Header
 Packet header for IPv4. More...
 
class  ns3::Ipv4Interface
 The IPv4 representation of a network interface. More...
 
class  ns3::Ipv4InterfaceAddress
 a class to store IPv4 address information on an interface More...
 
class  ns3::Ipv4InterfaceContainer
 holds a vector of std::pair of Ptr<Ipv4> and interface index. More...
 
class  ns3::Ipv4L3Protocol
 Implement the IPv4 layer. More...
 
class  ns3::Ipv4PacketFilter
 Ipv4PacketFilter is the abstract base class for filters defined for IPv4 packets. More...
 
class  ns3::Ipv4PacketInfoTag
 This class implements Linux struct pktinfo in order to deliver ancillary information to the socket interface. More...
 
class  ns3::Ipv4PacketProbe
 This class is designed to probe an underlying ns3 TraceSource exporting a packet, an IPv4 object, and an interface. More...
 
class  ns3::Ipv4QueueDiscItem
 Ipv4QueueDiscItem is a subclass of QueueDiscItem which stores IPv4 packets. More...
 
class  ns3::Ipv4RawSocketFactory
 API to create RAW socket instances. More...
 
class  ns3::Ipv4RawSocketFactoryImpl
 Implementation of IPv4 raw socket factory. More...
 
class  ns3::Ipv4RawSocketImpl
 IPv4 raw socket. More...
 

Enumerations

enum  ns3::Ipv4L3Protocol::DropReason {
  ns3::Ipv4L3Protocol::DROP_TTL_EXPIRED = 1, ns3::Ipv4L3Protocol::DROP_NO_ROUTE, ns3::Ipv4L3Protocol::DROP_BAD_CHECKSUM, ns3::Ipv4L3Protocol::DROP_INTERFACE_DOWN,
  ns3::Ipv4L3Protocol::DROP_ROUTE_ERROR, ns3::Ipv4L3Protocol::DROP_FRAGMENT_TIMEOUT
}
 Reason why a packet has been dropped. More...
 
enum  ns3::Ipv4Header::DscpType {
  ns3::Ipv4Header::DscpDefault = 0x00, ns3::Ipv4Header::DSCP_CS1 = 0x08, ns3::Ipv4Header::DSCP_AF11 = 0x0A, ns3::Ipv4Header::DSCP_AF12 = 0x0C,
  ns3::Ipv4Header::DSCP_AF13 = 0x0E, ns3::Ipv4Header::DSCP_CS2 = 0x10, ns3::Ipv4Header::DSCP_AF21 = 0x12, ns3::Ipv4Header::DSCP_AF22 = 0x14,
  ns3::Ipv4Header::DSCP_AF23 = 0x16, ns3::Ipv4Header::DSCP_CS3 = 0x18, ns3::Ipv4Header::DSCP_AF31 = 0x1A, ns3::Ipv4Header::DSCP_AF32 = 0x1C,
  ns3::Ipv4Header::DSCP_AF33 = 0x1E, ns3::Ipv4Header::DSCP_CS4 = 0x20, ns3::Ipv4Header::DSCP_AF41 = 0x22, ns3::Ipv4Header::DSCP_AF42 = 0x24,
  ns3::Ipv4Header::DSCP_AF43 = 0x26, ns3::Ipv4Header::DSCP_CS5 = 0x28, ns3::Ipv4Header::DSCP_EF = 0x2E, ns3::Ipv4Header::DSCP_CS6 = 0x30,
  ns3::Ipv4Header::DSCP_CS7 = 0x38
}
 DiffServ Code Points Code Points defined in Assured Forwarding (AF) RFC 2597 Expedited Forwarding (EF) RFC 2598 Default and Class Selector (CS) RFC 2474 More...
 
enum  ns3::Ipv4Header::EcnType { ns3::Ipv4Header::ECN_NotECT = 0x00, ns3::Ipv4Header::ECN_ECT1 = 0x01, ns3::Ipv4Header::ECN_ECT0 = 0x02, ns3::Ipv4Header::ECN_CE = 0x03 }
 ECN Type defined in RFC 3168 More...
 
enum  ns3::Ipv4Header::FlagsE { ns3::Ipv4Header::DONT_FRAGMENT = (1<<0), ns3::Ipv4Header::MORE_FRAGMENTS = (1<<1) }
 flags related to IP fragmentation More...
 
enum  ns3::Ipv4InterfaceAddress::InterfaceAddressScope_e { ns3::Ipv4InterfaceAddress::HOST, ns3::Ipv4InterfaceAddress::LINK, ns3::Ipv4InterfaceAddress::GLOBAL }
 Address scope. More...
 

Detailed Description

Enumeration Type Documentation

Reason why a packet has been dropped.

Enumerator
DROP_TTL_EXPIRED 

Packet TTL has expired.

DROP_NO_ROUTE 

No route to host.

DROP_BAD_CHECKSUM 

Bad checksum.

DROP_INTERFACE_DOWN 

Interface is down so can not send packet.

DROP_ROUTE_ERROR 

Route error.

DROP_FRAGMENT_TIMEOUT 

Fragment timeout exceeded.

Definition at line 98 of file ipv4-l3-protocol.h.

DiffServ Code Points Code Points defined in Assured Forwarding (AF) RFC 2597 Expedited Forwarding (EF) RFC 2598 Default and Class Selector (CS) RFC 2474

Enumerator
DscpDefault 
DSCP_CS1 
DSCP_AF11 
DSCP_AF12 
DSCP_AF13 
DSCP_CS2 
DSCP_AF21 
DSCP_AF22 
DSCP_AF23 
DSCP_CS3 
DSCP_AF31 
DSCP_AF32 
DSCP_AF33 
DSCP_CS4 
DSCP_AF41 
DSCP_AF42 
DSCP_AF43 
DSCP_CS5 
DSCP_EF 
DSCP_CS6 
DSCP_CS7 

Definition at line 67 of file ipv4-header.h.

ECN Type defined in RFC 3168

Enumerator
ECN_NotECT 
ECN_ECT1 
ECN_ECT0 
ECN_CE 

Definition at line 109 of file ipv4-header.h.

flags related to IP fragmentation

Enumerator
DONT_FRAGMENT 
MORE_FRAGMENTS 

Definition at line 241 of file ipv4-header.h.

Address scope.

Enumerator
HOST 
LINK 
GLOBAL 

Definition at line 50 of file ipv4-interface-address.h.