blob: 05f6a2c9d4947821f761b581e7637d70cc32f2f2 [file] [log] [blame]
Brian O'Connor58a73e32015-05-28 11:51:27 -07001#version 4
2
3struct of_calient_flow_stats_request : of_calient_stats_request {
4 uint8_t version;
5 uint8_t type == 18;
6 uint16_t length;
7 uint32_t xid;
8 uint16_t stats_type == 0xffff;
9 enum ofp_stats_request_flags flags;
10 pad(4);
11 uint32_t experimenter == 0x0080F958;
12 uint32_t subtype == 2; /* OFPEMPFS = 2 */
13 uint8_t table_id; /* Recommended to be set to 0. Ignored */
14 pad(3);
Marc De Leenheer88c0bcb2015-07-24 15:49:19 -070015 of_port_no_t out_port; /* Require matching entries to include this as an output port.
Brian O'Connor58a73e32015-05-28 11:51:27 -070016 A value of OFPP_ANY indicates no restriction. Ignored */
17 uint32_t out_group; /* Require matching entries to include this as an output group.
18 A value of OFPP_ANY indicates no restriction. Ignored */
19 pad(4); /* Align to 64 bits */
20 uint64_t cookie; /* Ignored */
21 uint64_t cookie_mask; /* Ignored */
22 of_match_t match; /* Fields to match. Variable size */
23};
24
25enum ofp_calient_cflow_admin_state(wire_type=uint8_t, bitmask=True){
Aneesha Pailla682a8212016-02-03 11:30:55 -080026 OFPCAS_InService = 0, // Enabled to provide service
27 OFPCAS_Outofservice = 1, //Not enabled to provide service
28 OFPCAS_OOS_NP = 2, //Not yet added to system by operator
29 OFPCAS_UnderManagement = 3,//Configured to provide service, but suspended for maintanance
30 OFPCAS_Ready = 4 // awaiting activation, IS but not monitored
Brian O'Connor58a73e32015-05-28 11:51:27 -070031};
32
Aneesha Pailla682a8212016-02-03 11:30:55 -080033
Brian O'Connor58a73e32015-05-28 11:51:27 -070034enum ofp_calient_cflow_operational_state(wire_type=uint8_t, bitmask=True){
Aneesha Pailla682a8212016-02-03 11:30:55 -080035 OFPCOS_InService = 0, //Functioning normally & providing service
36 OFPCOS_OutOfService = 1,//Not providing service
37 OFPOS_Initializing = 2, //Initializing
38 OFPCOS_Ready = 3, //awaiting activation
39 OFPCOS_Degraded = 4, //component failure causing reduced level of support
40 OFPCOS_Diagnostics=5 //performing diagnostics
Brian O'Connor58a73e32015-05-28 11:51:27 -070041};
Aneesha Pailla682a8212016-02-03 11:30:55 -080042
Brian O'Connor58a73e32015-05-28 11:51:27 -070043enum ofp_calient_cflow_Capability(wire_type=uint8_t, bitmask=True){
Aneesha Pailla682a8212016-02-03 11:30:55 -080044 OFPCS_NoHardware = 0, /* when port is not in connection */
45 OFPCCS_Ok = 1, /* port is in Connection which is made successfully */
46 OFPCCS_Failed = 2, /* when port is in Connection which is Failed */
47 OFPCCS_Initializing = 3,/* when port is in Connection which is being made */
48 OFPCS_Diagnostics=4, // performing diagnostics
49 OFPCS_Synchronizing=5 // Synchronizing
Brian O'Connor58a73e32015-05-28 11:51:27 -070050};
Aneesha Pailla682a8212016-02-03 11:30:55 -080051
52
Marc De Leenheer88c0bcb2015-07-24 15:49:19 -070053/*oper_capability,alarm,cflow_name not present in the backend */
Brian O'Connor58a73e32015-05-28 11:51:27 -070054struct of_calient_flow_stats_entry {
55 uint16_t length;
56 uint8_t table_id; /* Ignored */
57 pad(1);
58 uint32_t duration_sec; /* Not supported for now */
59 uint32_t duration_nsec; /* Not supported for now */
60 uint16_t priority; /* Not supported */
61 uint16_t idle_timeout; /* Set to 0 as entries must be explicitly removed */
62 uint16_t hard_timeout; /* Set to 0 as entries must be explicitly removed */
63 enum ofp_flow_mod_flags flags;
64 pad(4);
65 uint64_t cookie; /* Ignored */
66 enum ofp_calient_cflow_admin_state admin_status; /* AS = IS(Activated)/UMA */
67 enum ofp_calient_cflow_operational_state oper_status; /* OS = UMA/OOS */
68 enum ofp_calient_cflow_Capability oper_capability; /* OC = FAIL/OK/INIT */
69 enum ofp_calient_ocs_alarm alarm; /* Alarm = NA/MJ/MN/CR */
Marc De Leenheer88c0bcb2015-07-24 15:49:19 -070070 of_port_no_t out_port;
Brian O'Connor58a73e32015-05-28 11:51:27 -070071 of_str6_t port_power;
72 pad(2);
73 of_str6_t connected_port_power;
74 pad(2);
75 of_str64_t cflow_name; /* Connection name */
76 of_match_t match;
Aneesha Pailla682a8212016-02-03 11:30:55 -080077 list(of_instruction_t)instructions;
Brian O'Connor58a73e32015-05-28 11:51:27 -070078};
79
80
81struct of_calient_flow_stats_reply : of_calient_stats_reply {
82 uint8_t version;
83 uint8_t type == 19;
84 uint16_t length;
85 uint32_t xid;
86 uint16_t stats_type == 0xffff;
87 enum ofp_stats_reply_flags flags;
88 pad(4);
89 uint32_t experimenter == 0x0080F958;
90 uint32_t subtype == 2;
Marc De Leenheer88c0bcb2015-07-24 15:49:19 -070091 list(of_calient_flow_stats_entry_t)entries;
Brian O'Connor58a73e32015-05-28 11:51:27 -070092};
93
94