ReactOS 0.4.16-dev-334-g4d9f67c
Collaboration diagram for ARP:

Macros

#define LWIP_ARP   1
 
#define ARP_TABLE_SIZE   10
 
#define ARP_MAXAGE   300
 
#define ARP_QUEUEING   0
 
#define ARP_QUEUE_LEN   3
 
#define ETHARP_SUPPORT_VLAN   0
 
#define LWIP_VLAN_PCP   0
 
#define LWIP_ETHERNET   LWIP_ARP
 
#define ETH_PAD_SIZE   0
 
#define ETHARP_SUPPORT_STATIC_ENTRIES   0
 
#define ETHARP_TABLE_MATCH_NETIF   !LWIP_SINGLE_NETIF
 

Detailed Description

Macro Definition Documentation

◆ ARP_MAXAGE

#define ARP_MAXAGE   300

the time an ARP entry stays valid after its last update, for ARP_TMR_INTERVAL = 1000, this is (60 * 5) seconds = 5 minutes.

Definition at line 637 of file opt.h.

◆ ARP_QUEUE_LEN

#define ARP_QUEUE_LEN   3

The maximum number of packets which may be queued for each unresolved address by other network layers. Defaults to 3, 0 means disabled. Old packets are dropped, new packets are queued.

Definition at line 656 of file opt.h.

◆ ARP_QUEUEING

#define ARP_QUEUEING   0

ARP_QUEUEING==1: Multiple outgoing packets are queued during hardware address resolution. By default, only the most recent packet is queued per IP address. This is sufficient for most protocols and mainly reduces TCP connection startup time. Set this to 1 if you know your application sends more than one packet in a row to an IP address that is not in the ARP cache.

Definition at line 648 of file opt.h.

◆ ARP_TABLE_SIZE

#define ARP_TABLE_SIZE   10

ARP_TABLE_SIZE: Number of active MAC-IP address pairs cached.

Definition at line 629 of file opt.h.

◆ ETH_PAD_SIZE

#define ETH_PAD_SIZE   0

ETH_PAD_SIZE: number of bytes added before the ethernet header to ensure alignment of payload after that header. Since the header is 14 bytes long, without this padding e.g. addresses in the IP header will not be aligned on a 32-bit boundary, so setting this to 2 can speed up 32-bit-platforms.

Definition at line 699 of file opt.h.

◆ ETHARP_SUPPORT_STATIC_ENTRIES

#define ETHARP_SUPPORT_STATIC_ENTRIES   0

ETHARP_SUPPORT_STATIC_ENTRIES==1: enable code to support static ARP table entries (using etharp_add_static_entry/etharp_remove_static_entry).

Definition at line 706 of file opt.h.

◆ ETHARP_SUPPORT_VLAN

#define ETHARP_SUPPORT_VLAN   0

ETHARP_SUPPORT_VLAN==1: support receiving and sending ethernet packets with VLAN header. See the description of LWIP_HOOK_VLAN_CHECK and LWIP_HOOK_VLAN_SET hooks to check/set VLAN headers. Additionally, you can define ETHARP_VLAN_CHECK to an u16_t VLAN ID to check. If ETHARP_VLAN_CHECK is defined, only VLAN-traffic for this VLAN is accepted. If ETHARP_VLAN_CHECK is not defined, all traffic is accepted. Alternatively, define a function/define ETHARP_VLAN_CHECK_FN(eth_hdr, vlan) that returns 1 to accept a packet or 0 to drop a packet.

Definition at line 670 of file opt.h.

◆ ETHARP_TABLE_MATCH_NETIF

#define ETHARP_TABLE_MATCH_NETIF   !LWIP_SINGLE_NETIF

ETHARP_TABLE_MATCH_NETIF==1: Match netif for ARP table entries. If disabled, duplicate IP address on multiple netifs are not supported (but this should only occur for AutoIP).

Definition at line 714 of file opt.h.

◆ LWIP_ARP

#define LWIP_ARP   1

LWIP_ARP==1: Enable ARP functionality.

Definition at line 622 of file opt.h.

◆ LWIP_ETHERNET

#define LWIP_ETHERNET   LWIP_ARP

LWIP_ETHERNET==1: enable ethernet support even though ARP might be disabled

Definition at line 690 of file opt.h.

◆ LWIP_VLAN_PCP

#define LWIP_VLAN_PCP   0

LWIP_VLAN_PCP==1: Enable outgoing VLAN taggning of frames on a per-PCB basis for QoS purposes. With this feature enabled, each PCB has a new variable: "netif_hints.tci" (Tag Control Identifier). The TCI contains three fields: VID, CFI and PCP.

  • VID is the VLAN ID, which should be set to zero.
  • The "CFI" bit is used to enable or disable VLAN tags for the PCB.
  • PCP (Priority Code Point) is a 3 bit field used for Ethernet level QoS. See pcb_tci_*() functions to get/set/clear this.

Definition at line 684 of file opt.h.