From d1f24d37bd447b64e402298bb8eb2479681facf9 Mon Sep 17 00:00:00 2001 From: Ondrej Fabry Date: Fri, 17 Jul 2020 10:36:28 +0200 Subject: Improve binapi generator - simplified Size/Marshal/Unmarshal methods - replace struc in unions with custom marshal/unmarshal - fix imports in generated files - fix mock adapter - generate rpc service using low-level stream API (dumps generate control ping or stream msg..) - move examples/binapi to binapi and generate all API for latest release - add binapigen.Plugin for developing custom generator plugins - optionally generate HTTP handlers (REST API) for RPC services - add govpp program for browsing VPP API Change-Id: I092e9ed2b0c17972b3476463c3d4b14dd76ed42b Signed-off-by: Ondrej Fabry --- binapi/ipsec_types/ipsec_types.ba.go | 236 +++++++++++++++++++++++++++++++++++ 1 file changed, 236 insertions(+) create mode 100644 binapi/ipsec_types/ipsec_types.ba.go (limited to 'binapi/ipsec_types/ipsec_types.ba.go') diff --git a/binapi/ipsec_types/ipsec_types.ba.go b/binapi/ipsec_types/ipsec_types.ba.go new file mode 100644 index 0000000..c1d80aa --- /dev/null +++ b/binapi/ipsec_types/ipsec_types.ba.go @@ -0,0 +1,236 @@ +// Code generated by GoVPP's binapi-generator. DO NOT EDIT. +// versions: +// binapi-generator: v0.4.0-dev +// VPP: 20.05-release +// source: /usr/share/vpp/api/core/ipsec_types.api.json + +// Package ipsec_types contains generated bindings for API file ipsec_types.api. +// +// Contents: +// 4 enums +// 2 structs +// +package ipsec_types + +import ( + api "git.fd.io/govpp.git/api" + ip_types "git.fd.io/govpp.git/binapi/ip_types" + "strconv" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the GoVPP api package it is being compiled against. +// A compilation error at this line likely means your copy of the +// GoVPP api package needs to be updated. +const _ = api.GoVppAPIPackageIsVersion2 + +// IpsecCryptoAlg defines enum 'ipsec_crypto_alg'. +type IpsecCryptoAlg uint32 + +const ( + IPSEC_API_CRYPTO_ALG_NONE IpsecCryptoAlg = 0 + IPSEC_API_CRYPTO_ALG_AES_CBC_128 IpsecCryptoAlg = 1 + IPSEC_API_CRYPTO_ALG_AES_CBC_192 IpsecCryptoAlg = 2 + IPSEC_API_CRYPTO_ALG_AES_CBC_256 IpsecCryptoAlg = 3 + IPSEC_API_CRYPTO_ALG_AES_CTR_128 IpsecCryptoAlg = 4 + IPSEC_API_CRYPTO_ALG_AES_CTR_192 IpsecCryptoAlg = 5 + IPSEC_API_CRYPTO_ALG_AES_CTR_256 IpsecCryptoAlg = 6 + IPSEC_API_CRYPTO_ALG_AES_GCM_128 IpsecCryptoAlg = 7 + IPSEC_API_CRYPTO_ALG_AES_GCM_192 IpsecCryptoAlg = 8 + IPSEC_API_CRYPTO_ALG_AES_GCM_256 IpsecCryptoAlg = 9 + IPSEC_API_CRYPTO_ALG_DES_CBC IpsecCryptoAlg = 10 + IPSEC_API_CRYPTO_ALG_3DES_CBC IpsecCryptoAlg = 11 +) + +var ( + IpsecCryptoAlg_name = map[uint32]string{ + 0: "IPSEC_API_CRYPTO_ALG_NONE", + 1: "IPSEC_API_CRYPTO_ALG_AES_CBC_128", + 2: "IPSEC_API_CRYPTO_ALG_AES_CBC_192", + 3: "IPSEC_API_CRYPTO_ALG_AES_CBC_256", + 4: "IPSEC_API_CRYPTO_ALG_AES_CTR_128", + 5: "IPSEC_API_CRYPTO_ALG_AES_CTR_192", + 6: "IPSEC_API_CRYPTO_ALG_AES_CTR_256", + 7: "IPSEC_API_CRYPTO_ALG_AES_GCM_128", + 8: "IPSEC_API_CRYPTO_ALG_AES_GCM_192", + 9: "IPSEC_API_CRYPTO_ALG_AES_GCM_256", + 10: "IPSEC_API_CRYPTO_ALG_DES_CBC", + 11: "IPSEC_API_CRYPTO_ALG_3DES_CBC", + } + IpsecCryptoAlg_value = map[string]uint32{ + "IPSEC_API_CRYPTO_ALG_NONE": 0, + "IPSEC_API_CRYPTO_ALG_AES_CBC_128": 1, + "IPSEC_API_CRYPTO_ALG_AES_CBC_192": 2, + "IPSEC_API_CRYPTO_ALG_AES_CBC_256": 3, + "IPSEC_API_CRYPTO_ALG_AES_CTR_128": 4, + "IPSEC_API_CRYPTO_ALG_AES_CTR_192": 5, + "IPSEC_API_CRYPTO_ALG_AES_CTR_256": 6, + "IPSEC_API_CRYPTO_ALG_AES_GCM_128": 7, + "IPSEC_API_CRYPTO_ALG_AES_GCM_192": 8, + "IPSEC_API_CRYPTO_ALG_AES_GCM_256": 9, + "IPSEC_API_CRYPTO_ALG_DES_CBC": 10, + "IPSEC_API_CRYPTO_ALG_3DES_CBC": 11, + } +) + +func (x IpsecCryptoAlg) String() string { + s, ok := IpsecCryptoAlg_name[uint32(x)] + if ok { + return s + } + return "IpsecCryptoAlg(" + strconv.Itoa(int(x)) + ")" +} + +// IpsecIntegAlg defines enum 'ipsec_integ_alg'. +type IpsecIntegAlg uint32 + +const ( + IPSEC_API_INTEG_ALG_NONE IpsecIntegAlg = 0 + IPSEC_API_INTEG_ALG_MD5_96 IpsecIntegAlg = 1 + IPSEC_API_INTEG_ALG_SHA1_96 IpsecIntegAlg = 2 + IPSEC_API_INTEG_ALG_SHA_256_96 IpsecIntegAlg = 3 + IPSEC_API_INTEG_ALG_SHA_256_128 IpsecIntegAlg = 4 + IPSEC_API_INTEG_ALG_SHA_384_192 IpsecIntegAlg = 5 + IPSEC_API_INTEG_ALG_SHA_512_256 IpsecIntegAlg = 6 +) + +var ( + IpsecIntegAlg_name = map[uint32]string{ + 0: "IPSEC_API_INTEG_ALG_NONE", + 1: "IPSEC_API_INTEG_ALG_MD5_96", + 2: "IPSEC_API_INTEG_ALG_SHA1_96", + 3: "IPSEC_API_INTEG_ALG_SHA_256_96", + 4: "IPSEC_API_INTEG_ALG_SHA_256_128", + 5: "IPSEC_API_INTEG_ALG_SHA_384_192", + 6: "IPSEC_API_INTEG_ALG_SHA_512_256", + } + IpsecIntegAlg_value = map[string]uint32{ + "IPSEC_API_INTEG_ALG_NONE": 0, + "IPSEC_API_INTEG_ALG_MD5_96": 1, + "IPSEC_API_INTEG_ALG_SHA1_96": 2, + "IPSEC_API_INTEG_ALG_SHA_256_96": 3, + "IPSEC_API_INTEG_ALG_SHA_256_128": 4, + "IPSEC_API_INTEG_ALG_SHA_384_192": 5, + "IPSEC_API_INTEG_ALG_SHA_512_256": 6, + } +) + +func (x IpsecIntegAlg) String() string { + s, ok := IpsecIntegAlg_name[uint32(x)] + if ok { + return s + } + return "IpsecIntegAlg(" + strconv.Itoa(int(x)) + ")" +} + +// IpsecProto defines enum 'ipsec_proto'. +type IpsecProto uint32 + +const ( + IPSEC_API_PROTO_ESP IpsecProto = 50 + IPSEC_API_PROTO_AH IpsecProto = 51 +) + +var ( + IpsecProto_name = map[uint32]string{ + 50: "IPSEC_API_PROTO_ESP", + 51: "IPSEC_API_PROTO_AH", + } + IpsecProto_value = map[string]uint32{ + "IPSEC_API_PROTO_ESP": 50, + "IPSEC_API_PROTO_AH": 51, + } +) + +func (x IpsecProto) String() string { + s, ok := IpsecProto_name[uint32(x)] + if ok { + return s + } + return "IpsecProto(" + strconv.Itoa(int(x)) + ")" +} + +// IpsecSadFlags defines enum 'ipsec_sad_flags'. +type IpsecSadFlags uint32 + +const ( + IPSEC_API_SAD_FLAG_NONE IpsecSadFlags = 0 + IPSEC_API_SAD_FLAG_USE_ESN IpsecSadFlags = 1 + IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY IpsecSadFlags = 2 + IPSEC_API_SAD_FLAG_IS_TUNNEL IpsecSadFlags = 4 + IPSEC_API_SAD_FLAG_IS_TUNNEL_V6 IpsecSadFlags = 8 + IPSEC_API_SAD_FLAG_UDP_ENCAP IpsecSadFlags = 16 + IPSEC_API_SAD_FLAG_IS_INBOUND IpsecSadFlags = 64 +) + +var ( + IpsecSadFlags_name = map[uint32]string{ + 0: "IPSEC_API_SAD_FLAG_NONE", + 1: "IPSEC_API_SAD_FLAG_USE_ESN", + 2: "IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY", + 4: "IPSEC_API_SAD_FLAG_IS_TUNNEL", + 8: "IPSEC_API_SAD_FLAG_IS_TUNNEL_V6", + 16: "IPSEC_API_SAD_FLAG_UDP_ENCAP", + 64: "IPSEC_API_SAD_FLAG_IS_INBOUND", + } + IpsecSadFlags_value = map[string]uint32{ + "IPSEC_API_SAD_FLAG_NONE": 0, + "IPSEC_API_SAD_FLAG_USE_ESN": 1, + "IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY": 2, + "IPSEC_API_SAD_FLAG_IS_TUNNEL": 4, + "IPSEC_API_SAD_FLAG_IS_TUNNEL_V6": 8, + "IPSEC_API_SAD_FLAG_UDP_ENCAP": 16, + "IPSEC_API_SAD_FLAG_IS_INBOUND": 64, + } +) + +func (x IpsecSadFlags) String() string { + s, ok := IpsecSadFlags_name[uint32(x)] + if ok { + return s + } + str := func(n uint32) string { + s, ok := IpsecSadFlags_name[uint32(n)] + if ok { + return s + } + return "IpsecSadFlags(" + strconv.Itoa(int(n)) + ")" + } + for i := uint32(0); i <= 32; i++ { + val := uint32(x) + if val&(1<