FD.io VPP  v21.01.1
Vector Packet Processing
vnet_buffer_opaque_t Struct Reference

Data Fields

u32 sw_if_index [VLIB_N_RX_TX]
 
i16 l2_hdr_offset
 
i16 l3_hdr_offset
 
i16 l4_hdr_offset
 
u8 feature_arc_index
 
u8 dont_waste_me
 
union {
   struct {
      u32   adj_index [VLIB_N_RX_TX]
 
      union {
         struct {
            u32   flow_hash
 
            union {
               u32   save_protocol
 
               u32   fib_index
 
            } 
 
            u8   save_rewrite_length
 
            u32   rpf_id
 
         } 
 
         struct {
            u8   type
 
            u8   code
 
            u32   data
 
         }   icmp
 
         union {
            struct {
               struct {
                  u32   next_index
 
                  u32   error_next_index
 
               } 
 
               struct {
                  u16   owner_thread_index
 
               } 
 
            } 
 
            struct {
               union {
                  struct {
                     u16   l4_src_port
 
                     u16   l4_dst_port
 
                     u32   tcp_ack_number
 
                     u8   save_rewrite_length
 
                     u8   ip_proto
 
                     u8   icmp_type_or_tcp_flags
 
                     u8   is_non_first_fragment
 
                     u32   tcp_seq_number
 
                  } 
 
                  struct {
                     u16   estimated_mtu
 
                  } 
 
               } 
 
            } 
 
            struct {
               u16   fragment_first
 
               u16   fragment_last
 
               u16   range_first
 
               u16   range_last
 
               u32   next_range_bi
 
               u16   ip6_frag_hdr_offset
 
            } 
 
         }   reass
 
      } 
 
   }   ip
 
   struct {
      u32   pad [VLIB_N_RX_TX+1]
 
      u8   ttl
 
      u8   exp
 
      u8   first
 
      u8   pyld_proto:3
 
      u8   rsvd:5
 
      u8   save_rewrite_length
 
      u8   mpls_hdr_length
 
      struct {
         u8   n_bytes
 
      }   bier
 
   }   mpls
 
   struct opaque_l2 {
      u32   feature_bitmap
 
      u16   bd_index
 
      u16   l2fib_sn
 
      u8   l2_len
 
      u8   shg
 
      u8   bd_age
 
   }   l2
 
   struct {
      u32   pad [4]
 
      u8   next_index
 
      u32   session_index
 
   }   l2t
 
   struct {
      struct opaque_l2   pad
 
      union {
         u32   table_index
 
         u32   opaque_index
 
      } 
 
      u64   hash
 
   }   l2_classify
 
   struct {
      u32   pad [8 - VLIB_N_RX_TX - 1]
 
      u32   index
 
   }   policer
 
   struct {
      u32   sad_index
 
      u32   protect_index
 
   }   ipsec
 
   struct {
      u16   mtu
 
   }   map
 
   struct {
      u32   map_domain_index
 
      struct {
         u32   saddr
 
         u32   daddr
 
         u16   frag_offset
 
         u16   l4_offset
 
         u8   l4_protocol
 
      }   v6
 
      u16   checksum_offset
 
      u16   mtu
 
   }   map_t
 
   struct {
      u32   pad [2]
 
      u16   mtu
 
      u8   next_index
 
      u8   flags
 
   }   ip_frag
 
   struct {
      u32   current_config_index
 
   }   cop
 
   struct {
      u16   overlay_afi
 
   }   lisp
 
   struct {
      u32   connection_index
 
      union {
         u32   seq_number
 
         u32   next_node_opaque
 
      } 
 
      u32   seq_end
 
      u32   ack_number
 
      u16   hdr_offset
 offset relative to ip hdr More...
 
      u16   data_offset
 offset relative to ip hdr More...
 
      u16   data_len
 data len More...
 
      u8   flags
 
   }   tcp
 
   struct {
      u32   flags
 
   }   snat
 
   u32   unused [6]
 
}; 
 

Detailed Description

Definition at line 134 of file buffer.h.

Field Documentation

◆ @175

union { ... }

◆ ack_number

u32 vnet_buffer_opaque_t::ack_number

Definition at line 370 of file buffer.h.

◆ adj_index

u32 vnet_buffer_opaque_t::adj_index[VLIB_N_RX_TX]

Definition at line 151 of file buffer.h.

◆ bd_age

u8 vnet_buffer_opaque_t::bd_age

Definition at line 279 of file buffer.h.

◆ bd_index

u16 vnet_buffer_opaque_t::bd_index

Definition at line 275 of file buffer.h.

◆ bier

struct { ... } vnet_buffer_opaque_t::bier

◆ checksum_offset

u16 vnet_buffer_opaque_t::checksum_offset

Definition at line 333 of file buffer.h.

◆ code

u8 vnet_buffer_opaque_t::code

Definition at line 181 of file buffer.h.

◆ connection_index

u32 vnet_buffer_opaque_t::connection_index

Definition at line 363 of file buffer.h.

◆ cop

struct { ... } vnet_buffer_opaque_t::cop

◆ current_config_index

u32 vnet_buffer_opaque_t::current_config_index

Definition at line 350 of file buffer.h.

◆ daddr

u32 vnet_buffer_opaque_t::daddr

Definition at line 328 of file buffer.h.

◆ data

u32 vnet_buffer_opaque_t::data

Definition at line 182 of file buffer.h.

◆ data_len

u16 vnet_buffer_opaque_t::data_len

data len

Definition at line 373 of file buffer.h.

◆ data_offset

u16 vnet_buffer_opaque_t::data_offset

offset relative to ip hdr

Definition at line 372 of file buffer.h.

◆ dont_waste_me

u8 vnet_buffer_opaque_t::dont_waste_me

Definition at line 141 of file buffer.h.

◆ error_next_index

u32 vnet_buffer_opaque_t::error_next_index

Definition at line 196 of file buffer.h.

◆ estimated_mtu

u16 vnet_buffer_opaque_t::estimated_mtu

Definition at line 224 of file buffer.h.

◆ exp

u8 vnet_buffer_opaque_t::exp

Definition at line 252 of file buffer.h.

◆ feature_arc_index

u8 vnet_buffer_opaque_t::feature_arc_index

Definition at line 140 of file buffer.h.

◆ feature_bitmap

u32 vnet_buffer_opaque_t::feature_bitmap

Definition at line 274 of file buffer.h.

◆ fib_index

u32 vnet_buffer_opaque_t::fib_index

Definition at line 167 of file buffer.h.

◆ first

u8 vnet_buffer_opaque_t::first

Definition at line 253 of file buffer.h.

◆ flags [1/2]

u8 vnet_buffer_opaque_t::flags

Definition at line 343 of file buffer.h.

◆ flags [2/2]

u32 vnet_buffer_opaque_t::flags

Definition at line 380 of file buffer.h.

◆ flow_hash

u32 vnet_buffer_opaque_t::flow_hash

Definition at line 159 of file buffer.h.

◆ frag_offset

u16 vnet_buffer_opaque_t::frag_offset

Definition at line 329 of file buffer.h.

◆ fragment_first

u16 vnet_buffer_opaque_t::fragment_first

Definition at line 231 of file buffer.h.

◆ fragment_last

u16 vnet_buffer_opaque_t::fragment_last

Definition at line 232 of file buffer.h.

◆ hash

u64 vnet_buffer_opaque_t::hash

Definition at line 299 of file buffer.h.

◆ hdr_offset

u16 vnet_buffer_opaque_t::hdr_offset

offset relative to ip hdr

Definition at line 371 of file buffer.h.

◆ icmp

struct { ... } vnet_buffer_opaque_t::icmp

◆ icmp_type_or_tcp_flags

u8 vnet_buffer_opaque_t::icmp_type_or_tcp_flags

Definition at line 217 of file buffer.h.

◆ index

u32 vnet_buffer_opaque_t::index

Definition at line 306 of file buffer.h.

◆ ip

struct { ... } vnet_buffer_opaque_t::ip

◆ ip6_frag_hdr_offset

u16 vnet_buffer_opaque_t::ip6_frag_hdr_offset

Definition at line 236 of file buffer.h.

◆ ip_frag

struct { ... } vnet_buffer_opaque_t::ip_frag

◆ ip_proto

u8 vnet_buffer_opaque_t::ip_proto

Definition at line 216 of file buffer.h.

◆ ipsec

struct { ... } vnet_buffer_opaque_t::ipsec

◆ is_non_first_fragment

u8 vnet_buffer_opaque_t::is_non_first_fragment

Definition at line 218 of file buffer.h.

◆ l2

struct { ... } ::opaque_l2 vnet_buffer_opaque_t::l2

◆ l2_classify

struct { ... } vnet_buffer_opaque_t::l2_classify

◆ l2_hdr_offset

i16 vnet_buffer_opaque_t::l2_hdr_offset

Definition at line 137 of file buffer.h.

◆ l2_len

u8 vnet_buffer_opaque_t::l2_len

Definition at line 277 of file buffer.h.

◆ l2fib_sn

u16 vnet_buffer_opaque_t::l2fib_sn

Definition at line 276 of file buffer.h.

◆ l2t

struct { ... } vnet_buffer_opaque_t::l2t

◆ l3_hdr_offset

i16 vnet_buffer_opaque_t::l3_hdr_offset

Definition at line 138 of file buffer.h.

◆ l4_dst_port

u16 vnet_buffer_opaque_t::l4_dst_port

Definition at line 213 of file buffer.h.

◆ l4_hdr_offset

i16 vnet_buffer_opaque_t::l4_hdr_offset

Definition at line 139 of file buffer.h.

◆ l4_offset

u16 vnet_buffer_opaque_t::l4_offset

Definition at line 330 of file buffer.h.

◆ l4_protocol

u8 vnet_buffer_opaque_t::l4_protocol

Definition at line 331 of file buffer.h.

◆ l4_src_port

u16 vnet_buffer_opaque_t::l4_src_port

Definition at line 212 of file buffer.h.

◆ lisp

struct { ... } vnet_buffer_opaque_t::lisp

◆ map

struct { ... } vnet_buffer_opaque_t::map

◆ map_domain_index

u32 vnet_buffer_opaque_t::map_domain_index

Definition at line 325 of file buffer.h.

◆ map_t

struct { ... } vnet_buffer_opaque_t::map_t

◆ mpls

struct { ... } vnet_buffer_opaque_t::mpls

◆ mpls_hdr_length

u8 vnet_buffer_opaque_t::mpls_hdr_length

Definition at line 259 of file buffer.h.

◆ mtu

u16 vnet_buffer_opaque_t::mtu

Definition at line 319 of file buffer.h.

◆ n_bytes

u8 vnet_buffer_opaque_t::n_bytes

Definition at line 267 of file buffer.h.

◆ next_index [1/2]

u32 vnet_buffer_opaque_t::next_index

Definition at line 195 of file buffer.h.

◆ next_index [2/2]

u8 vnet_buffer_opaque_t::next_index

Definition at line 286 of file buffer.h.

◆ next_node_opaque

u32 vnet_buffer_opaque_t::next_node_opaque

Definition at line 367 of file buffer.h.

◆ next_range_bi

u32 vnet_buffer_opaque_t::next_range_bi

Definition at line 235 of file buffer.h.

◆ opaque_index

u32 vnet_buffer_opaque_t::opaque_index

Definition at line 297 of file buffer.h.

◆ overlay_afi

u16 vnet_buffer_opaque_t::overlay_afi

Definition at line 357 of file buffer.h.

◆ owner_thread_index

u16 vnet_buffer_opaque_t::owner_thread_index

Definition at line 201 of file buffer.h.

◆ pad [1/2]

u32 vnet_buffer_opaque_t::pad[2]

Definition at line 250 of file buffer.h.

◆ pad [2/2]

struct opaque_l2 vnet_buffer_opaque_t::pad

Definition at line 293 of file buffer.h.

◆ policer

struct { ... } vnet_buffer_opaque_t::policer

◆ protect_index

u32 vnet_buffer_opaque_t::protect_index

Definition at line 313 of file buffer.h.

◆ pyld_proto

u8 vnet_buffer_opaque_t::pyld_proto

Definition at line 254 of file buffer.h.

◆ range_first

u16 vnet_buffer_opaque_t::range_first

Definition at line 233 of file buffer.h.

◆ range_last

u16 vnet_buffer_opaque_t::range_last

Definition at line 234 of file buffer.h.

◆ reass

union { ... } vnet_buffer_opaque_t::reass

◆ rpf_id

u32 vnet_buffer_opaque_t::rpf_id

Definition at line 174 of file buffer.h.

◆ rsvd

u8 vnet_buffer_opaque_t::rsvd

Definition at line 255 of file buffer.h.

◆ sad_index

u32 vnet_buffer_opaque_t::sad_index

Definition at line 312 of file buffer.h.

◆ saddr

u32 vnet_buffer_opaque_t::saddr

Definition at line 328 of file buffer.h.

◆ save_protocol

u32 vnet_buffer_opaque_t::save_protocol

Definition at line 164 of file buffer.h.

◆ save_rewrite_length

u8 vnet_buffer_opaque_t::save_rewrite_length

Definition at line 171 of file buffer.h.

◆ seq_end

u32 vnet_buffer_opaque_t::seq_end

Definition at line 369 of file buffer.h.

◆ seq_number

u32 vnet_buffer_opaque_t::seq_number

Definition at line 366 of file buffer.h.

◆ session_index

u32 vnet_buffer_opaque_t::session_index

Definition at line 287 of file buffer.h.

◆ shg

u8 vnet_buffer_opaque_t::shg

Definition at line 278 of file buffer.h.

◆ snat

struct { ... } vnet_buffer_opaque_t::snat

◆ sw_if_index

u32 vnet_buffer_opaque_t::sw_if_index[VLIB_N_RX_TX]

Definition at line 136 of file buffer.h.

◆ table_index

u32 vnet_buffer_opaque_t::table_index

Definition at line 296 of file buffer.h.

◆ tcp

struct { ... } vnet_buffer_opaque_t::tcp

◆ tcp_ack_number

u32 vnet_buffer_opaque_t::tcp_ack_number

Definition at line 214 of file buffer.h.

◆ tcp_seq_number

u32 vnet_buffer_opaque_t::tcp_seq_number

Definition at line 219 of file buffer.h.

◆ ttl

u8 vnet_buffer_opaque_t::ttl

Definition at line 251 of file buffer.h.

◆ type

u8 vnet_buffer_opaque_t::type

Definition at line 180 of file buffer.h.

◆ unused

u32 vnet_buffer_opaque_t::unused[6]

Definition at line 383 of file buffer.h.

◆ v6

struct { ... } vnet_buffer_opaque_t::v6

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