- Enabling arc "device-input" with the next node "pppoe-input" on the pppoe cp interface: to get rid of L3_MAC_MISMATCH error - Parsing in the "pppoe-input" node fixed to parse all headers from the scratch - Getting mac address directly from encap interface when filling up DPO adjacency. Anyway, in the case of the dot1q subinterface, we need to get vlan tags to fill the DPO adjacency. Type: improvement Change-Id: I5405931b0f58bef7b852c079a7e66e0da8b5de0f Signed-off-by: Stanislav Zaikin <zstaseg@gmail.com>
118 lines
3.6 KiB
Plaintext
118 lines
3.6 KiB
Plaintext
/*
|
|
* Copyright (c) 2017 Intel 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 = "2.0.0";
|
|
import "vnet/interface_types.api";
|
|
import "vnet/ethernet/ethernet_types.api";
|
|
import "vnet/ip/ip_types.api";
|
|
|
|
/** \brief Set or delete an PPPOE session
|
|
@param client_index - opaque cookie to identify the sender
|
|
@param context - sender context, to match reply w/ request
|
|
@param is_add - add address if non-zero, else delete
|
|
@param session_id - PPPoE session ID
|
|
@param client_ip - PPPOE session's client address.
|
|
@param decap_vrf_id - the vrf index for pppoe decaped packet
|
|
@param client_mac - the client ethernet address
|
|
*/
|
|
define pppoe_add_del_session
|
|
{
|
|
u32 client_index;
|
|
u32 context;
|
|
bool is_add;
|
|
u16 session_id;
|
|
vl_api_address_t client_ip;
|
|
u32 decap_vrf_id;
|
|
vl_api_mac_address_t client_mac;
|
|
option vat_help = "client-addr <client-addr> session-id <nn> [encap-if-index <nn>] [decap-next [ip4|ip6|node <name>]] local-mac <local-mac> client-mac <client-mac> [del]";
|
|
};
|
|
|
|
/** \brief reply for set or delete an PPPOE session
|
|
@param context - sender context, to match reply w/ request
|
|
@param retval - return code
|
|
@param sw_if_index - software index of the interface
|
|
*/
|
|
define pppoe_add_del_session_reply
|
|
{
|
|
u32 context;
|
|
i32 retval;
|
|
vl_api_interface_index_t sw_if_index;
|
|
};
|
|
|
|
/** \brief Dump PPPOE session
|
|
@param client_index - opaque cookie to identify the sender
|
|
@param context - sender context, to match reply w/ request
|
|
@param sw_if_index - software index of the interface
|
|
*/
|
|
define pppoe_session_dump
|
|
{
|
|
u32 client_index;
|
|
u32 context;
|
|
vl_api_interface_index_t sw_if_index;
|
|
option vat_help = "[<intfc> | sw_if_index <nn>]";
|
|
};
|
|
|
|
/** \brief dump details of an PPPOE session
|
|
@param context - sender context, to match reply w/ request
|
|
@param sw_if_index - software index of the interface
|
|
@param session_id - PPPoE session ID
|
|
@param client_ip - PPPOE session's client address.
|
|
@param encap_if_index - the index of tx interface for pppoe encaped packet
|
|
@param decap_vrf_id - the vrf index for pppoe decaped packet
|
|
@param local_mac - the local ethernet address
|
|
@param client_mac - the client ethernet address
|
|
*/
|
|
define pppoe_session_details
|
|
{
|
|
u32 context;
|
|
vl_api_interface_index_t sw_if_index;
|
|
u16 session_id;
|
|
vl_api_address_t client_ip;
|
|
vl_api_interface_index_t encap_if_index;
|
|
u32 decap_vrf_id;
|
|
vl_api_mac_address_t local_mac;
|
|
vl_api_mac_address_t client_mac;
|
|
};
|
|
|
|
/** \brief Create PPPOE control plane interface
|
|
@param client_index - opaque cookie to identify the sender
|
|
@param context - sender context, to match reply w/ request
|
|
@param sw_if_index - software index of the interface
|
|
@param is_add - to create or to delete
|
|
*/
|
|
define pppoe_add_del_cp
|
|
{
|
|
u32 client_index;
|
|
u32 context;
|
|
vl_api_interface_index_t sw_if_index;
|
|
u8 is_add;
|
|
option vat_help = "[ sw_if_index <intfc> is_add <bool> ]";
|
|
};
|
|
|
|
/** \brief reply for create PPPOE control plane interface
|
|
@param retval - return code
|
|
*/
|
|
define pppoe_add_del_cp_reply
|
|
{
|
|
u32 context;
|
|
i32 retval;
|
|
};
|
|
|
|
/*
|
|
* Local Variables:
|
|
* eval: (c-set-style "gnu")
|
|
* End:
|
|
*/
|