Open Ethernet Networking (OpEN) API Guide and Reference Manual  3.6.0.3
openapi_mirror.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_mirror.h
28 *
29 * @purpose Provide interface to Port Mirroring APIs
30 *
31 * @component OpEN
32 *
33 * @create 06/08/2015
34 *
35 * @end
36 *
37 ********************************************************************************/
38 #ifndef OPENAPI_MIRROR_H_INCLUDED
39 #define OPENAPI_MIRROR_H_INCLUDED
40 
41 #include "openapi_common.h"
42 
45 typedef enum
46 {
53 
54 /***************************************************************************/
72  uint32_t sessionNum,
73  open_buffdesc * bufd);
74 
75 /*****************************************************************/
93  uint32_t sessionNum,
94  uint32_t intIfNum,
95  OPENAPI_MIRROR_DIRECTION_t * probeType);
96 
97 /****************************************************************************/
116  uint32_t sessionNum,
117  uint32_t intIfNum,
118  OPENAPI_MIRROR_DIRECTION_t probeType);
119 
120 /****************************************************************************/
138  uint32_t sessionNum,
139  uint32_t intIfNum);
140 
141 /***************************************************************************/
157  uint32_t sessionNum,
158  uint32_t *intIfNum);
159 
160 /****************************************************************************/
178  uint32_t sessionNum,
179  uint32_t intIfNum);
180 
181 /****************************************************************************/
197  uint32_t sessionNum);
198 
199 /*****************************************************************************/
215  uint32_t sessionNum,
216  OPEN_CONTROL_t * mode);
217 
218 /****************************************************************************/
235  uint32_t sessionNum,
236  OPEN_CONTROL_t mode);
237 
238 /*****************************************************************************/
253  uint32_t * sessionCount);
254 
255 /****************************************************************************/
270 
271 /****************************************************************************/
287  uint32_t sessionNum);
288 
289 /*****************************************************************************/
306  uint32_t intIfNum,
307  uint32_t * sessionNum,
308  OPEN_BOOL_t * status);
309 
310 /*****************************************************************************/
326  uint32_t intIfNum,
327  OPEN_BOOL_t * status);
328 
329 /*****************************************************************************/
346  uint32_t intIfNum,
347  uint32_t * sessionNum);
348 
349 /*****************************************************************************/
364  uint32_t intIfNum,
365  OPEN_BOOL_t * valid);
366 
367 /*****************************************************************************/
382  uint32_t intIfNum,
383  OPEN_BOOL_t * valid);
384 
385 /*****************************************************************************/
401  uint32_t * intIfNum);
402 
403 /*****************************************************************************/
421  uint32_t intIfNum,
422  uint32_t * nextIntIfNum);
423 
424 /*****************************************************************************/
439  open_buffdesc * bufd);
440 
441 /*****************************************************************************/
457  uint32_t * intIfNum);
458 
459 /*****************************************************************************/
477  uint32_t intIfNum,
478  uint32_t *nextIntIfNum);
479 
480 /*****************************************************************************/
495  open_buffdesc * bufd);
496 
497 /*****************************************************************************/
514  uint32_t sessionNum,
515  open_buffdesc * bufd);
516 
517 /****************************************************************************/
536  uint32_t sessionNum,
537  open_buffdesc * bufd,
538  OPEN_CONTROL_t updateAction);
539 
540 /*****************************************************************************/
557  uint32_t sessionNum,
558  uint32_t * mirrorSrcType);
559 
560 /*****************************************************************************/
577  uint32_t sessionNum,
578  uint32_t * mirrorDstType);
579 
580 /*****************************************************************************/
597  uint32_t sessionNum,
598  uint32_t * remoteSrcVlan);
599 
600 /****************************************************************************/
619  uint32_t sessionNum,
620  uint16_t vlanId,
621  OPEN_CONTROL_t updateAction);
622 
623 /*****************************************************************************/
640  uint32_t sessionNum,
641  uint32_t * remoteDstVlan);
642 
643 /****************************************************************************/
661  uint32_t sessionNum,
662  uint16_t vlanId,
663  OPEN_CONTROL_t updateAction);
664 
665 /*****************************************************************************/
681  uint32_t sessionNum,
682  uint32_t * intIfNum);
683 
684 /****************************************************************************/
702  uint32_t sessionNum,
703  uint32_t intIfNum,
704  OPEN_CONTROL_t updateAction);
705 
706 /*****************************************************************************/
724  uint32_t sessionNum,
725  uint32_t * ipAccessListNum);
726 
727 /****************************************************************************/
746  uint32_t sessionNum,
747  uint32_t ipAccessListNum,
748  OPEN_CONTROL_t updateAction);
749 
750 /*****************************************************************************/
770  uint32_t sessionNum,
771  open_buffdesc * macAccessListName);
772 
773 /****************************************************************************/
796  uint32_t sessionNum,
797  open_buffdesc * macAccessListName,
798  OPEN_CONTROL_t updateAction);
799 
800 /*****************************************************************************/
815  uint32_t * rspanVlan);
816 
817 /*****************************************************************************/
833  uint32_t rspanVlan,
834  uint32_t * rspanVlanNext);
835 
836 /*****************************************************************************/
852  open_buffdesc * bufd);
853 
854 /****************************************************************************/
871  uint32_t rspanVlan,
872  OPEN_CONTROL_t updateAction);
873 
874 /*****************************************************************************/
889  uint32_t vlanId,
890  OPEN_BOOL_t * status);
891 
892 /*****************************************************************************/
907  uint32_t vlanId,
908  OPEN_BOOL_t * status);
909 
910 /*****************************************************************************/
926  uint32_t sessionNum,
927  OPEN_CONTROL_t * state);
928 
929 /****************************************************************************/
946  uint32_t sessionNum,
947  OPEN_CONTROL_t state);
948 #endif /* OPENAPI_MIRROR_H_INCLUDED */
949 
open_error_t openapiSwMonitorSrcTypeGet(openapiClientHandle_t *client_handle, uint32_t sessionNum, uint32_t *mirrorSrcType)
Returns the source mirror type(Port based or VLAN based) for session "sessionNum".
open_error_t openapiSwPortMonitorValidDestIntfListGet(openapiClientHandle_t *client_handle, open_buffdesc *bufd)
Returns list of valid interfaces that can be configured as destination port.
open_error_t openapiSwPortMonitorSourcePortAdd(openapiClientHandle_t *client_handle, uint32_t sessionNum, uint32_t intIfNum, OPENAPI_MIRROR_DIRECTION_t probeType)
Adds interface to the mirrored ports of session "sessionNum".
open_error_t openapiSwMonitorRemoteSrcVlanGet(openapiClientHandle_t *client_handle, uint32_t sessionNum, uint32_t *remoteSrcVlan)
Returns the remote source VLAN for session "sessionNum".
open_error_t openapiSwPortMonitorDestPortGet(openapiClientHandle_t *client_handle, uint32_t sessionNum, uint32_t *intIfNum)
Returns Destination Port for session "sessionNum".
open_error_t openapiSwPortMonitorSrcConfiguredSessionGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *sessionNum)
Returns the session in which internal interface number is configured as a source port.
open_error_t openapiSwPortMonitorIsDestConfigured(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *sessionNum, OPEN_BOOL_t *status)
Determines status of internal interface number which is configured as destination port...
open_error_t openapiSwPortMonitorValidDestIntfNextGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *nextIntIfNum)
Returns next valid interface that can be configured as destination port.
open_error_t openapiSwMonitorIpAclGet(openapiClientHandle_t *client_handle, uint32_t sessionNum, uint32_t *ipAccessListNum)
Returns the IP ACL attached to the mirroring session "sessionNum".
Traffic direction is egress.
open_error_t
OPEN uses these enumerators to indicate the error codes.
open_error_t openapiSwPortMonitorDestPortSet(openapiClientHandle_t *client_handle, uint32_t sessionNum, uint32_t intIfNum)
Sets Destination Port for session "sessionNum".
open_error_t openapiSwPortMonitorModeGet(openapiClientHandle_t *client_handle, uint32_t sessionNum, OPEN_CONTROL_t *mode)
Returns the Port Monitoring Mode for session "sessionNum".
open_error_t openapiSwPortMonitorValidSrcIntfListGet(openapiClientHandle_t *client_handle, open_buffdesc *bufd)
Returns list of valid interfaces that can be configured as source port.
open_error_t openapiMirrorIsSrcVlan(openapiClientHandle_t *client_handle, uint32_t vlanId, OPEN_BOOL_t *status)
Checks if the VLAN is source to any of the mirroring sessions.
Traffic direction is ingress.
open_error_t openapiSwPortMonitorSessionCount(openapiClientHandle_t *client_handle, uint32_t *sessionCount)
Returns count of the sessiosns of Port Monitoring sessions.
open_error_t openapiSwPortMonitorModeSet(openapiClientHandle_t *client_handle, uint32_t sessionNum, OPEN_CONTROL_t mode)
Sets the Port Monitoring Mode for session "sessionNum".
open_error_t openapiRemoteSpanVlanGet(openapiClientHandle_t *client_handle, uint32_t *rspanVlan)
Returns the RSPAN VLAN.
open_error_t openapiSwRemoteMonitorDstVlanSet(openapiClientHandle_t *client_handle, uint32_t sessionNum, uint16_t vlanId, OPEN_CONTROL_t updateAction)
Sets the remote destination VLAN for session "sessionNum".
open_error_t openapiSwPortMonitorDestPortRemove(openapiClientHandle_t *client_handle, uint32_t sessionNum)
Remove Destination Port of session "sessionNum".
open_error_t openapiSwMonitorMacAclGet(openapiClientHandle_t *client_handle, uint32_t sessionNum, open_buffdesc *macAccessListName)
Returns the MAC ACL attached to the mirroring session "sessionNum".
open_error_t openapiMirrorSessionReserveStateGet(openapiClientHandle_t *client_handle, uint32_t sessionNum, OPEN_CONTROL_t *state)
Returns the Port Monitoring session "sessionNum" reserved state.
open_error_t openapiSwPortMonitorIsSrcConfigured(openapiClientHandle_t *client_handle, uint32_t intIfNum, OPEN_BOOL_t *status)
Determines status of internal interface number which is configured as source port.
open_error_t openapiRemoteSpanVlanListGet(openapiClientHandle_t *client_handle, open_buffdesc *bufd)
Returns list of RSPAN VLAN.
Traffic direction is unconfigured.
open_error_t openapiSwPortMonitorSourcePortsListGet(openapiClientHandle_t *client_handle, uint32_t sessionNum, open_buffdesc *bufd)
Returns list of source ports for session "sessionNum".
open_error_t openapiSwMonitorVlanListGet(openapiClientHandle_t *client_handle, uint32_t sessionNum, open_buffdesc *bufd)
Returns the VLAN IDs for session "sessionNum".
open_error_t openapiSwRemoteMonitorSrcVlanSet(openapiClientHandle_t *client_handle, uint32_t sessionNum, uint16_t vlanId, OPEN_CONTROL_t updateAction)
Sets the remote source VLAN for session "sessionNum".
OPEN_CONTROL_t
OPEN uses these enumerators to indicate enable or disable for a given config or status parameter...
open_error_t openapiSwMonitorMacAclSet(openapiClientHandle_t *client_handle, uint32_t sessionNum, open_buffdesc *macAccessListName, OPEN_CONTROL_t updateAction)
Attaches MAC ACL to the mirroring session "sessionNum".
OPEN_BOOL_t
OPEN uses these enumerators to indicate true or false for a given config or status parameter...
open_error_t openapiSwMonitorIpAclSet(openapiClientHandle_t *client_handle, uint32_t sessionNum, uint32_t ipAccessListNum, OPEN_CONTROL_t updateAction)
Attaches IP ACL to the mirroring session "sessionNum".
Traffic direction is bidirectional.
open_error_t openapiMirrorIsRspanVlan(openapiClientHandle_t *client_handle, uint32_t vlanId, OPEN_BOOL_t *status)
Checks if the VLAN is a RSPAN VLAN.
Traffic direction is swlow.
open_error_t openapiSwMonitorVlanListSet(openapiClientHandle_t *client_handle, uint32_t sessionNum, open_buffdesc *bufd, OPEN_CONTROL_t updateAction)
Sets the VLAN IDs for session "sessionNum".
open_error_t openapiRemoteSpanVlanSet(openapiClientHandle_t *client_handle, uint32_t rspanVlan, OPEN_CONTROL_t updateAction)
Sets the VLAN as RSPAN VLAN.
open_error_t openapiSwMonitorRemoteDstVlanGet(openapiClientHandle_t *client_handle, uint32_t sessionNum, uint32_t *remoteDstVlan)
Returns the remote destination VLAN for session "sessionNum".
open_error_t openapiSwPortMonitorIsValidSrcPort(openapiClientHandle_t *client_handle, uint32_t intIfNum, OPEN_BOOL_t *valid)
Checks validity of interface for a source port.
open_error_t openapiSwPortMonitorValidSrcIntfFirstGet(openapiClientHandle_t *client_handle, uint32_t *intIfNum)
Returns first valid interface that can be configured as source port.
open_error_t openapiSwPortMonitorConfigRemove(openapiClientHandle_t *client_handle)
Removes port monitoring configuration for all sessions.
open_error_t openapiSwPortMonitorSessionRemove(openapiClientHandle_t *client_handle, uint32_t sessionNum)
Removes port monitoring configuration for session.
open_error_t openapiSwPortMonitorSourcePortRemove(openapiClientHandle_t *client_handle, uint32_t sessionNum, uint32_t intIfNum)
Remove interface from mirrored ports of session "sessionNum".
open_error_t openapiSwPortMonitorValidDestIntfFirstGet(openapiClientHandle_t *client_handle, uint32_t *intIfNum)
Returns first valid interface that can be configured as destination port.
OPENAPI_MIRROR_DIRECTION_t
OpEN uses this enumeration to define ports traffic direction.
open_error_t openapiSwPortMonitorValidSrcIntfNextGet(openapiClientHandle_t *client_handle, uint32_t intIfNum, uint32_t *nextIntIfNum)
Returns next valid interface that can be configured as source port.
open_error_t openapiSwPortMonitorIsValidDestPort(openapiClientHandle_t *client_handle, uint32_t intIfNum, OPEN_BOOL_t *valid)
Checks validity of interface for a destination port.
open_error_t openapiRemoteSpanVlanNextGet(openapiClientHandle_t *client_handle, uint32_t rspanVlan, uint32_t *rspanVlanNext)
Returns next configured RSPAN VLAN.
open_error_t openapiSwMonitorReflectorPortGet(openapiClientHandle_t *client_handle, uint32_t sessionNum, uint32_t *intIfNum)
Returns Monitoring Reflector Port for session "sessionNum".
open_error_t openapiMirrorSourcePortDirectionGet(openapiClientHandle_t *client_handle, uint32_t sessionNum, uint32_t intIfNum, OPENAPI_MIRROR_DIRECTION_t *probeType)
Returns the direction to be mirrored for a source port.
open_error_t openapiMirrorSessionReserveStateSet(openapiClientHandle_t *client_handle, uint32_t sessionNum, OPEN_CONTROL_t state)
Sets the Port Monitoring session "sessionNum" reserved state.
open_error_t openapiSwMonitorDstTypeGet(openapiClientHandle_t *client_handle, uint32_t sessionNum, uint32_t *mirrorDstType)
Returns the destination mirror type (Port based or VLAN based) for session "sessionNum".
open_error_t openapiSwMonitorReflectorPortSet(openapiClientHandle_t *client_handle, uint32_t sessionNum, uint32_t intIfNum, OPEN_CONTROL_t updateAction)
Sets Monitoring Reflector Port for session "sessionNum".