ELAN: skip remote unicast MACs
[netvirt.git] / cloud-servicechain / api / src / main / yang / cloud-servicechain-state.yang
1 module cloud-service-chain-state {
2     namespace "urn:opendaylight:netvirt:cloud-servicechain:state";
3     prefix "cloud-service-chain-state";
4
5     import yang-ext {prefix ext; revision-date "2013-07-09";}
6     import elan {prefix elan; revision-date "2015-06-02";}
7
8     description
9         "Holds all cloud-servicechain state data";
10
11     revision "2016-07-11" {
12         description
13             "Initial revision";
14     }
15
16     container vpn-to-pseudo-port-list {
17         description "Makes a correspondence between VPNs and stateful information regarding
18                      their corresponding VpnPseudoPort";
19         list vpn-to-pseudo-port-data {
20             key vrf-id;
21             leaf vrf-id {
22                 description "VPN's route distinguisher";
23                 type string;
24             }
25             leaf vpn-lport-tag {
26                 description "Vpn Pseudo Logical Port Tag. There is only one VpnPseudoPort per VPN";
27                 type uint32;
28             }
29             leaf scf-tag {
30                 description "SCF tag associated to Vlan Pseudo Logical Port Tag";
31                 type uint16;
32             }
33             leaf scf-table-id {
34                 description "OF-Table Id in the SCF Pipeline to send packets to, depending on wether
35                              the VpnPseudoPort has been used in Uplink or Downlink direction.
36                              There is a restriction that states that a VpnPseudoPort can only
37                              act as ingress port either in Uplink or in Downlink, but not both";
38                 type uint8;
39             }
40         }
41     }
42
43     grouping elan-to-pseudo-port-data-list {
44         list elan-to-pseudo-port-data {
45             key "elan-lport-tag scf-tag";
46             description "Relates elan-logical-port and scfTag";
47             max-elements "unbounded";
48             min-elements "0";
49
50             leaf elan-lport-tag {
51                 description "Elan Pseudo Logical Port Tag";
52                 type uint32;
53             }
54
55             leaf scf-tag {
56                 description "SCF tag associated to Elan Pseudo Logical Port Tag";
57                 type uint32;
58             }
59         }
60     }
61
62     augment "/elan:elan-instances/elan:elan-instance" {
63         ext:augment-identifier "elan-service-chain-state";
64         uses elan-to-pseudo-port-data-list;
65     }
66 }