Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.11.1.2
openapi_pbvlan.h
Go to the documentation of this file.
1 
9 /*********************************************************************
10 *
11 * Copyright 2016-2023 Broadcom.
12 *
13 * Licensed under the Apache License, Version 2.0 (the "License");
14 * you may not use this file except in compliance with the License.
15 * You may obtain a copy of the License at
16 *
17 * http://www.apache.org/licenses/LICENSE-2.0
18 *
19 * Unless required by applicable law or agreed to in writing, software
20 * distributed under the License is distributed on an "AS IS" BASIS,
21 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 * See the License for the specific language governing permissions and
23 * limitations under the License.
24 *
25 **********************************************************************
26 *
27 * @filename openapi_pbvlan.h
28 *
29 * @purpose Provide an external API to applications in other processes
30 * accessing Protocol-Based VLAN configuration.
31 *
32 * @component OpEN
33 *
34 * @note This code implements the RPC accessible function calls
35 * for the Protocol-Based VLAN configuration.
36 *
37 * Type translation between external and internal name spaces
38 * occurs here.
39 *
40 * @create 04/20/2016
41 *
42 * @end
43 *
44 **********************************************************************/
45 #ifndef OPENAPI_PBVLAN_H_INCLUDED
46 #define OPENAPI_PBVLAN_H_INCLUDED
47 
48 #define OPENAPI_PBVLAN_MIN_NUM_GROUPS 1
49 #define OPENAPI_PBVLAN_MAX_NUM_GROUPS 128
50 #define OPENAPI_PBVLAN_MIN_GROUP_NAME 1
51 #define OPENAPI_PBVLAN_MAX_GROUP_NAME 16
52 #define OPENAPI_PBVLAN_MAX_CONFIGURABLE_PROTOCOLS 16
54 #define OPEN_PB_VLAN_GROUP_PROTOCOL_HEX_IP 0x0800
55 #define OPEN_PB_VLAN_GROUP_PROTOCOL_HEX_ARP 0x0806
56 #define OPEN_PB_VLAN_GROUP_PROTOCOL_HEX_IPX 0x8137
57 /*****************************************************************/
76  uint32_t groupId);
77 
78 /*****************************************************************/
97  uint32_t groupId);
98 
99 /*****************************************************************/
113  uint32_t *groupId);
114 
115 /*****************************************************************/
133  uint32_t groupId,
134  uint32_t *nextGroupId);
135 
136 /****************************************************************************/
158  uint32_t groupId,
159  open_buffdesc *groupName);
160 
161 /****************************************************************************/
180  uint32_t groupId,
181  open_buffdesc *groupName);
182 
183 /****************************************************************************/
201  open_buffdesc *groupName,
202  uint32_t *groupId);
203 
204 /*****************************************************************/
226  uint32_t groupId,
227  uint32_t vlanId);
228 
229 /*****************************************************************/
252  uint32_t groupId,
253  uint32_t vlanId);
254 
255 /****************************************************************************/
273  uint32_t groupId,
274  uint32_t *vlanId);
275 
276 /*****************************************************************/
304  uint32_t groupId,
305  uint32_t prot);
306 
307 /*****************************************************************/
330  uint32_t groupId,
331  uint32_t prot);
332 
333 /*****************************************************************/
353  uint32_t groupId,
354  open_buffdesc *protList);
355 
356 /*****************************************************************/
380  uint32_t groupId,
381  uint32_t prot,
382  uint32_t *nextProt);
383 
384 /*****************************************************************/
407  uint32_t groupId,
408  uint32_t ifNum);
409 
410 /*****************************************************************/
434  uint32_t groupId,
435  uint32_t ifNum);
436 
437 /*****************************************************************/
463  uint32_t groupId,
464  uint32_t ifNum,
465  uint32_t *nextIfNum);
466 
467 /*****************************************************************/
486  uint32_t ifNum);
487 #endif /* OPENAPI_PBVLAN_H_INCLUDED */
488 
open_error_t openapiPbVlanGroupProtocolGet(openapiClientHandle_t *client_handle, uint32_t groupId, open_buffdesc *protList)
Get the comma separated list with all configured protocols of the Protocol-Based VLAN group...
open_error_t openapiPbVlanGroupVlanIDAdd(openapiClientHandle_t *client_handle, uint32_t groupId, uint32_t vlanId)
Add a VLAN to the specified Protocol-Based VLAN group.
open_error_t openapiPbVlanGroupVlanIDDelete(openapiClientHandle_t *client_handle, uint32_t groupId, uint32_t vlanId)
Delete a VLAN from the specified Protocol-Based VLAN group.
open_error_t openapiPbVlanGroupProtocolAdd(openapiClientHandle_t *client_handle, uint32_t groupId, uint32_t prot)
Add a protocol to the specified Protocol-Based VLAN group.
open_error_t openapiPbVlanGroupGetFirst(openapiClientHandle_t *client_handle, uint32_t *groupId)
Get the ID of the first created Protocol-Based VLAN group.
open_error_t openapiPbVlanGroupNameSet(openapiClientHandle_t *client_handle, uint32_t groupId, open_buffdesc *groupName)
Set the group name of the specified Protocol-Based VLAN group.
open_error_t
OPEN uses these enumerators to indicate the error codes.
open_error_t openapiPbVlanGroupPortAdd(openapiClientHandle_t *client_handle, uint32_t groupId, uint32_t ifNum)
Add an interface to the specified Protocol-Based VLAN group.
open_error_t openapiPbVlanGroupProtocolDelete(openapiClientHandle_t *client_handle, uint32_t groupId, uint32_t prot)
Delete a protocol from the specified Protocol-Based VLAN group.
open_error_t openapiPbVlanGroupDelete(openapiClientHandle_t *client_handle, uint32_t groupId)
Delete a Protocol-Based VLAN group.
open_error_t openapiPbVlanGroupVlanIDGet(openapiClientHandle_t *client_handle, uint32_t groupId, uint32_t *vlanId)
Get the VLAN ID of the Protocol-Based VLAN group.
open_error_t openapiPbVlanGroupPortGetNext(openapiClientHandle_t *client_handle, uint32_t groupId, uint32_t ifNum, uint32_t *nextIfNum)
Get the next configured interface of the Protocol-Based VLAN group.
open_error_t openapiPbVlanIntfValidate(openapiClientHandle_t *client_handle, uint32_t ifNum)
Check whether specified interface is valid for the Protocol-Based VLAN configuration.
open_error_t openapiPbVlanGroupNameGet(openapiClientHandle_t *client_handle, uint32_t groupId, open_buffdesc *groupName)
Get the group name of the specified Protocol-Based VLAN group.
open_error_t openapiPbVlanGroupProtocolGetNext(openapiClientHandle_t *client_handle, uint32_t groupId, uint32_t prot, uint32_t *nextProt)
Get the next configured protocol of the Protocol-Based VLAN group.
open_error_t openapiPbVlanGroupGetNext(openapiClientHandle_t *client_handle, uint32_t groupId, uint32_t *nextGroupId)
Get the ID of the next created Protocol-Based VLAN group.
open_error_t openapiPbVlanGroupPortDelete(openapiClientHandle_t *client_handle, uint32_t groupId, uint32_t ifNum)
Delete an interfcae from the specified Protocol-Based VLAN group.
open_error_t openapiPbVlanGroupCreate(openapiClientHandle_t *client_handle, uint32_t groupId)
Create a Protocol-Based VLAN group.
open_error_t openapiPbVlanGroupIdGet(openapiClientHandle_t *client_handle, open_buffdesc *groupName, uint32_t *groupId)
Get the group ID of the Protocol-Based VLAN group with specified name.