}
static __always_inline void
-check_flow_bulk(struct qosify_config *config, struct __sk_buff *skb,
+check_flow_bulk(struct qosify_flow_config *config, struct __sk_buff *skb,
struct flow_bucket *flow, struct qosify_dscp_val *out_val)
{
bool trigger = false;
}
static __always_inline void
-check_flow_prio(struct qosify_config *config, struct __sk_buff *skb,
+check_flow_prio(struct qosify_flow_config *config, struct __sk_buff *skb,
struct flow_bucket *flow, struct qosify_dscp_val *out_val)
{
if ((flow->val.flags & QOSIFY_VAL_FLAG_BULK_CHECK) ||
}
static __always_inline void
-check_flow(struct qosify_config *config, struct __sk_buff *skb,
+check_flow(struct qosify_flow_config *config, struct __sk_buff *skb,
struct qosify_dscp_val *out_val)
{
struct flow_bucket flow_data;
int type;
config = get_config();
+ if (!config)
+ return TC_ACT_OK;
if (module_flags & QOSIFY_IP_ONLY)
type = skb->protocol;
val = ip_val->dscp;
}
- check_flow(config, skb, &val);
+ check_flow(&config->flow, skb, &val);
dscp = dscp_val(&val, ingress);
if (dscp == 0xff)