Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.9.0.2
openapi_vlan.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_vlan.h
28 *
29 * @purpose VLAN Configuration and Status
30 *
31 * @component OPEN
32 *
33 * @create 08/29/2012
34 *
35 * @end
36 *
37 **********************************************************************/
38 #ifndef OPENAPI_VLAN_H_INCLUDED
39 #define OPENAPI_VLAN_H_INCLUDED
40 
41 #include <stdio.h>
42 #include <stddef.h>
43 #include <sys/un.h>
44 
45 #include "openapi_common.h"
46 
47 typedef enum
48 {
49  OPEN_DOT1Q_SWPORT_MODE_NONE = 0,
58 
60 #define OPEN_VLAN_LIST_MAX_ENTRIES 4096
61 
62 typedef struct
63 {
64  uint32_t numEntries;
67 
68 typedef enum
69 {
70  OPEN_PRIVATE_VLAN_UNCONFIGURED = 0,
71  OPEN_PRIVATE_VLAN_PRIMARY,
72  OPEN_PRIVATE_VLAN_SECONDARY_ISOLATED,
73  OPEN_PRIVATE_VLAN_SECONDARY_COMMUNITY
74 } OPEN_DOT1Q_PVLAN_TYPE_t;
75 
76 
77 typedef enum
78 {
79  OPEN_PRIVATE_VLAN_UNCONFIGURED_PORT,
80  OPEN_PRIVATE_VLAN_HOST_PORT,
81  OPEN_PRIVATE_VLAN_COMMUNITY_PORT,
82  OPEN_PRIVATE_VLAN_PROMISCOUS_PORT
83 } OPEN_DOT1Q_PVLAN_PORT_TYPE_t;
84 
85 /*****************************************************************/
104  uint32_t vlanNum,
105  uint32_t *nextVlanNum);
106 
107 /*****************************************************************/
121  uint32_t vlanNum);
122 
123 /*****************************************************************/
135 int openapiVlanIsStatic(openapiClientHandle_t *client_handle,
136  uint32_t vlanNum);
137 
138 /*****************************************************************/
155  uint32_t vlanNum);
156 
157 /*****************************************************************/
174  uint32_t vlanNum);
175 
176 /*****************************************************************/
193  uint32_t ifNum,
195 
196 /*****************************************************************/
213  uint32_t ifNum,
215 
216 /*****************************************************************/
233  uint32_t ifNum,
234  uint32_t *vlanNum);
235 
236 /*****************************************************************/
255  uint32_t ifNum,
256  uint32_t vlanNum,
257  OPEN_CONTROL_t *tagging);
258 
259 /*****************************************************************/
278  uint32_t vlanNum,
279  uint32_t ifNum,
280  uint32_t *participating);
281 
282 /*****************************************************************/
300  uint32_t vlanNum,
301  uint32_t *nextVlanNum,
302  uint32_t *delete_pending);
303 
304 /*****************************************************************/
328  uint32_t vlanNum,
329  uint32_t ifNum,
330  OPEN_VLAN_PARTICIPATION_MODE_t participationMode);
331 
332 /*****************************************************************/
354  uint32_t vlanNum,
355  uint32_t ifNum,
356  OPEN_VLAN_PARTICIPATION_MODE_t *participationMode);
357 
358 /*****************************************************************/
379  uint32_t ifNum,
380  uint32_t vlanNum);
381 
382 /*****************************************************************/
404  uint32_t ifNum,
405  uint32_t vlanNum,
406  OPEN_CONTROL_t tagging);
407 
408 /*****************************************************************/
423  uint32_t ifNum,
424  uint32_t *numTrafficClasses);
425 
426 /*****************************************************************/
446  uint32_t ifNum,
447  uint32_t priority);
448 
449 /*****************************************************************/
465  uint32_t ifNum,
466  uint32_t *priority);
467 
468 /*****************************************************************/
483  uint32_t *strLen);
484 
485 /*****************************************************************/
507  uint32_t vlanNum,
508  open_buffdesc *vlanName);
509 
510 /*****************************************************************/
528  uint32_t vlanNum,
529  open_buffdesc *vlanName);
530 
531 /*****************************************************************/
549  uint32_t intf, OPEN_DOT1Q_SWPORT_MODE_t mode);
550 
551 /*****************************************************************/
569  uint32_t intf, OPEN_DOT1Q_SWPORT_MODE_t *mode);
570 
571 /*****************************************************************/
589  uint32_t intf, uint32_t vlanId);
590 
591 /*****************************************************************/
609  uint32_t intf, uint32_t *vlanId);
610 
611 /*****************************************************************/
630  uint32_t intf, uint32_t vlanId);
631 
632 /*****************************************************************/
650  uint32_t intf, uint32_t *vlanId);
651 
652 /*****************************************************************/
669  uint32_t intf,
670  OPEN_VLAN_LIST_t *vidList);
671 
672 /*****************************************************************/
688  uint32_t intf,
689  OPEN_VLAN_LIST_t *vidList);
690 
691 /*****************************************************************/
707  uint32_t intf,
708  OPEN_VLAN_LIST_t *vidList);
709 
710 /*****************************************************************/
726  uint32_t intf,
727  OPEN_VLAN_LIST_t *vidList);
728 
729 /*****************************************************************/
745  uint32_t intf,
746  OPEN_VLAN_LIST_t *vidList);
747 
748 /*****************************************************************/
764  uint32_t intf,
765  OPEN_VLAN_LIST_t *vidList);
766 
767 /*****************************************************************/
789  uint32_t intf,
791 
792 /*****************************************************************/
813  uint32_t intf,
814  uint32_t *primaryVid,
815  uint32_t *secondaryVid);
816 
817 /*****************************************************************/
838  uint32_t intf,
839  uint32_t *primaryVid,
840  OPEN_VLAN_LIST_t *secondaryVidList);
841 
842 /*****************************************************************/
860  uint32_t intf,
861  OPEN_VLAN_LIST_t *operationalVidList);
862 
863 /*****************************************************************/
887  uint32_t intf,
888  uint32_t primaryVid,
889  uint32_t *nextPrimaryVid,
890  OPEN_VLAN_LIST_t *secondaryVidList);
891 
892 /*****************************************************************/
916  uint32_t intf,
917  uint32_t primaryVid,
918  uint32_t *nextPrimaryVid,
919  uint32_t *secondaryVid);
920 
921 /*****************************************************************/
944  uint32_t intf,
945  uint32_t *nativeVid);
946 
947 /*****************************************************************/
966  uint32_t intf,
967  OPEN_VLAN_LIST_t *normalVidList);
968 
969 /*****************************************************************/
986  uint32_t vlanId,
987  OPEN_DOT1Q_PVLAN_TYPE_t pvlanType);
988 
989 /*****************************************************************/
1006  uint32_t vlanId,
1007  OPEN_DOT1Q_PVLAN_TYPE_t *pvlanType);
1008 
1009 /*****************************************************************/
1026  uint32_t vlanId,
1027  OPEN_VLAN_LIST_t vidList);
1028 
1029 /*****************************************************************/
1046  uint32_t vlanId,
1047  OPEN_VLAN_LIST_t vidList);
1048 
1049 /*****************************************************************/
1066  uint32_t vlanId,
1067  OPEN_VLAN_LIST_t *vidList);
1068 
1069 /*****************************************************************/
1087  uint32_t ifNum,
1088  uint32_t primary_vlan,
1089  uint32_t sec_vlan);
1090 
1091 /*****************************************************************/
1107  uint32_t ifNum);
1108 
1109 /*****************************************************************/
1127  uint32_t ifNum,
1128  uint32_t primary_vlan,
1129  OPEN_VLAN_LIST_t vidList);
1130 
1131 /*****************************************************************/
1147  uint32_t ifNum);
1148 
1149 #endif /* OPENAPI_VLAN_H_INCLUDED */
1150