openvswitch: collect mega flow mask stats
Collect mega flow mask stats. ovs-dpctl show command can be used to display them for debugging and performance tuning. Signed-off-by: Andy Zhou <azhou@nicira.com> Signed-off-by: Jesse Gross <jesse@nicira.com>
This commit is contained in:
parent
618ed0c805
commit
1bd7116f1c
5 changed files with 67 additions and 12 deletions
|
@ -63,15 +63,18 @@ enum ovs_datapath_cmd {
|
|||
* not be sent.
|
||||
* @OVS_DP_ATTR_STATS: Statistics about packets that have passed through the
|
||||
* datapath. Always present in notifications.
|
||||
* @OVS_DP_ATTR_MEGAFLOW_STATS: Statistics about mega flow masks usage for the
|
||||
* datapath. Always present in notifications.
|
||||
*
|
||||
* These attributes follow the &struct ovs_header within the Generic Netlink
|
||||
* payload for %OVS_DP_* commands.
|
||||
*/
|
||||
enum ovs_datapath_attr {
|
||||
OVS_DP_ATTR_UNSPEC,
|
||||
OVS_DP_ATTR_NAME, /* name of dp_ifindex netdev */
|
||||
OVS_DP_ATTR_UPCALL_PID, /* Netlink PID to receive upcalls */
|
||||
OVS_DP_ATTR_STATS, /* struct ovs_dp_stats */
|
||||
OVS_DP_ATTR_NAME, /* name of dp_ifindex netdev */
|
||||
OVS_DP_ATTR_UPCALL_PID, /* Netlink PID to receive upcalls */
|
||||
OVS_DP_ATTR_STATS, /* struct ovs_dp_stats */
|
||||
OVS_DP_ATTR_MEGAFLOW_STATS, /* struct ovs_dp_megaflow_stats */
|
||||
__OVS_DP_ATTR_MAX
|
||||
};
|
||||
|
||||
|
@ -84,6 +87,14 @@ struct ovs_dp_stats {
|
|||
__u64 n_flows; /* Number of flows present */
|
||||
};
|
||||
|
||||
struct ovs_dp_megaflow_stats {
|
||||
__u64 n_mask_hit; /* Number of masks used for flow lookups. */
|
||||
__u32 n_masks; /* Number of masks for the datapath. */
|
||||
__u32 pad0; /* Pad for future expension. */
|
||||
__u64 pad1; /* Pad for future expension. */
|
||||
__u64 pad2; /* Pad for future expension. */
|
||||
};
|
||||
|
||||
struct ovs_vport_stats {
|
||||
__u64 rx_packets; /* total packets received */
|
||||
__u64 tx_packets; /* total packets transmitted */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue