--- zzzz-none-000/linux-2.6.39.4/net/ipv4/route.c 2011-08-03 19:43:28.000000000 +0000 +++ puma6-arm-6490-729/linux-2.6.39.4/net/ipv4/route.c 2021-11-10 13:23:11.000000000 +0000 @@ -108,6 +108,9 @@ #ifdef CONFIG_SYSCTL #include #endif +#ifdef CONFIG_TI_PACKET_PROCESSOR +#include +#endif #define RT_FL_TOS(oldflp4) \ ((u32)(oldflp4->flowi4_tos & (IPTOS_RT_MASK | RTO_ONLINK))) @@ -1914,8 +1917,10 @@ hash = rt_hash(daddr, saddr, dev->ifindex, rt_genid(dev_net(dev))); rth = rt_intern_hash(hash, rth, skb, dev->ifindex); - return IS_ERR(rth) ? PTR_ERR(rth) : 0; - + err = 0; + if (IS_ERR(rth)) + err = PTR_ERR(rth); + return err; e_nobufs: return -ENOBUFS; e_inval: @@ -1932,6 +1937,11 @@ __be32 saddr) { RT_CACHE_STAT_INC(in_martian_src); +#ifdef CONFIG_TI_PACKET_PROCESSOR + /* Create a NULL PP device to drop all dropped martian packets before they reach the host */ + ti_hil_pp_event (IP_DISCARD_MARTIAN_PKT_IPV4, (void *)skb); +#endif //CONFIG_TI_PACKET_PROCESSOR + #ifdef CONFIG_IP_ROUTE_VERBOSE if (IN_DEV_LOG_MARTIANS(in_dev) && net_ratelimit()) { /* @@ -2236,6 +2246,11 @@ */ martian_destination: RT_CACHE_STAT_INC(in_martian_dst); +#ifdef CONFIG_TI_PACKET_PROCESSOR + /* Create a NULL PP device, to drop all dropped martian dst packets before they reach the host */ + ti_hil_pp_event (IP_DISCARD_MARTIAN_PKT_IPV4, (void *)skb); +#endif //CONFIG_TI_PACKET_PROCESSOR + #ifdef CONFIG_IP_ROUTE_VERBOSE if (IN_DEV_LOG_MARTIANS(in_dev) && net_ratelimit()) printk(KERN_WARNING "martian destination %pI4 from %pI4, dev %s\n",