X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fopenflow%2Fopenflow.h;h=2847aedd8065f477af00c978fd577f90b4410051;hb=16f5f39c5db116b8ce90cbb8250cd9716dd04ce7;hp=4835b8a9968fba093fe63010abe0b45b0dcf0f6a;hpb=98704941ec95258281da2ac147ce5f3e03436ba4;p=sliver-openvswitch.git diff --git a/include/openflow/openflow.h b/include/openflow/openflow.h index 4835b8a99..2847aedd8 100644 --- a/include/openflow/openflow.h +++ b/include/openflow/openflow.h @@ -543,6 +543,7 @@ enum ofp_flow_mod_flags { struct ofp_flow_mod { struct ofp_header header; struct ofp_match match; /* Fields to match */ + uint64_t cookie; /* Opaque controller-issued identifier. */ /* Flow actions. */ uint16_t command; /* One of OFPFC_*. */ @@ -556,12 +557,11 @@ struct ofp_flow_mod { output port. A value of OFPP_NONE indicates no restriction. */ uint16_t flags; /* One of OFPFF_*. */ - uint32_t reserved; /* Reserved for future use. */ struct ofp_action_header actions[0]; /* The action length is inferred from the length field in the header. */ }; -OFP_ASSERT(sizeof(struct ofp_flow_mod) == 68); +OFP_ASSERT(sizeof(struct ofp_flow_mod) == 72); /* Why was this flow removed? */ enum ofp_flow_removed_reason { @@ -574,6 +574,7 @@ enum ofp_flow_removed_reason { struct ofp_flow_removed { struct ofp_header header; struct ofp_match match; /* Description of fields. */ + uint64_t cookie; /* Opaque controller-issued identifier. */ uint16_t priority; /* Priority level of flow entry. */ uint8_t reason; /* One of OFPRR_*. */ @@ -585,7 +586,7 @@ struct ofp_flow_removed { uint64_t packet_count; uint64_t byte_count; }; -OFP_ASSERT(sizeof(struct ofp_flow_removed) == 80); +OFP_ASSERT(sizeof(struct ofp_flow_removed) == 88); /* Values for 'type' in ofp_error_message. These values are immutable: they * will not change in future versions of the protocol (although new values may @@ -753,12 +754,13 @@ struct ofp_flow_stats { when this is not an exact-match entry. */ uint16_t idle_timeout; /* Number of seconds idle before expiration. */ uint16_t hard_timeout; /* Number of seconds before expiration. */ - uint16_t pad2; /* Pad to 64 bits. */ + uint8_t pad2[2]; /* Align to 64 bits. */ + uint64_t cookie; /* Opaque controller-issued identifier. */ uint64_t packet_count; /* Number of packets in flow. */ uint64_t byte_count; /* Number of bytes in flow. */ struct ofp_action_header actions[0]; /* Actions. */ }; -OFP_ASSERT(sizeof(struct ofp_flow_stats) == 72); +OFP_ASSERT(sizeof(struct ofp_flow_stats) == 80); /* Body for ofp_stats_request of type OFPST_AGGREGATE. */ struct ofp_aggregate_stats_request {