FD.io VPP  v20.09-64-g4f7b92f0a
Vector Packet Processing
ip4_main_t Struct Reference

IPv4 main type. More...

+ Collaboration diagram for ip4_main_t:

Data Fields

ip_lookup_main_t lookup_main
 
struct fib_table_t_fibs
 Vector of FIBs. More...
 
struct ip4_fib_t_v4_fibs
 Vector of MTries. More...
 
struct mfib_table_t_mfibs
 Vector of MFIBs. More...
 
u32 fib_masks [33]
 
u32fib_index_by_sw_if_index
 Table index indexed by software interface. More...
 
u32mfib_index_by_sw_if_index
 Table index indexed by software interface. More...
 
u8ip_enabled_by_sw_if_index
 
uwordfib_index_by_table_id
 Hash table mapping table id to fib index. More...
 
uwordmfib_index_by_table_id
 Hash table mapping table id to multicast fib index. More...
 
ip4_add_del_interface_address_callback_tadd_del_interface_address_callbacks
 Functions to call when interface address changes. More...
 
ip4_enable_disable_interface_callback_tenable_disable_interface_callbacks
 Functions to call when interface becomes IPv4 enabled/disable. More...
 
ip4_table_bind_callback_ttable_bind_callbacks
 Functions to call when interface to table biding changes. More...
 
vlib_packet_template_t ip4_arp_request_packet_template
 Template used to generate IP4 ARP packets. More...
 
u32 flow_hash_seed
 Seed for Jenkins hash used to compute ip4 flow hash. More...
 
struct {
   u8   ttl
 TTL to use for host generated packets. More...
 
   u8   tos
 TOS byte to use for host generated packets. More...
 
   u8   pad [2]
 
host_config
 Template information for VPP generated packets. More...
 
uword mtrie_heap_size
 Heapsize for the Mtries. More...
 
int mtrie_hugetlb
 Use hugetlb pages for the Mtries. More...
 
void * mtrie_mheap
 The memory heap for the mtries. More...
 
throttle_t arp_throttle
 ARP throttling. More...
 

Detailed Description

IPv4 main type.

State of IPv4 VPP processing including:

  • FIBs
  • Feature indices used in feature topological sort
  • Feature node run time references

Definition at line 106 of file ip4.h.

Field Documentation

◆ add_del_interface_address_callbacks

ip4_add_del_interface_address_callback_t* ip4_main_t::add_del_interface_address_callbacks

Functions to call when interface address changes.

Definition at line 140 of file ip4.h.

◆ arp_throttle

throttle_t ip4_main_t::arp_throttle

ARP throttling.

Definition at line 177 of file ip4.h.

◆ enable_disable_interface_callbacks

ip4_enable_disable_interface_callback_t* ip4_main_t::enable_disable_interface_callbacks

Functions to call when interface becomes IPv4 enabled/disable.

Definition at line 144 of file ip4.h.

◆ fib_index_by_sw_if_index

u32* ip4_main_t::fib_index_by_sw_if_index

Table index indexed by software interface.

Definition at line 122 of file ip4.h.

◆ fib_index_by_table_id

uword* ip4_main_t::fib_index_by_table_id

Hash table mapping table id to fib index.

ID space is not necessarily dense; index space is dense.

Definition at line 132 of file ip4.h.

◆ fib_masks

u32 ip4_main_t::fib_masks[33]

Definition at line 119 of file ip4.h.

◆ fibs

struct fib_table_t_* ip4_main_t::fibs

Vector of FIBs.

Definition at line 111 of file ip4.h.

◆ flow_hash_seed

u32 ip4_main_t::flow_hash_seed

Seed for Jenkins hash used to compute ip4 flow hash.

Definition at line 153 of file ip4.h.

◆ host_config

struct { ... } ip4_main_t::host_config

Template information for VPP generated packets.

◆ ip4_arp_request_packet_template

vlib_packet_template_t ip4_main_t::ip4_arp_request_packet_template

Template used to generate IP4 ARP packets.

Definition at line 150 of file ip4.h.

◆ ip_enabled_by_sw_if_index

u8* ip4_main_t::ip_enabled_by_sw_if_index

Definition at line 128 of file ip4.h.

◆ lookup_main

ip_lookup_main_t ip4_main_t::lookup_main

Definition at line 108 of file ip4.h.

◆ mfib_index_by_sw_if_index

u32* ip4_main_t::mfib_index_by_sw_if_index

Table index indexed by software interface.

Definition at line 125 of file ip4.h.

◆ mfib_index_by_table_id

uword* ip4_main_t::mfib_index_by_table_id

Hash table mapping table id to multicast fib index.

ID space is not necessarily dense; index space is dense.

Definition at line 136 of file ip4.h.

◆ mfibs

struct mfib_table_t_* ip4_main_t::mfibs

Vector of MFIBs.

Definition at line 117 of file ip4.h.

◆ mtrie_heap_size

uword ip4_main_t::mtrie_heap_size

Heapsize for the Mtries.

Definition at line 168 of file ip4.h.

◆ mtrie_hugetlb

int ip4_main_t::mtrie_hugetlb

Use hugetlb pages for the Mtries.

Definition at line 171 of file ip4.h.

◆ mtrie_mheap

void* ip4_main_t::mtrie_mheap

The memory heap for the mtries.

Definition at line 174 of file ip4.h.

◆ pad

u8 ip4_main_t::pad[2]

Definition at line 164 of file ip4.h.

◆ table_bind_callbacks

ip4_table_bind_callback_t* ip4_main_t::table_bind_callbacks

Functions to call when interface to table biding changes.

Definition at line 147 of file ip4.h.

◆ tos

u8 ip4_main_t::tos

TOS byte to use for host generated packets.

Definition at line 162 of file ip4.h.

◆ ttl

u8 ip4_main_t::ttl

TTL to use for host generated packets.

Definition at line 159 of file ip4.h.

◆ v4_fibs

struct ip4_fib_t_* ip4_main_t::v4_fibs

Vector of MTries.

Definition at line 114 of file ip4.h.


The documentation for this struct was generated from the following file: