FD.io VPP  v21.06-3-gbb25fbf28
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
 
vnet_buffer_oflags_t oflags: 8
 
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
 
      u16   thread_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
 
      u32   required_thread_index
 
   }   snat
 
   u32   unused [6]
 
}; 
 

Detailed Description

Definition at line 149 of file buffer.h.

Field Documentation

◆ @158

union { ... }

◆ ack_number

u32 vnet_buffer_opaque_t::ack_number

Definition at line 389 of file buffer.h.

◆ adj_index

u32 vnet_buffer_opaque_t::adj_index[VLIB_N_RX_TX]

Definition at line 167 of file buffer.h.

◆ bd_age

u8 vnet_buffer_opaque_t::bd_age

Definition at line 295 of file buffer.h.

◆ bd_index

u16 vnet_buffer_opaque_t::bd_index

Definition at line 291 of file buffer.h.

◆ bier

struct { ... } vnet_buffer_opaque_t::bier

◆ checksum_offset

u16 vnet_buffer_opaque_t::checksum_offset

Definition at line 352 of file buffer.h.

◆ code

u8 vnet_buffer_opaque_t::code

Definition at line 197 of file buffer.h.

◆ connection_index

u32 vnet_buffer_opaque_t::connection_index

Definition at line 382 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 369 of file buffer.h.

◆ daddr

u32 vnet_buffer_opaque_t::daddr

Definition at line 347 of file buffer.h.

◆ data

u32 vnet_buffer_opaque_t::data

Definition at line 198 of file buffer.h.

◆ data_len

u16 vnet_buffer_opaque_t::data_len

data len

Definition at line 392 of file buffer.h.

◆ data_offset

u16 vnet_buffer_opaque_t::data_offset

offset relative to ip hdr

Definition at line 391 of file buffer.h.

◆ error_next_index

u32 vnet_buffer_opaque_t::error_next_index

Definition at line 212 of file buffer.h.

◆ estimated_mtu

u16 vnet_buffer_opaque_t::estimated_mtu

Definition at line 240 of file buffer.h.

◆ exp

u8 vnet_buffer_opaque_t::exp

Definition at line 268 of file buffer.h.

◆ feature_arc_index

u8 vnet_buffer_opaque_t::feature_arc_index

Definition at line 155 of file buffer.h.

◆ feature_bitmap

u32 vnet_buffer_opaque_t::feature_bitmap

Definition at line 290 of file buffer.h.

◆ fib_index

u32 vnet_buffer_opaque_t::fib_index

Definition at line 183 of file buffer.h.

◆ first

u8 vnet_buffer_opaque_t::first

Definition at line 269 of file buffer.h.

◆ flags [1/2]

u8 vnet_buffer_opaque_t::flags

Definition at line 362 of file buffer.h.

◆ flags [2/2]

u32 vnet_buffer_opaque_t::flags

Definition at line 399 of file buffer.h.

◆ flow_hash

u32 vnet_buffer_opaque_t::flow_hash

Definition at line 175 of file buffer.h.

◆ frag_offset

u16 vnet_buffer_opaque_t::frag_offset

Definition at line 348 of file buffer.h.

◆ fragment_first

u16 vnet_buffer_opaque_t::fragment_first

Definition at line 247 of file buffer.h.

◆ fragment_last

u16 vnet_buffer_opaque_t::fragment_last

Definition at line 248 of file buffer.h.

◆ hash

u64 vnet_buffer_opaque_t::hash

Definition at line 315 of file buffer.h.

◆ hdr_offset

u16 vnet_buffer_opaque_t::hdr_offset

offset relative to ip hdr

Definition at line 390 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 233 of file buffer.h.

◆ index

u32 vnet_buffer_opaque_t::index

Definition at line 322 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 252 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 232 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 234 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 152 of file buffer.h.

◆ l2_len

u8 vnet_buffer_opaque_t::l2_len

Definition at line 293 of file buffer.h.

◆ l2fib_sn

u16 vnet_buffer_opaque_t::l2fib_sn

Definition at line 292 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 153 of file buffer.h.

◆ l4_dst_port

u16 vnet_buffer_opaque_t::l4_dst_port

Definition at line 229 of file buffer.h.

◆ l4_hdr_offset

i16 vnet_buffer_opaque_t::l4_hdr_offset

Definition at line 154 of file buffer.h.

◆ l4_offset

u16 vnet_buffer_opaque_t::l4_offset

Definition at line 349 of file buffer.h.

◆ l4_protocol

u8 vnet_buffer_opaque_t::l4_protocol

Definition at line 350 of file buffer.h.

◆ l4_src_port

u16 vnet_buffer_opaque_t::l4_src_port

Definition at line 228 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 344 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 275 of file buffer.h.

◆ mtu

u16 vnet_buffer_opaque_t::mtu

Definition at line 338 of file buffer.h.

◆ n_bytes

u8 vnet_buffer_opaque_t::n_bytes

Definition at line 283 of file buffer.h.

◆ next_index [1/2]

u32 vnet_buffer_opaque_t::next_index

Definition at line 211 of file buffer.h.

◆ next_index [2/2]

u8 vnet_buffer_opaque_t::next_index

Definition at line 302 of file buffer.h.

◆ next_node_opaque

u32 vnet_buffer_opaque_t::next_node_opaque

Definition at line 386 of file buffer.h.

◆ next_range_bi

u32 vnet_buffer_opaque_t::next_range_bi

Definition at line 251 of file buffer.h.

◆ oflags

vnet_buffer_oflags_t vnet_buffer_opaque_t::oflags

Definition at line 157 of file buffer.h.

◆ opaque_index

u32 vnet_buffer_opaque_t::opaque_index

Definition at line 313 of file buffer.h.

◆ overlay_afi

u16 vnet_buffer_opaque_t::overlay_afi

Definition at line 376 of file buffer.h.

◆ owner_thread_index

u16 vnet_buffer_opaque_t::owner_thread_index

Definition at line 217 of file buffer.h.

◆ pad [1/2]

struct opaque_l2 vnet_buffer_opaque_t::pad

Definition at line 309 of file buffer.h.

◆ pad [2/2]

u32 vnet_buffer_opaque_t::pad[2]

Definition at line 266 of file buffer.h.

◆ policer

struct { ... } vnet_buffer_opaque_t::policer

◆ protect_index

u32 vnet_buffer_opaque_t::protect_index

Definition at line 331 of file buffer.h.

◆ pyld_proto

u8 vnet_buffer_opaque_t::pyld_proto

Definition at line 270 of file buffer.h.

◆ range_first

u16 vnet_buffer_opaque_t::range_first

Definition at line 249 of file buffer.h.

◆ range_last

u16 vnet_buffer_opaque_t::range_last

Definition at line 250 of file buffer.h.

◆ reass

union { ... } vnet_buffer_opaque_t::reass

◆ required_thread_index

u32 vnet_buffer_opaque_t::required_thread_index

Definition at line 400 of file buffer.h.

◆ rpf_id

u32 vnet_buffer_opaque_t::rpf_id

Definition at line 190 of file buffer.h.

◆ rsvd

u8 vnet_buffer_opaque_t::rsvd

Definition at line 271 of file buffer.h.

◆ sad_index

u32 vnet_buffer_opaque_t::sad_index

Definition at line 330 of file buffer.h.

◆ saddr

u32 vnet_buffer_opaque_t::saddr

Definition at line 347 of file buffer.h.

◆ save_protocol

u32 vnet_buffer_opaque_t::save_protocol

Definition at line 180 of file buffer.h.

◆ save_rewrite_length

u8 vnet_buffer_opaque_t::save_rewrite_length

Definition at line 187 of file buffer.h.

◆ seq_end

u32 vnet_buffer_opaque_t::seq_end

Definition at line 388 of file buffer.h.

◆ seq_number

u32 vnet_buffer_opaque_t::seq_number

Definition at line 385 of file buffer.h.

◆ session_index

u32 vnet_buffer_opaque_t::session_index

Definition at line 303 of file buffer.h.

◆ shg

u8 vnet_buffer_opaque_t::shg

Definition at line 294 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 151 of file buffer.h.

◆ table_index

u32 vnet_buffer_opaque_t::table_index

Definition at line 312 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 230 of file buffer.h.

◆ tcp_seq_number

u32 vnet_buffer_opaque_t::tcp_seq_number

Definition at line 235 of file buffer.h.

◆ thread_index

u16 vnet_buffer_opaque_t::thread_index

Definition at line 332 of file buffer.h.

◆ ttl

u8 vnet_buffer_opaque_t::ttl

Definition at line 267 of file buffer.h.

◆ type

u8 vnet_buffer_opaque_t::type

Definition at line 196 of file buffer.h.

◆ unused

u32 vnet_buffer_opaque_t::unused[6]

Definition at line 403 of file buffer.h.

◆ v6

struct { ... } vnet_buffer_opaque_t::v6

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