On 12/21/22 15:59, Stokes, Ian wrote:
>> On 16 Sep 2022, at 12:12, Cian Ferriter wrote:
>>
>>> A typical NVGRE encapsulated packet starts with the ETH/IP/GRE
>>> protocols.  Miniflow extract will parse just the ETH and IP headers. The
>>> GRE header will be processed later as part of the pop action. Add
>>> support for parsing the ETH/IP headers in this scenario.
>>>
>>> Signed-off-by: Cian Ferriter <[email protected]>
>>> ---
>>>  lib/dp-packet.h                   | 58 +++++++++++++++++++++++--------
>>>  lib/dpif-netdev-extract-avx512.c  | 43 +++++++++++++++++++++--
>>>  lib/dpif-netdev-private-extract.c | 10 ++++++
>>>  lib/dpif-netdev-private-extract.h |  5 +++
>>>  4 files changed, 100 insertions(+), 16 deletions(-)
>>>
>>> diff --git a/lib/dp-packet.h b/lib/dp-packet.h
>>> index 55eeaab2c..230bbec27 100644
>>
>> Only one small nit, maybe Ilya can change on commit if he finds no other 
>> issues.
> 
> Thanks for the ack Eelco, I can add the new line on the comments if Ilya has 
> no other issues?
> 
> @Ilya Maximets anything blocking from your side?

I didn't do a full review, but nothing blocking from my side at a quick glance.

Best regards, Ilya Maximets.

> 
> Thanks
> Ian
> 
>>
>> Acked-by: Eelco Chaudron <[email protected]>
>>
>>> --- a/lib/dp-packet.h
>>> +++ b/lib/dp-packet.h
>>> @@ -1089,8 +1089,28 @@ dp_packet_l4_checksum_bad(const struct
>> dp_packet *p)
>>>              DP_PACKET_OL_RX_L4_CKSUM_BAD;
>>>  }
>>>
>>> +static inline uint32_t ALWAYS_INLINE
>>> +dp_packet_calc_hash_ipv4(const uint8_t *pkt, const uint16_t l3_ofs,
>>> +                         uint32_t hash)
>>> +{
>>> +    const void *ipv4_src = &pkt[l3_ofs + offsetof(struct ip_header, 
>>> ip_src)];
>>> +    const void *ipv4_dst = &pkt[l3_ofs + offsetof(struct ip_header, 
>>> ip_dst)];
>>> +    uint32_t ip_src, ip_dst;
>>> +
>>> +    memcpy(&ip_src, ipv4_src, sizeof ip_src);
>>> +    memcpy(&ip_dst, ipv4_dst, sizeof ip_dst);
>>> +
>>> +    /* IPv4 Src and Dst. */
>>> +    hash = hash_add(hash, ip_src);
>>> +    hash = hash_add(hash, ip_dst);
>>
>> Add cr/lf before comments.
>>
>>> +    /* IPv4 proto. */
>>> +    hash = hash_add(hash, pkt[l3_ofs + offsetof(struct ip_header, 
>>> ip_proto)]);
>>
>> <SNIP>

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to