--- zzzz-none-000/linux-5.15.111/net/ipv6/datagram.c 2023-05-11 14:00:40.000000000 +0000 +++ puma7-atom-6670-761/linux-5.15.111/net/ipv6/datagram.c 2024-02-07 10:23:30.000000000 +0000 @@ -618,6 +618,20 @@ struct inet6_skb_parm *opt = IP6CB(skb); unsigned char *nh = skb_network_header(skb); +#ifdef CONFIG_TI_IP_PKTINFO_SOCKOPT + if (np->rxopt.bits.ti_rxinfo) { + struct ti_pktinfo info; + struct ethhdr *ehdr; +#ifdef CONFIG_TI_META_DATA + info.ifcpe_side = skb->ti_meta_info; + skb->ti_meta_info=0; +#endif + ehdr = eth_hdr(skb); + memcpy( info.mac_addr, ehdr->h_source, sizeof(info.mac_addr)); + put_cmsg(msg, SOL_IPV6, TI_IPV6_PKTINFO, sizeof(info), &info); + } +#endif + if (np->rxopt.bits.rxhlim) { int hlim = ipv6_hdr(skb)->hop_limit; put_cmsg(msg, SOL_IPV6, IPV6_HOPLIMIT, sizeof(hlim), &hlim);