@@ -883,4 +883,55 @@ enum ovs_action_attr {
883
883
884
884
#define OVS_ACTION_ATTR_MAX (__OVS_ACTION_ATTR_MAX - 1)
885
885
886
+ /* Meters. */
887
+ #define OVS_METER_FAMILY "ovs_meter"
888
+ #define OVS_METER_MCGROUP "ovs_meter"
889
+ #define OVS_METER_VERSION 0x1
890
+
891
+ enum ovs_meter_cmd {
892
+ OVS_METER_CMD_UNSPEC ,
893
+ OVS_METER_CMD_FEATURES , /* Get features supported by the datapath. */
894
+ OVS_METER_CMD_SET , /* Add or modify a meter. */
895
+ OVS_METER_CMD_DEL , /* Delete a meter. */
896
+ OVS_METER_CMD_GET /* Get meter stats. */
897
+ };
898
+
899
+ enum ovs_meter_attr {
900
+ OVS_METER_ATTR_UNSPEC ,
901
+ OVS_METER_ATTR_ID , /* u32 meter ID within datapath. */
902
+ OVS_METER_ATTR_KBPS , /* No argument. If set, units in kilobits
903
+ * per second. Otherwise, units in
904
+ * packets per second.
905
+ */
906
+ OVS_METER_ATTR_STATS , /* struct ovs_flow_stats for the meter. */
907
+ OVS_METER_ATTR_BANDS , /* Nested attributes for meter bands. */
908
+ OVS_METER_ATTR_USED , /* u64 msecs last used in monotonic time. */
909
+ OVS_METER_ATTR_CLEAR , /* Flag to clear stats, used. */
910
+ OVS_METER_ATTR_MAX_METERS , /* u32 number of meters supported. */
911
+ OVS_METER_ATTR_MAX_BANDS , /* u32 max number of bands per meter. */
912
+ OVS_METER_ATTR_PAD ,
913
+ __OVS_METER_ATTR_MAX
914
+ };
915
+
916
+ #define OVS_METER_ATTR_MAX (__OVS_METER_ATTR_MAX - 1)
917
+
918
+ enum ovs_band_attr {
919
+ OVS_BAND_ATTR_UNSPEC ,
920
+ OVS_BAND_ATTR_TYPE , /* u32 OVS_METER_BAND_TYPE_* constant. */
921
+ OVS_BAND_ATTR_RATE , /* u32 band rate in meter units (see above). */
922
+ OVS_BAND_ATTR_BURST , /* u32 burst size in meter units. */
923
+ OVS_BAND_ATTR_STATS , /* struct ovs_flow_stats for the band. */
924
+ __OVS_BAND_ATTR_MAX
925
+ };
926
+
927
+ #define OVS_BAND_ATTR_MAX (__OVS_BAND_ATTR_MAX - 1)
928
+
929
+ enum ovs_meter_band_type {
930
+ OVS_METER_BAND_TYPE_UNSPEC ,
931
+ OVS_METER_BAND_TYPE_DROP , /* Drop exceeding packets. */
932
+ __OVS_METER_BAND_TYPE_MAX
933
+ };
934
+
935
+ #define OVS_METER_BAND_TYPE_MAX (__OVS_METER_BAND_TYPE_MAX - 1)
936
+
886
937
#endif /* _LINUX_OPENVSWITCH_H */
0 commit comments