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
