/* Hey Emacs use -*- mode: C -*- */ /* * Copyright (c) 2020 Cisco and/or its affiliates. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at: * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ option version = "1.0.0"; import "vnet/interface_types.api"; import "vnet/ethernet/ethernet_types.api"; import "vnet/ip/ip_types.api"; typedef local_locator { vl_api_interface_index_t sw_if_index; u8 priority; u8 weight; }; typedef remote_locator { u8 priority; u8 weight; vl_api_address_t ip_address; }; enum eid_type : u8 { EID_TYPE_API_PREFIX = 0, EID_TYPE_API_MAC = 1, EID_TYPE_API_NSH = 2, }; typedef nsh { u32 spi; u8 si; }; union eid_address { vl_api_prefix_t prefix; vl_api_mac_address_t mac; vl_api_nsh_t nsh; }; /* endpoint identifier */ typedef eid { vl_api_eid_type_t type; vl_api_eid_address_t address; }; enum hmac_key_id : u8 { KEY_ID_API_HMAC_NO_KEY = 0, KEY_ID_API_HMAC_SHA_1_96 = 1, KEY_ID_API_HMAC_SHA_256_128 = 2, }; typedef hmac_key { vl_api_hmac_key_id_t id; u8 key[64]; };