--- zzzz-none-000/linux-2.6.39.4/net/ipv4/icmp.c 2011-08-03 19:43:28.000000000 +0000 +++ puma6-arm-6490-729/linux-2.6.39.4/net/ipv4/icmp.c 2021-11-10 13:23:11.000000000 +0000 @@ -345,6 +345,12 @@ inet->tos = ip_hdr(skb)->tos; daddr = ipc.addr = rt->rt_src; + +#ifdef CONFIG_TI_META_DATA + /* Initialize the meta-information. */ + ipc.ti_meta_info = 0; +#endif + ipc.opt = NULL; ipc.tx_flags = 0; if (icmp_param->replyopts.optlen) { @@ -359,6 +365,11 @@ .flowi4_tos = RT_TOS(ip_hdr(skb)->tos), .flowi4_proto = IPPROTO_ICMP, }; +#ifdef CONFIG_INTEL_DOCSIS_ICMP_IIF + if(skb->docsis_icmp_iif) + fl4.flowi4_oif = skb->docsis_icmp_iif, +#endif /* CONFIG_INTEL_DOCSIS_ICMP_IIF */ + security_skb_classify_flow(skb, flowi4_to_flowi(&fl4)); rt = ip_route_output_key(net, &fl4); if (IS_ERR(rt)) @@ -600,6 +611,11 @@ ipc.opt = &icmp_param.replyopts; ipc.tx_flags = 0; + #ifdef CONFIG_TI_META_DATA + /* Initialize the meta-information. */ + ipc.ti_meta_info = 0; + #endif + rt = icmp_route_lookup(net, skb_in, iph, saddr, tos, type, code, &icmp_param); if (IS_ERR(rt))