blob: c07f4f1d8fa9427804146455fc46923bee8813ce [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){
26 OFPCAS_InService = 1, /* when the connection is activated */
27 OFPCAS_UnderManagement = 2,/*Default Connection state – (when connection is not activated)*/
28};
29
30
31enum ofp_calient_cflow_operational_state(wire_type=uint8_t, bitmask=True){
32 OFPCOS_InService = 1, /* When connection is activated */
33 OFPCOS_OutOfService = 2,/*When connection has a critical alarm ( activated or otherwise) */
34 OFPCOS_Ready = 3, /*When AS state is UnderManagement */
35 OFPCOS_Degraded = 4, /*When connection is activated and has a Major alarm */
36};
37
38enum ofp_calient_cflow_Capability(wire_type=uint8_t, bitmask=True){
39 OFPCCS_Ok = 1, /* Connection has been made successfully */
40 OFPCCS_Failed = 2, /* Connection has Failed */
41 OFPCCS_Initializing = 3,/* Connection making is in progress */
42};
Marc De Leenheer88c0bcb2015-07-24 15:49:19 -070043/*oper_capability,alarm,cflow_name not present in the backend */
Brian O'Connor58a73e32015-05-28 11:51:27 -070044struct of_calient_flow_stats_entry {
45 uint16_t length;
46 uint8_t table_id; /* Ignored */
47 pad(1);
48 uint32_t duration_sec; /* Not supported for now */
49 uint32_t duration_nsec; /* Not supported for now */
50 uint16_t priority; /* Not supported */
51 uint16_t idle_timeout; /* Set to 0 as entries must be explicitly removed */
52 uint16_t hard_timeout; /* Set to 0 as entries must be explicitly removed */
53 enum ofp_flow_mod_flags flags;
54 pad(4);
55 uint64_t cookie; /* Ignored */
56 enum ofp_calient_cflow_admin_state admin_status; /* AS = IS(Activated)/UMA */
57 enum ofp_calient_cflow_operational_state oper_status; /* OS = UMA/OOS */
58 enum ofp_calient_cflow_Capability oper_capability; /* OC = FAIL/OK/INIT */
59 enum ofp_calient_ocs_alarm alarm; /* Alarm = NA/MJ/MN/CR */
Marc De Leenheer88c0bcb2015-07-24 15:49:19 -070060 of_port_no_t out_port;
Brian O'Connor58a73e32015-05-28 11:51:27 -070061 of_str6_t port_power;
62 pad(2);
63 of_str6_t connected_port_power;
64 pad(2);
65 of_str64_t cflow_name; /* Connection name */
66 of_match_t match;
67};
68
69
70struct of_calient_flow_stats_reply : of_calient_stats_reply {
71 uint8_t version;
72 uint8_t type == 19;
73 uint16_t length;
74 uint32_t xid;
75 uint16_t stats_type == 0xffff;
76 enum ofp_stats_reply_flags flags;
77 pad(4);
78 uint32_t experimenter == 0x0080F958;
79 uint32_t subtype == 2;
Marc De Leenheer88c0bcb2015-07-24 15:49:19 -070080 list(of_calient_flow_stats_entry_t)entries;
Brian O'Connor58a73e32015-05-28 11:51:27 -070081};
82
83