Levels are treated as severity ones. Default level remains INFO and two additional levels WARN and ERR are added.
Signed-off-by: Eli Britstein <el...@nvidia.com> --- lib/conntrack-tcp.c | 4 ++-- lib/conntrack.c | 10 +++++----- lib/coverage.c | 12 ++++++++++++ lib/coverage.h | 6 ++++++ lib/dpif-netdev.c | 24 ++++++++++++------------ lib/dpif.c | 6 +++--- lib/flow.c | 8 ++++---- lib/hindex.c | 2 +- lib/ipf.c | 6 +++--- lib/lockfile.c | 2 +- lib/netdev-afxdp.c | 8 ++++---- lib/netdev-dpdk.c | 2 +- lib/netdev-linux.c | 4 ++-- lib/netdev-native-tnl.c | 4 ++-- lib/netdev.c | 4 ++-- lib/netlink-socket.c | 2 +- lib/odp-execute.c | 34 +++++++++++++++++----------------- lib/ovsdb-idl.c | 2 +- lib/tc.c | 2 +- ofproto/ofproto-dpif-upcall.c | 22 +++++++++++----------- ofproto/ofproto-dpif-xlate.c | 4 ++-- ofproto/ofproto-dpif.c | 2 +- 22 files changed, 94 insertions(+), 76 deletions(-) diff --git a/lib/conntrack-tcp.c b/lib/conntrack-tcp.c index 8a7c98cc4..c3d52d231 100644 --- a/lib/conntrack-tcp.c +++ b/lib/conntrack-tcp.c @@ -46,8 +46,8 @@ #include "util.h" COVERAGE_DEFINE(conntrack_tcp_seq_chk_bypass); -COVERAGE_DEFINE(conntrack_tcp_seq_chk_failed); -COVERAGE_DEFINE(conntrack_invalid_tcp_flags); +COVERAGE_DEFINE_ERR(conntrack_tcp_seq_chk_failed); +COVERAGE_DEFINE_ERR(conntrack_invalid_tcp_flags); struct tcp_peer { uint32_t seqlo; /* Max sequence number sent */ diff --git a/lib/conntrack.c b/lib/conntrack.c index 00262a0c6..3b3235b7b 100644 --- a/lib/conntrack.c +++ b/lib/conntrack.c @@ -47,13 +47,13 @@ VLOG_DEFINE_THIS_MODULE(conntrack); -COVERAGE_DEFINE(conntrack_full); +COVERAGE_DEFINE_ERR(conntrack_full); COVERAGE_DEFINE(conntrack_l3csum_checked); -COVERAGE_DEFINE(conntrack_l3csum_err); +COVERAGE_DEFINE_ERR(conntrack_l3csum_err); COVERAGE_DEFINE(conntrack_l4csum_checked); -COVERAGE_DEFINE(conntrack_l4csum_err); -COVERAGE_DEFINE(conntrack_lookup_natted_miss); -COVERAGE_DEFINE(conntrack_zone_full); +COVERAGE_DEFINE_ERR(conntrack_l4csum_err); +COVERAGE_DEFINE_WARN(conntrack_lookup_natted_miss); +COVERAGE_DEFINE_WARN(conntrack_zone_full); struct conn_lookup_ctx { struct conn_key key; diff --git a/lib/coverage.c b/lib/coverage.c index fab739b59..7d22e499b 100644 --- a/lib/coverage.c +++ b/lib/coverage.c @@ -35,6 +35,8 @@ static size_t allocated_coverage_counters[COVERAGE_LEVELS]; static struct ovs_mutex coverage_mutex[COVERAGE_LEVELS] = { [COVERAGE_LEVEL_INFO] = OVS_MUTEX_INITIALIZER, + [COVERAGE_LEVEL_WARN] = OVS_MUTEX_INITIALIZER, + [COVERAGE_LEVEL_ERR] = OVS_MUTEX_INITIALIZER, }; DEFINE_STATIC_PER_THREAD_DATA(long long int, coverage_clear_time, LLONG_MIN); @@ -70,6 +72,10 @@ coverage_level_name(enum coverage_level level) switch (level) { case COVERAGE_LEVEL_INFO: return "info"; + case COVERAGE_LEVEL_WARN: + return "warning"; + case COVERAGE_LEVEL_ERR: + return "error"; case COVERAGE_LEVELS: default: OVS_NOT_REACHED(); @@ -246,6 +252,10 @@ coverage_vlog_level(const char *line) { if (line[0] == COVERAGE_LEVEL_INFO) { return VLL_INFO; + } else if (line[0] == COVERAGE_LEVEL_WARN) { + return VLL_WARN; + } else if (line[0] == COVERAGE_LEVEL_ERR) { + return VLL_ERR; } OVS_NOT_REACHED(); @@ -264,6 +274,8 @@ coverage_log__(enum coverage_level level) { static struct vlog_rate_limit rl[COVERAGE_LEVELS] = { [COVERAGE_LEVEL_INFO] = VLOG_RATE_LIMIT_INIT(1, 3), + [COVERAGE_LEVEL_WARN] = VLOG_RATE_LIMIT_INIT(1, 3), + [COVERAGE_LEVEL_ERR] = VLOG_RATE_LIMIT_INIT(1, 3), }; if (!VLOG_DROP_INFO(&rl[level])) { diff --git a/lib/coverage.h b/lib/coverage.h index 8614b03d2..73cc5734a 100644 --- a/lib/coverage.h +++ b/lib/coverage.h @@ -55,10 +55,16 @@ struct coverage_counter { }; enum coverage_level { + COVERAGE_LEVEL_ERR, + COVERAGE_LEVEL_WARN, COVERAGE_LEVEL_INFO, COVERAGE_LEVELS }; +#define COVERAGE_DEFINE_ERR(COUNTER) \ + COVERAGE_DEFINE__(COUNTER, COVERAGE_LEVEL_ERR) +#define COVERAGE_DEFINE_WARN(COUNTER) \ + COVERAGE_DEFINE__(COUNTER, COVERAGE_LEVEL_WARN) #define COVERAGE_DEFINE(COUNTER) \ COVERAGE_DEFINE__(COUNTER, COVERAGE_LEVEL_INFO) diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c index 87d69c46d..949951631 100644 --- a/lib/dpif-netdev.c +++ b/lib/dpif-netdev.c @@ -109,19 +109,19 @@ DEFINE_STATIC_PER_THREAD_DATA(uint32_t, recirc_depth, 0) enum { MAX_METERS = 1 << 18 }; /* Maximum number of meters. */ enum { MAX_BANDS = 8 }; /* Maximum number of bands / meter. */ -COVERAGE_DEFINE(datapath_drop_meter); -COVERAGE_DEFINE(datapath_drop_upcall_error); -COVERAGE_DEFINE(datapath_drop_lock_error); -COVERAGE_DEFINE(datapath_drop_userspace_action_error); -COVERAGE_DEFINE(datapath_drop_tunnel_push_error); -COVERAGE_DEFINE(datapath_drop_tunnel_pop_error); -COVERAGE_DEFINE(datapath_drop_recirc_error); -COVERAGE_DEFINE(datapath_drop_invalid_port); -COVERAGE_DEFINE(datapath_drop_invalid_bond); -COVERAGE_DEFINE(datapath_drop_invalid_tnl_port); -COVERAGE_DEFINE(datapath_drop_rx_invalid_packet); +COVERAGE_DEFINE_WARN(datapath_drop_meter); +COVERAGE_DEFINE_ERR(datapath_drop_upcall_error); +COVERAGE_DEFINE_ERR(datapath_drop_lock_error); +COVERAGE_DEFINE_ERR(datapath_drop_userspace_action_error); +COVERAGE_DEFINE_WARN(datapath_drop_tunnel_push_error); +COVERAGE_DEFINE_WARN(datapath_drop_tunnel_pop_error); +COVERAGE_DEFINE_WARN(datapath_drop_recirc_error); +COVERAGE_DEFINE_WARN(datapath_drop_invalid_port); +COVERAGE_DEFINE_WARN(datapath_drop_invalid_bond); +COVERAGE_DEFINE_WARN(datapath_drop_invalid_tnl_port); +COVERAGE_DEFINE_ERR(datapath_drop_rx_invalid_packet); #ifdef ALLOW_EXPERIMENTAL_API /* Packet restoration API required. */ -COVERAGE_DEFINE(datapath_drop_hw_miss_recover); +COVERAGE_DEFINE_WARN(datapath_drop_hw_miss_recover); #endif /* Protects against changes to 'dp_netdevs'. */ diff --git a/lib/dpif.c b/lib/dpif.c index 070fc0131..33793ecc3 100644 --- a/lib/dpif.c +++ b/lib/dpif.c @@ -57,13 +57,13 @@ VLOG_DEFINE_THIS_MODULE(dpif); COVERAGE_DEFINE(dpif_destroy); COVERAGE_DEFINE(dpif_execute); -COVERAGE_DEFINE(dpif_execute_error); +COVERAGE_DEFINE_ERR(dpif_execute_error); COVERAGE_DEFINE(dpif_execute_with_help); COVERAGE_DEFINE(dpif_flow_del); -COVERAGE_DEFINE(dpif_flow_del_error); +COVERAGE_DEFINE_WARN(dpif_flow_del_error); COVERAGE_DEFINE(dpif_flow_flush); COVERAGE_DEFINE(dpif_flow_get); -COVERAGE_DEFINE(dpif_flow_get_error); +COVERAGE_DEFINE_ERR(dpif_flow_get_error); COVERAGE_DEFINE(dpif_flow_put); COVERAGE_DEFINE(dpif_flow_put_error); COVERAGE_DEFINE(dpif_meter_del); diff --git a/lib/flow.c b/lib/flow.c index b522f7f11..97bc3dbe9 100644 --- a/lib/flow.c +++ b/lib/flow.c @@ -49,10 +49,10 @@ VLOG_DEFINE_THIS_MODULE(flow); COVERAGE_DEFINE(flow_extract); -COVERAGE_DEFINE(miniflow_extract_ipv4_pkt_len_error); -COVERAGE_DEFINE(miniflow_extract_ipv4_pkt_too_short); -COVERAGE_DEFINE(miniflow_extract_ipv6_pkt_len_error); -COVERAGE_DEFINE(miniflow_extract_ipv6_pkt_too_short); +COVERAGE_DEFINE_ERR(miniflow_extract_ipv4_pkt_len_error); +COVERAGE_DEFINE_ERR(miniflow_extract_ipv4_pkt_too_short); +COVERAGE_DEFINE_ERR(miniflow_extract_ipv6_pkt_len_error); +COVERAGE_DEFINE_ERR(miniflow_extract_ipv6_pkt_too_short); COVERAGE_DEFINE(miniflow_malloc); /* U64 indices for segmented flow classification. */ diff --git a/lib/hindex.c b/lib/hindex.c index 260649bf8..4e6238669 100644 --- a/lib/hindex.c +++ b/lib/hindex.c @@ -23,7 +23,7 @@ static bool hindex_node_is_head(const struct hindex_node *); static void hindex_resize(struct hindex *, size_t new_mask); static size_t hindex_calc_mask(size_t capacity); -COVERAGE_DEFINE(hindex_pathological); +COVERAGE_DEFINE_WARN(hindex_pathological); COVERAGE_DEFINE(hindex_expand); COVERAGE_DEFINE(hindex_shrink); COVERAGE_DEFINE(hindex_reserve); diff --git a/lib/ipf.c b/lib/ipf.c index b16797312..7e08481c6 100644 --- a/lib/ipf.c +++ b/lib/ipf.c @@ -36,10 +36,10 @@ #include "util.h" VLOG_DEFINE_THIS_MODULE(ipf); -COVERAGE_DEFINE(ipf_stuck_frag_list_expired); -COVERAGE_DEFINE(ipf_stuck_frag_list_purged); +COVERAGE_DEFINE_WARN(ipf_stuck_frag_list_expired); +COVERAGE_DEFINE_WARN(ipf_stuck_frag_list_purged); COVERAGE_DEFINE(ipf_l3csum_checked); -COVERAGE_DEFINE(ipf_l3csum_err); +COVERAGE_DEFINE_ERR(ipf_l3csum_err); enum { IPV4_PACKET_MAX_HDR_SIZE = 60, diff --git a/lib/lockfile.c b/lib/lockfile.c index 42782d29e..3323767ae 100644 --- a/lib/lockfile.c +++ b/lib/lockfile.c @@ -35,7 +35,7 @@ VLOG_DEFINE_THIS_MODULE(lockfile); COVERAGE_DEFINE(lockfile_lock); -COVERAGE_DEFINE(lockfile_error); +COVERAGE_DEFINE_ERR(lockfile_error); COVERAGE_DEFINE(lockfile_unlock); struct lockfile { diff --git a/lib/netdev-afxdp.c b/lib/netdev-afxdp.c index 54029722e..49353730b 100644 --- a/lib/netdev-afxdp.c +++ b/lib/netdev-afxdp.c @@ -60,10 +60,10 @@ #define SOL_XDP 283 #endif -COVERAGE_DEFINE(afxdp_cq_empty); -COVERAGE_DEFINE(afxdp_fq_full); -COVERAGE_DEFINE(afxdp_tx_full); -COVERAGE_DEFINE(afxdp_cq_skip); +COVERAGE_DEFINE_WARN(afxdp_cq_empty); +COVERAGE_DEFINE_WARN(afxdp_fq_full); +COVERAGE_DEFINE_WARN(afxdp_tx_full); +COVERAGE_DEFINE_WARN(afxdp_cq_skip); VLOG_DEFINE_THIS_MODULE(netdev_afxdp); diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index 17b4d6677..613e71033 100644 --- a/lib/netdev-dpdk.c +++ b/lib/netdev-dpdk.c @@ -80,7 +80,7 @@ enum {VIRTIO_RXQ, VIRTIO_TXQ, VIRTIO_QNUM}; VLOG_DEFINE_THIS_MODULE(netdev_dpdk); static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(5, 20); -COVERAGE_DEFINE(vhost_tx_contention); +COVERAGE_DEFINE_WARN(vhost_tx_contention); static char *vhost_sock_dir = NULL; /* Location of vhost-user sockets */ static bool vhost_iommu_enabled = false; /* Status of vHost IOMMU support */ diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c index a63d03d48..744cb2353 100644 --- a/lib/netdev-linux.c +++ b/lib/netdev-linux.c @@ -89,8 +89,8 @@ COVERAGE_DEFINE(netdev_get_hwaddr); COVERAGE_DEFINE(netdev_set_hwaddr); COVERAGE_DEFINE(netdev_get_ethtool); COVERAGE_DEFINE(netdev_set_ethtool); -COVERAGE_DEFINE(netdev_linux_invalid_l4_csum); -COVERAGE_DEFINE(netdev_linux_unknown_l4_csum); +COVERAGE_DEFINE_WARN(netdev_linux_invalid_l4_csum); +COVERAGE_DEFINE_WARN(netdev_linux_unknown_l4_csum); #ifndef IFLA_IF_NETNSID diff --git a/lib/netdev-native-tnl.c b/lib/netdev-native-tnl.c index 439f0679d..a2e513855 100644 --- a/lib/netdev-native-tnl.c +++ b/lib/netdev-native-tnl.c @@ -51,9 +51,9 @@ VLOG_DEFINE_THIS_MODULE(native_tnl); static struct vlog_rate_limit err_rl = VLOG_RATE_LIMIT_INIT(60, 5); COVERAGE_DEFINE(native_tnl_l3csum_checked); -COVERAGE_DEFINE(native_tnl_l3csum_err); +COVERAGE_DEFINE_ERR(native_tnl_l3csum_err); COVERAGE_DEFINE(native_tnl_l4csum_checked); -COVERAGE_DEFINE(native_tnl_l4csum_err); +COVERAGE_DEFINE_ERR(native_tnl_l4csum_err); #define VXLAN_HLEN (sizeof(struct udp_header) + \ sizeof(struct vxlanhdr)) diff --git a/lib/netdev.c b/lib/netdev.c index df5b35232..620c1cfb9 100644 --- a/lib/netdev.c +++ b/lib/netdev.c @@ -69,9 +69,9 @@ COVERAGE_DEFINE(netdev_received); COVERAGE_DEFINE(netdev_sent); COVERAGE_DEFINE(netdev_add_router); COVERAGE_DEFINE(netdev_get_stats); -COVERAGE_DEFINE(netdev_push_header_drops); +COVERAGE_DEFINE_ERR(netdev_push_header_drops); COVERAGE_DEFINE(netdev_soft_seg_good); -COVERAGE_DEFINE(netdev_soft_seg_drops); +COVERAGE_DEFINE_ERR(netdev_soft_seg_drops); struct netdev_saved_flags { struct netdev *netdev; diff --git a/lib/netlink-socket.c b/lib/netlink-socket.c index 976ed15e8..4cfa5057a 100644 --- a/lib/netlink-socket.c +++ b/lib/netlink-socket.c @@ -41,7 +41,7 @@ VLOG_DEFINE_THIS_MODULE(netlink_socket); -COVERAGE_DEFINE(netlink_overflow); +COVERAGE_DEFINE_WARN(netlink_overflow); COVERAGE_DEFINE(netlink_received); COVERAGE_DEFINE(netlink_recv_jumbo); COVERAGE_DEFINE(netlink_sent); diff --git a/lib/odp-execute.c b/lib/odp-execute.c index 649f8e99a..4a33659bf 100644 --- a/lib/odp-execute.c +++ b/lib/odp-execute.c @@ -42,24 +42,24 @@ #include "unixctl.h" VLOG_DEFINE_THIS_MODULE(odp_execute); -COVERAGE_DEFINE(datapath_drop_sample_error); -COVERAGE_DEFINE(datapath_drop_nsh_decap_error); +COVERAGE_DEFINE_WARN(datapath_drop_sample_error); +COVERAGE_DEFINE_ERR(datapath_drop_nsh_decap_error); COVERAGE_DEFINE(drop_action_of_pipeline); -COVERAGE_DEFINE(drop_action_bridge_not_found); -COVERAGE_DEFINE(drop_action_recursion_too_deep); -COVERAGE_DEFINE(drop_action_too_many_resubmit); -COVERAGE_DEFINE(drop_action_stack_too_deep); -COVERAGE_DEFINE(drop_action_no_recirculation_context); -COVERAGE_DEFINE(drop_action_recirculation_conflict); -COVERAGE_DEFINE(drop_action_too_many_mpls_labels); -COVERAGE_DEFINE(drop_action_invalid_tunnel_metadata); -COVERAGE_DEFINE(drop_action_unsupported_packet_type); -COVERAGE_DEFINE(drop_action_congestion); -COVERAGE_DEFINE(drop_action_forwarding_disabled); -COVERAGE_DEFINE(drop_action_tunnel_routing_failed); -COVERAGE_DEFINE(drop_action_tunnel_output_no_ethernet); -COVERAGE_DEFINE(drop_action_tunnel_neigh_cache_miss); -COVERAGE_DEFINE(drop_action_tunnel_header_build_failed); +COVERAGE_DEFINE_WARN(drop_action_bridge_not_found); +COVERAGE_DEFINE_ERR(drop_action_recursion_too_deep); +COVERAGE_DEFINE_ERR(drop_action_too_many_resubmit); +COVERAGE_DEFINE_ERR(drop_action_stack_too_deep); +COVERAGE_DEFINE_ERR(drop_action_no_recirculation_context); +COVERAGE_DEFINE_ERR(drop_action_recirculation_conflict); +COVERAGE_DEFINE_ERR(drop_action_too_many_mpls_labels); +COVERAGE_DEFINE_WARN(drop_action_invalid_tunnel_metadata); +COVERAGE_DEFINE_ERR(drop_action_unsupported_packet_type); +COVERAGE_DEFINE_ERR(drop_action_congestion); +COVERAGE_DEFINE_ERR(drop_action_forwarding_disabled); +COVERAGE_DEFINE_WARN(drop_action_tunnel_routing_failed); +COVERAGE_DEFINE_WARN(drop_action_tunnel_output_no_ethernet); +COVERAGE_DEFINE_WARN(drop_action_tunnel_neigh_cache_miss); +COVERAGE_DEFINE_WARN(drop_action_tunnel_header_build_failed); static void dp_update_drop_action_counter(enum xlate_error drop_reason, diff --git a/lib/ovsdb-idl.c b/lib/ovsdb-idl.c index cd781f300..7290b40ac 100644 --- a/lib/ovsdb-idl.c +++ b/lib/ovsdb-idl.c @@ -58,7 +58,7 @@ COVERAGE_DEFINE(txn_aborted); COVERAGE_DEFINE(txn_success); COVERAGE_DEFINE(txn_try_again); COVERAGE_DEFINE(txn_not_locked); -COVERAGE_DEFINE(txn_error); +COVERAGE_DEFINE_ERR(txn_error); /* An arc from one idl_row to another. When row A contains a UUID that * references row B, this is represented by an arc from A (the source) to B diff --git a/lib/tc.c b/lib/tc.c index a5f9bc1c1..195fc5c13 100644 --- a/lib/tc.c +++ b/lib/tc.c @@ -69,7 +69,7 @@ VLOG_DEFINE_THIS_MODULE(tc); -COVERAGE_DEFINE(tc_netlink_malformed_reply); +COVERAGE_DEFINE_ERR(tc_netlink_malformed_reply); static struct vlog_rate_limit error_rl = VLOG_RATE_LIMIT_INIT(60, 5); diff --git a/ofproto/ofproto-dpif-upcall.c b/ofproto/ofproto-dpif-upcall.c index 9dfa52d82..97d4e157f 100644 --- a/ofproto/ofproto-dpif-upcall.c +++ b/ofproto/ofproto-dpif-upcall.c @@ -52,21 +52,21 @@ VLOG_DEFINE_THIS_MODULE(ofproto_dpif_upcall); -COVERAGE_DEFINE(dumped_duplicate_flow); -COVERAGE_DEFINE(dumped_inconsistent_flow); +COVERAGE_DEFINE_WARN(dumped_duplicate_flow); +COVERAGE_DEFINE_ERR(dumped_inconsistent_flow); COVERAGE_DEFINE(dumped_new_flow); -COVERAGE_DEFINE(handler_duplicate_upcall); -COVERAGE_DEFINE(revalidate_missed_dp_flow); -COVERAGE_DEFINE(revalidate_missing_dp_flow); +COVERAGE_DEFINE_ERR(handler_duplicate_upcall); +COVERAGE_DEFINE_WARN(revalidate_missed_dp_flow); +COVERAGE_DEFINE_WARN(revalidate_missing_dp_flow); COVERAGE_DEFINE(ukey_dp_change); -COVERAGE_DEFINE(ukey_invalid_stat_reset); +COVERAGE_DEFINE_WARN(ukey_invalid_stat_reset); COVERAGE_DEFINE(ukey_replace_contention); COVERAGE_DEFINE(upcall_flow_limit_grew); -COVERAGE_DEFINE(upcall_flow_limit_hit); -COVERAGE_DEFINE(upcall_flow_limit_kill); -COVERAGE_DEFINE(upcall_flow_limit_reduced); -COVERAGE_DEFINE(upcall_flow_limit_scaled); -COVERAGE_DEFINE(upcall_ukey_contention); +COVERAGE_DEFINE_WARN(upcall_flow_limit_hit); +COVERAGE_DEFINE_ERR(upcall_flow_limit_kill); +COVERAGE_DEFINE_WARN(upcall_flow_limit_reduced); +COVERAGE_DEFINE_WARN(upcall_flow_limit_scaled); +COVERAGE_DEFINE_WARN(upcall_ukey_contention); COVERAGE_DEFINE(upcall_ukey_replace); /* A thread that reads upcalls from dpif, forwards each upcall's packet, diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c index 2c8197fb7..5f6d7f8f8 100644 --- a/ofproto/ofproto-dpif-xlate.c +++ b/ofproto/ofproto-dpif-xlate.c @@ -70,8 +70,8 @@ #include "vlan-bitmap.h" COVERAGE_DEFINE(xlate_actions); -COVERAGE_DEFINE(xlate_actions_oversize); -COVERAGE_DEFINE(xlate_actions_too_many_output); +COVERAGE_DEFINE_ERR(xlate_actions_oversize); +COVERAGE_DEFINE_WARN(xlate_actions_too_many_output); VLOG_DEFINE_THIS_MODULE(ofproto_dpif_xlate); diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c index ed9e44ce2..a79d0c979 100644 --- a/ofproto/ofproto-dpif.c +++ b/ofproto/ofproto-dpif.c @@ -78,7 +78,7 @@ VLOG_DEFINE_THIS_MODULE(ofproto_dpif); COVERAGE_DEFINE(ofproto_dpif_expired); -COVERAGE_DEFINE(packet_in_overflow); +COVERAGE_DEFINE_ERR(packet_in_overflow); struct flow_miss; -- 2.34.1 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev