Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.6.0.3
openapi_pbvlan.h
Go to the documentation of this file.
1 
9 /*********************************************************************
10 *
11 * Copyright 2016-2018 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
55 typedef enum
56 {
60 
61 /*****************************************************************/
80  uint32_t groupId);
81 
82 /*****************************************************************/
101  uint32_t groupId);
102 
103 /*****************************************************************/
117  uint32_t *groupId);
118 
119 /*****************************************************************/
137  uint32_t groupId,
138  uint32_t *nextGroupId);
139 
140 /****************************************************************************/
162  uint32_t groupId,
163  open_buffdesc *groupName);
164 
165 /****************************************************************************/
184  uint32_t groupId,
185  open_buffdesc *groupName);
186 
187 /****************************************************************************/
205  open_buffdesc *groupName,
206  uint32_t *groupId);
207 
208 /*****************************************************************/
230  uint32_t groupId,
231  uint32_t vlanId);
232 
233 /*****************************************************************/
256  uint32_t groupId,
257  uint32_t vlanId);
258 
259 /****************************************************************************/
277  uint32_t groupId,
278  uint32_t *vlanId);
279 
280 /*****************************************************************/
309  uint32_t groupId,
310  uint32_t prot,
311  OPENAPI_PBVLAN_PROT_TYPE_t protType);
312 
313 /*****************************************************************/
336  uint32_t groupId,
337  uint32_t prot);
338 
339 /*****************************************************************/
359  uint32_t groupId,
360  open_buffdesc *protList);
361 
362 /*****************************************************************/
386  uint32_t groupId,
387  uint32_t prot,
388  uint32_t *nextProt);
389 
390 /*****************************************************************/
413  uint32_t groupId,
414  uint32_t ifNum);
415 
416 /*****************************************************************/
440  uint32_t groupId,
441  uint32_t ifNum);
442 
443 /*****************************************************************/
469  uint32_t groupId,
470  uint32_t ifNum,
471  uint32_t *nextIfNum);
472 
473 /*****************************************************************/
492  uint32_t ifNum);
493 #endif /* OPENAPI_PBVLAN_H_INCLUDED */
494 
if protocol was given as number (or hex)
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 openapiPbVlanGroupProtocolAdd(openapiClientHandle_t *client_handle, uint32_t groupId, uint32_t prot, OPENAPI_PBVLAN_PROT_TYPE_t protType)
Add a protocol to the specified 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 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.
if protocol was given as string
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.
OPENAPI_PBVLAN_PROT_TYPE_t
Protocol type indicates type of the protocol format.
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.