github.com/edwarnicke/govpp@v0.0.0-20230130211138-14ef5d20b1d0/binapi/tunnel_types/tunnel_types.ba.go (about)

     1  // Code generated by GoVPP's binapi-generator. DO NOT EDIT.
     2  // versions:
     3  //  binapi-generator: v0.4.0-dev
     4  //  VPP:              23.02-rc0~189-g57127b32a
     5  // source: /usr/share/vpp/api/core/tunnel_types.api.json
     6  
     7  // Package tunnel_types contains generated bindings for API file tunnel_types.api.
     8  //
     9  // Contents:
    10  //   3 enums
    11  //   1 struct
    12  //
    13  package tunnel_types
    14  
    15  import (
    16  	"strconv"
    17  
    18  	api "git.fd.io/govpp.git/api"
    19  	interface_types "github.com/edwarnicke/govpp/binapi/interface_types"
    20  	ip_types "github.com/edwarnicke/govpp/binapi/ip_types"
    21  )
    22  
    23  // This is a compile-time assertion to ensure that this generated file
    24  // is compatible with the GoVPP api package it is being compiled against.
    25  // A compilation error at this line likely means your copy of the
    26  // GoVPP api package needs to be updated.
    27  const _ = api.GoVppAPIPackageIsVersion2
    28  
    29  // TunnelEncapDecapFlags defines enum 'tunnel_encap_decap_flags'.
    30  type TunnelEncapDecapFlags uint8
    31  
    32  const (
    33  	TUNNEL_API_ENCAP_DECAP_FLAG_NONE                  TunnelEncapDecapFlags = 0
    34  	TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_DF         TunnelEncapDecapFlags = 1
    35  	TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_SET_DF          TunnelEncapDecapFlags = 2
    36  	TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_DSCP       TunnelEncapDecapFlags = 4
    37  	TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_ECN        TunnelEncapDecapFlags = 8
    38  	TUNNEL_API_ENCAP_DECAP_FLAG_DECAP_COPY_ECN        TunnelEncapDecapFlags = 16
    39  	TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_INNER_HASH      TunnelEncapDecapFlags = 32
    40  	TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_HOP_LIMIT  TunnelEncapDecapFlags = 64
    41  	TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_FLOW_LABEL TunnelEncapDecapFlags = 128
    42  )
    43  
    44  var (
    45  	TunnelEncapDecapFlags_name = map[uint8]string{
    46  		0:   "TUNNEL_API_ENCAP_DECAP_FLAG_NONE",
    47  		1:   "TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_DF",
    48  		2:   "TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_SET_DF",
    49  		4:   "TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_DSCP",
    50  		8:   "TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_ECN",
    51  		16:  "TUNNEL_API_ENCAP_DECAP_FLAG_DECAP_COPY_ECN",
    52  		32:  "TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_INNER_HASH",
    53  		64:  "TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_HOP_LIMIT",
    54  		128: "TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_FLOW_LABEL",
    55  	}
    56  	TunnelEncapDecapFlags_value = map[string]uint8{
    57  		"TUNNEL_API_ENCAP_DECAP_FLAG_NONE":                  0,
    58  		"TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_DF":         1,
    59  		"TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_SET_DF":          2,
    60  		"TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_DSCP":       4,
    61  		"TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_ECN":        8,
    62  		"TUNNEL_API_ENCAP_DECAP_FLAG_DECAP_COPY_ECN":        16,
    63  		"TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_INNER_HASH":      32,
    64  		"TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_HOP_LIMIT":  64,
    65  		"TUNNEL_API_ENCAP_DECAP_FLAG_ENCAP_COPY_FLOW_LABEL": 128,
    66  	}
    67  )
    68  
    69  func (x TunnelEncapDecapFlags) String() string {
    70  	s, ok := TunnelEncapDecapFlags_name[uint8(x)]
    71  	if ok {
    72  		return s
    73  	}
    74  	str := func(n uint8) string {
    75  		s, ok := TunnelEncapDecapFlags_name[uint8(n)]
    76  		if ok {
    77  			return s
    78  		}
    79  		return "TunnelEncapDecapFlags(" + strconv.Itoa(int(n)) + ")"
    80  	}
    81  	for i := uint8(0); i <= 8; i++ {
    82  		val := uint8(x)
    83  		if val&(1<<i) != 0 {
    84  			if s != "" {
    85  				s += "|"
    86  			}
    87  			s += str(1 << i)
    88  		}
    89  	}
    90  	if s == "" {
    91  		return str(uint8(x))
    92  	}
    93  	return s
    94  }
    95  
    96  // TunnelMode defines enum 'tunnel_mode'.
    97  type TunnelMode uint8
    98  
    99  const (
   100  	TUNNEL_API_MODE_P2P TunnelMode = 0
   101  	TUNNEL_API_MODE_MP  TunnelMode = 1
   102  )
   103  
   104  var (
   105  	TunnelMode_name = map[uint8]string{
   106  		0: "TUNNEL_API_MODE_P2P",
   107  		1: "TUNNEL_API_MODE_MP",
   108  	}
   109  	TunnelMode_value = map[string]uint8{
   110  		"TUNNEL_API_MODE_P2P": 0,
   111  		"TUNNEL_API_MODE_MP":  1,
   112  	}
   113  )
   114  
   115  func (x TunnelMode) String() string {
   116  	s, ok := TunnelMode_name[uint8(x)]
   117  	if ok {
   118  		return s
   119  	}
   120  	return "TunnelMode(" + strconv.Itoa(int(x)) + ")"
   121  }
   122  
   123  // TunnelFlags defines enum 'tunnel_flags'.
   124  type TunnelFlags uint8
   125  
   126  const (
   127  	TUNNEL_API_FLAG_TRACK_MTU TunnelFlags = 1
   128  )
   129  
   130  var (
   131  	TunnelFlags_name = map[uint8]string{
   132  		1: "TUNNEL_API_FLAG_TRACK_MTU",
   133  	}
   134  	TunnelFlags_value = map[string]uint8{
   135  		"TUNNEL_API_FLAG_TRACK_MTU": 1,
   136  	}
   137  )
   138  
   139  func (x TunnelFlags) String() string {
   140  	s, ok := TunnelFlags_name[uint8(x)]
   141  	if ok {
   142  		return s
   143  	}
   144  	str := func(n uint8) string {
   145  		s, ok := TunnelFlags_name[uint8(n)]
   146  		if ok {
   147  			return s
   148  		}
   149  		return "TunnelFlags(" + strconv.Itoa(int(n)) + ")"
   150  	}
   151  	for i := uint8(0); i <= 8; i++ {
   152  		val := uint8(x)
   153  		if val&(1<<i) != 0 {
   154  			if s != "" {
   155  				s += "|"
   156  			}
   157  			s += str(1 << i)
   158  		}
   159  	}
   160  	if s == "" {
   161  		return str(uint8(x))
   162  	}
   163  	return s
   164  }
   165  
   166  // Tunnel defines type 'tunnel'.
   167  type Tunnel struct {
   168  	Instance        uint32                         `binapi:"u32,name=instance" json:"instance,omitempty"`
   169  	Src             ip_types.Address               `binapi:"address,name=src" json:"src,omitempty"`
   170  	Dst             ip_types.Address               `binapi:"address,name=dst" json:"dst,omitempty"`
   171  	SwIfIndex       interface_types.InterfaceIndex `binapi:"interface_index,name=sw_if_index" json:"sw_if_index,omitempty"`
   172  	TableID         uint32                         `binapi:"u32,name=table_id" json:"table_id,omitempty"`
   173  	EncapDecapFlags TunnelEncapDecapFlags          `binapi:"tunnel_encap_decap_flags,name=encap_decap_flags" json:"encap_decap_flags,omitempty"`
   174  	Mode            TunnelMode                     `binapi:"tunnel_mode,name=mode" json:"mode,omitempty"`
   175  	Flags           TunnelFlags                    `binapi:"tunnel_flags,name=flags" json:"flags,omitempty"`
   176  	Dscp            ip_types.IPDscp                `binapi:"ip_dscp,name=dscp" json:"dscp,omitempty"`
   177  	HopLimit        uint8                          `binapi:"u8,name=hop_limit" json:"hop_limit,omitempty"`
   178  }