diff options
author | Luca Deri <deri@ntop.org> | 2025-02-06 22:42:07 +0100 |
---|---|---|
committer | Luca Deri <deri@ntop.org> | 2025-02-06 22:42:07 +0100 |
commit | 5546cdf93175734393e9fd598500986614f98971 (patch) | |
tree | 1cd4a693d3a46446345c0c227cde6a9b23799f0d /src/include | |
parent | c31868ed53c698019977c3fbb41d28f0b12ad6bf (diff) |
Introduced QoE (Quality of Experience) protocol classification
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/ndpi_main.h | 1 | ||||
-rw-r--r-- | src/include/ndpi_typedefs.h | 17 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/include/ndpi_main.h b/src/include/ndpi_main.h index 6bbeb320c..5f269e915 100644 --- a/src/include/ndpi_main.h +++ b/src/include/ndpi_main.h @@ -91,6 +91,7 @@ extern "C" { ndpi_protocol_breed_t breed, u_int16_t protoId, char *protoName, ndpi_protocol_category_t protoCategory, + ndpi_protocol_qoe_category_t qoeCategory, ndpi_port_range *tcpDefPorts, ndpi_port_range *udpDefPorts); void ndpi_set_risk(struct ndpi_detection_module_struct *ndpi_str, struct ndpi_flow_struct *flow, diff --git a/src/include/ndpi_typedefs.h b/src/include/ndpi_typedefs.h index 51a162944..8adb8acdc 100644 --- a/src/include/ndpi_typedefs.h +++ b/src/include/ndpi_typedefs.h @@ -1152,6 +1152,22 @@ typedef enum { NDPI_PROTOCOL_ANY_CATEGORY /* Used to handle wildcards */ } ndpi_protocol_category_t; +typedef enum { + NDPI_PROTOCOL_QOE_CATEGORY_UNSPECIFIED = 0, /* Unspecified/default QoE constraints */ + NDPI_PROTOCOL_QOE_CATEGORY_VOIP_CALLS, /* VoIP Calls (G.711, RTP, SIP) */ + NDPI_PROTOCOL_QOE_CATEGORY_VIDEO_CONFERENCING, /* Video Conferencing (Zoom, WebRTC, Skype) */ + NDPI_PROTOCOL_QOE_CATEGORY_ONLINE_GAMING, /* Online Gaming (FPS, MOBA, MMO) */ + NDPI_PROTOCOL_QOE_CATEGORY_CLOUD_GAMING, /* Cloud Gaming (GeForce NOW, Stadia, xCloud) */ + NDPI_PROTOCOL_QOE_CATEGORY_WEB_BROWSING, /* Web Browsing (HTTP, HTTPS) */ + NDPI_PROTOCOL_QOE_CATEGORY_DNS_QUERIES, /* DNS Queries (UDP/53) */ + NDPI_PROTOCOL_QOE_CATEGORY_LIVE_STREAMING, /* Live Streaming (Twitch, YouTube Live, etc.) */ + NDPI_PROTOCOL_QOE_CATEGORY_BUFFERED_STREAMING, /* Buffered Streaming (Netflix, YouTube, etc.) */ + NDPI_PROTOCOL_QOE_CATEGORY_REMOTE_ACCESS, /* Remote Desktop (RDP, VNC, AnyDesk) */ + NDPI_PROTOCOL_QOE_CATEGORY_HFT, /* High-Frequency Trading (HFT, Stock Trading) */ + NDPI_PROTOCOL_QOE_CATEGORY_IOT_OT, /* IoT Smart Home (Zigbee, Z-Wave, MQTT) */ + NDPI_PROTOCOL_QOE_CATEGORY_AV, /* Autonomous Vehicles (V2X, 5G C-V2X) */ +} ndpi_protocol_qoe_category_t; + /* ntop extensions */ typedef struct ndpi_proto_defaults { char *protoName; @@ -1162,6 +1178,7 @@ typedef struct ndpi_proto_defaults { u_int16_t protoId, protoIdx; u_int16_t tcp_default_ports[MAX_DEFAULT_PORTS], udp_default_ports[MAX_DEFAULT_PORTS]; ndpi_protocol_breed_t protoBreed; + ndpi_protocol_qoe_category_t qoeCategory; void (*func) (struct ndpi_detection_module_struct *, struct ndpi_flow_struct *flow); } ndpi_proto_defaults_t; |