|
@@ -156,7 +156,6 @@ nfp_flower_compile_ipv4(struct nfp_flower_ipv4 *frame,
|
|
|
struct flow_dissector_key_ipv4_addrs *addr;
|
|
|
struct flow_dissector_key_basic *basic;
|
|
|
|
|
|
- /* Wildcard TOS/TTL for now. */
|
|
|
memset(frame, 0, sizeof(struct nfp_flower_ipv4));
|
|
|
|
|
|
if (dissector_uses_key(flow->dissector,
|
|
@@ -174,6 +173,16 @@ nfp_flower_compile_ipv4(struct nfp_flower_ipv4 *frame,
|
|
|
target);
|
|
|
frame->proto = basic->ip_proto;
|
|
|
}
|
|
|
+
|
|
|
+ if (dissector_uses_key(flow->dissector, FLOW_DISSECTOR_KEY_IP)) {
|
|
|
+ struct flow_dissector_key_ip *flow_ip;
|
|
|
+
|
|
|
+ flow_ip = skb_flow_dissector_target(flow->dissector,
|
|
|
+ FLOW_DISSECTOR_KEY_IP,
|
|
|
+ target);
|
|
|
+ frame->tos = flow_ip->tos;
|
|
|
+ frame->ttl = flow_ip->ttl;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
static void
|