blob: 2375b1c1b0d54f430b5663fe0797a0badf334883 [file] [log] [blame]
Rich Lanea06d0c32013-03-25 08:52:03 -07001// Copyright 2013, Big Switch Networks, Inc.
2//
3// LoxiGen is licensed under the Eclipse Public License, version 1.0 (EPL), with
4// the following special exception:
5//
6// LOXI Exception
7//
8// As a special exception to the terms of the EPL, you may distribute libraries
9// generated by LoxiGen (LoxiGen Libraries) under the terms of your choice, provided
10// that copyright and licensing notices generated by LoxiGen are not altered or removed
11// from the LoxiGen Libraries and the notice provided below is (i) included in
12// the LoxiGen Libraries, if distributed in source code form and (ii) included in any
13// documentation for the LoxiGen Libraries, if distributed in binary form.
14//
15// Notice: "Copyright 2013, Big Switch Networks, Inc. This library was generated by the LoxiGen Compiler."
16//
17// You may not use this file except in compliance with the EPL or LOXI Exception. You may obtain
18// a copy of the EPL at:
19//
20// http://www.eclipse.org/legal/epl-v10.html
21//
22// Unless required by applicable law or agreed to in writing, software
23// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
24// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
25// EPL for the specific language governing permissions and limitations
26// under the EPL.
27
28#version any
29
30// BSN mirror action
Rich Lane68ae4d72013-05-09 10:55:19 -070031struct of_action_bsn_mirror {
Rich Lanea06d0c32013-03-25 08:52:03 -070032 uint16_t type; // OF_ACTION_TYPE_EXPERIMENTER
33 uint16_t len;
34 uint32_t experimenter; // OF_EXPERIMENTER_ID_BSN
35 uint32_t subtype; // ACTION_BSN_MIRROR
36 uint32_t dest_port; // mirror destination port
37 uint32_t vlan_tag; // VLAN tag for mirrored packet (TPID+TCI) (0 == none)
38 uint8_t copy_stage; // 0 == ingress, 1 == egress
39 uint8_t[3] pad;
40};
41
42// BSN mirroring messages
Rich Lane68ae4d72013-05-09 10:55:19 -070043struct of_bsn_set_mirroring {
Rich Lanea06d0c32013-03-25 08:52:03 -070044 uint8_t version;
45 uint8_t type;
46 uint16_t length;
47 uint32_t xid;
48 uint32_t experimenter; // OF_EXPERIMENTER_ID_BSN
49 uint32_t subtype; // BSN_MIRRORING_SET
50 uint8_t report_mirror_ports;
51 uint8_t[3] pad;
52};
53
Rich Lane68ae4d72013-05-09 10:55:19 -070054struct of_bsn_get_mirroring_request {
Rich Lanea06d0c32013-03-25 08:52:03 -070055 uint8_t version;
56 uint8_t type;
57 uint16_t length;
58 uint32_t xid;
59 uint32_t experimenter; // OF_EXPERIMENTER_ID_BSN
60 uint32_t subtype; // BSN_MIRRORING_GET_REQUEST
61 uint8_t report_mirror_ports;
62 uint8_t[3] pad;
63};
64
Rich Lane68ae4d72013-05-09 10:55:19 -070065struct of_bsn_get_mirroring_reply {
Rich Lanea06d0c32013-03-25 08:52:03 -070066 uint8_t version;
67 uint8_t type;
68 uint16_t length;
69 uint32_t xid;
70 uint32_t experimenter; // OF_EXPERIMENTER_ID_BSN
71 uint32_t subtype; // BSN_MIRRORING_GET_REPLY
72 uint8_t report_mirror_ports;
73 uint8_t[3] pad;
74};