The xt_FLOWOFFLOAD target expects that par->thoff points to the beginning
of the TCP header. For IPv4 that is always the case. However, on IPv6, the
field is only initialized, if a protocol match was performed.
Simply matching any protocol (protocol = 0) is enough to trigger the thoff
initialization, so add it to the emitted rule.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (defs->flow_offloading)
{
+ struct fw3_protocol any = {};
+
r = fw3_ipt_rule_new(handle);
+ fw3_ipt_rule_proto(r, &any);
fw3_ipt_rule_comment(r, "Traffic offloading");
fw3_ipt_rule_extra(r, "-m conntrack --ctstate RELATED,ESTABLISHED");
fw3_ipt_rule_target(r, "FLOWOFFLOAD");