dns: add code for snooping dns packets
[project/qosify.git] / qosify.h
index 791cd1686318bfe6427d763dd442f98506b60781..46543852072e9dc3d0b7d958d591c6d199e15c89 100644 (file)
--- a/qosify.h
+++ b/qosify.h
@@ -24,6 +24,8 @@
 #define CLASSIFY_PIN_PATH      "/sys/fs/bpf/qosify"
 #define CLASSIFY_DATA_PATH     "/sys/fs/bpf/qosify_data"
 
+#define QOSIFY_DNS_IFNAME "ifb-dns"
+
 enum qosify_map_id {
        CL_MAP_TCP_PORTS,
        CL_MAP_UDP_PORTS,
@@ -76,6 +78,7 @@ int qosify_loader_init(void);
 int qosify_map_init(void);
 int qosify_map_dscp_value(const char *val, uint8_t *dscp);
 int qosify_map_load_file(const char *file);
+void __qosify_map_set_entry(struct qosify_map_data *data);
 int qosify_map_set_entry(enum qosify_map_id id, bool file, const char *str,
                         uint8_t dscp);
 void qosify_map_reload(void);
@@ -86,6 +89,7 @@ void qosify_map_set_dscp_default(enum qosify_map_id id, uint8_t val);
 void qosify_map_reset_config(void);
 void qosify_map_update_config(void);
 void qosify_map_set_classes(struct blob_attr *val);
+int qosify_map_lookup_dns_entry(char *host, uint8_t *dscp);
 int qosify_map_add_dns_host(char *host, const char *addr, const char *type, int ttl);
 int map_parse_flow_config(struct qosify_flow_config *cfg, struct blob_attr *attr,
                          bool reset);
@@ -97,6 +101,9 @@ void qosify_iface_check(void);
 void qosify_iface_status(struct blob_buf *b);
 void qosify_iface_stop(void);
 
+int qosify_dns_init(void);
+void qosify_dns_stop(void);
+
 int qosify_ubus_init(void);
 void qosify_ubus_stop(void);
 int qosify_ubus_check_interface(const char *name, char *ifname, int ifname_len);