--- zzzz-none-000/linux-4.9.279/net/ipv4/icmp.c 2021-08-08 06:38:54.000000000 +0000 +++ puma7-arm-6591-750/linux-4.9.279/net/ipv4/icmp.c 2023-02-08 10:58:16.000000000 +0000 @@ -61,6 +61,10 @@ * This would also greatly simply some upper layer error handlers. --AK * */ +/* +Includes Intel Corporation's changes/modifications dated: 2014. +Changed/modified portions - Copyright © 2014, Intel Corporation. +*/ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt @@ -414,6 +418,10 @@ inet->tos = ip_hdr(skb)->tos; sk->sk_mark = mark; daddr = ipc.addr = ip_hdr(skb)->saddr; +#ifdef CONFIG_TI_META_DATA + /* Initialize the meta-information. */ + ipc.ti_meta_info = 0; +#endif saddr = fib_compute_spec_dst(skb); ipc.opt = NULL; ipc.tx_flags = 0; @@ -432,6 +440,10 @@ fl4.flowi4_tos = RT_TOS(ip_hdr(skb)->tos); fl4.flowi4_proto = IPPROTO_ICMP; fl4.flowi4_oif = l3mdev_master_ifindex(skb->dev); +#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)) @@ -706,6 +718,11 @@ ipc.ttl = 0; ipc.tos = -1; +#ifdef CONFIG_TI_META_DATA + /* Initialize the meta-information. */ + ipc.ti_meta_info = 0; +#endif + rt = icmp_route_lookup(net, &fl4, skb_in, iph, saddr, tos, mark, type, code, icmp_param); if (IS_ERR(rt))