Merge "OFPGC_ADD_OR_MOD support in openflowplugin"
[openflowplugin.git] / openflowjava / openflow-protocol-spi / src / main / yang / openflow-switch-connection-config.yang
1 module openflow-switch-connection-config {
2     yang-version 1;
3     namespace "urn:opendaylight:params:xml:ns:yang:openflow:switch:connection:config";
4     prefix "openflow-switch-connection-config";
5
6     import ietf-inet-types {prefix ietf-inet; revision-date 2013-07-15; }
7     import openflow-configuration {prefix of-config; revision-date 2014-06-30; }
8
9     description
10         "Configuration for an Openflow switch connection.";
11
12     revision "2016-05-06" {
13         description
14             "Initial revision";
15     }
16
17     list switch-connection-config {
18         key "instance-name";
19
20         leaf instance-name {
21             description "Name of the switch connection instance.";
22             type string;
23         }
24
25         leaf port {
26             description "local listening port";
27             type uint16;
28             mandatory true;
29         }
30
31         leaf transport-protocol {
32             description "Transport protocol used for communication.";
33             type of-config:transport-protocol;
34             mandatory true;
35         }
36
37         leaf address {
38             description "address of local listening interface";
39             type ietf-inet:ip-address;
40         }
41
42         leaf use-barrier {
43             description "Enable barrier in Openflow java";
44             type boolean;
45             default true;
46         }
47
48         leaf group-add-mod-enabled {
49             description "Group Add Mod Enabled";
50             type boolean;
51             default false;
52         }
53
54         leaf switch-idle-timeout {
55             description "idle timeout in [ms]";
56             type uint32;
57             default 15000;
58         }
59
60         container tls {
61             leaf keystore {
62                 description "keystore location";
63                 type string;
64             }
65
66             leaf keystore-type {
67                 description "keystore type (JKS or PKCS12)";
68                 type of-config:keystore-type;
69             }
70
71             leaf keystore-path-type {
72                 description "keystore path type (CLASSPATH or PATH)";
73                 type of-config:path-type;
74             }
75
76             leaf keystore-password {
77                 description "password protecting keystore";
78                 type string;
79             }
80
81             leaf certificate-password {
82                 description "password protecting certificate";
83                 type string;
84             }
85
86             leaf truststore {
87                 description "truststore location";
88                 type string;
89             }
90
91             leaf truststore-type {
92                 description "truststore type (JKS or PKCS12)";
93                 type of-config:keystore-type;
94             }
95
96             leaf truststore-path-type {
97                 description "truststore path type (CLASSPATH or PATH)";
98                 type of-config:path-type;
99             }
100
101             leaf truststore-password {
102                 description "password protecting truststore";
103                 type string;
104             }
105
106             leaf-list cipher-suites {
107                 description "combination of cryptographic algorithms used by TLS connection";
108                 type string;
109             }
110         }
111
112         container threads {
113             leaf boss-threads {
114                 type uint16;
115             }
116
117             leaf worker-threads {
118                 type uint16;
119             }
120         }
121     }
122 }