Sketching algorithm provide high-fidelity approximate measurements and appears as a promising alternative to traditional approaches such as packet sampling. NitroSketch [1] is a software sketching framework that optimizes performance, provides accuracy guarantees, and supports a variety of sketches. This commit adds a new data structure called sketch into membership library. This new data structure is an efficient way to profile the traffic for heavy hitters. Also use min-heap structure to maintain the top-k flow keys. [1] Zaoxing Liu, Ran Ben-Basat, Gil Einziger, Yaron Kassner, Vladimir Braverman, Roy Friedman, Vyas Sekar, "NitroSketch: Robust and General Sketch-based Monitoring in Software Switches", in ACM SIGCOMM 2019. https://dl.acm.org/doi/pdf/10.1145/3341302.3342076 Signed-off-by: Alan Liu <zaoxingliu@gmail.com> Signed-off-by: Yipeng Wang <yipeng1.wang@intel.com> Signed-off-by: Leyi Rong <leyi.rong@intel.com> Tested-by: Yu Jiang <yux.jiang@intel.com>
26 lines
390 B
Plaintext
26 lines
390 B
Plaintext
DPDK_23 {
|
|
global:
|
|
|
|
rte_member_add;
|
|
rte_member_create;
|
|
rte_member_delete;
|
|
rte_member_find_existing;
|
|
rte_member_free;
|
|
rte_member_lookup;
|
|
rte_member_lookup_bulk;
|
|
rte_member_lookup_multi;
|
|
rte_member_lookup_multi_bulk;
|
|
rte_member_reset;
|
|
|
|
local: *;
|
|
};
|
|
|
|
EXPERIMENTAL {
|
|
global:
|
|
|
|
# added in 22.11
|
|
rte_member_add_byte_count;
|
|
rte_member_query_count;
|
|
rte_member_report_heavyhitter;
|
|
};
|