> 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 Ilya, I've made the modification and pushed to master. Thanks Ian > > > > > 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
