>> - eth_hdr->ether_type == _htons(RTE_ETHER_TYPE_QINQ)) {
>> - vlan_hdr = (struct rte_vlan_hdr *)
>> - ((char *)eth_hdr + sizeof(*eth_hdr));
>> + vlan_hdr = (struct rte_vlan_hdr *) RTE_PTR_ADD(eth_hdr,
>> + offsetof(struct rte_ether_hdr, ether_type));
>> + while ((ethertype == _htons(RTE_ETHER_TYPE_VLAN) ||
>> + ethertype == _htons(RTE_ETHER_TYPE_QINQ))) {
>Two details:
>1. Lines continuing on the next line must be indented by two TABs.
>2. Please add the boundary check, as requested by Stephen. (I realize this mail may have crossed my response arguing why it is required.)
Sure, I’ve sent a V3 having these fixed thanks for your review and comments.
>> + vlan_hdr++;
>> ethertype = vlan_hdr->eth_proto;
>> }
>> return ethertype;
>> --
>> 2.39.5 (Apple Git-154)