Hi Ferruh,
Please find comments inline.

> -----Original Message-----
> From: Ferruh Yigit <ferruh.yi...@intel.com>
> Sent: Tuesday, October 6, 2020 5:31 PM
> To: Ophir Munk <ophi...@nvidia.com>; dev@dpdk.org; Wenzhuo Lu
<...>
> >
> >   uint16_t vxlan_gpe_udp_port = 4790;
> > +uint16_t geneve_udp_port = RTE_GENEVE_DEFAULT_PORT;
> >
> 
> There is a testpmd command to configure the NIC for GENEVE port, "port
> config (port_id) udp_tunnel_port add|rm vxlan|geneve|vxlan-gpe
> (udp_port)"
> 
> You are adding support to testpmd to parse the GENEVE packets, but I think
> these two commads should be consistent.
> 
> What do you think "port config N add geneve X" update the
> 'geneve_udp_port=X"?
> 
> <...>
> 

It is not as simple as suggested.
The command "port config N add geneve X" can be repeated several times - adding 
another geneve port to the NIC Hardware/Firmware to recognize. As a result the 
NIC is configured with multiple geneve ports. On the other hand geneve_udp_port 
is a single variable - so whenever a new "port config" command is executed - we 
will override the last geneve port and forget all the precedent ones.
The port config command also has a "rm" option in addition to "add". So if we 
removed the last port - what will we assigned to geneve_udp_port? We need to 
have a small data base for managing geneve ports.
testpmd also has an option " --geneve-port=N". It should be synched with the 
"port config" command.

Another issue to consider is if there is a need for the suggested feature. I 
think the "port config" is mainly targeted for offloading. So the NIC will 
probably encap/decap a packet with geneve - leaving testpmd paring unneeded.

My point is that your suggestion requires an RFC before implementation.

> 
> > @@ -865,9 +925,17 @@ pkt_burst_checksum_forward(struct fwd_stream
> *fs)
> >                             }
> >                             parse_vxlan(udp_hdr, &info,
> >                                         m->packet_type);
> > -                           if (info.is_tunnel)
> > +                           if (info.is_tunnel) {
> >                                     tx_ol_flags |=
> >                                             PKT_TX_TUNNEL_VXLAN;
> > +                                   goto tunnel_update;
> > +                           }
> > +                           parse_geneve(udp_hdr, &info);
> > +                           if (info.is_tunnel) {
> > +                                   tx_ol_flags |=
> > +                                           PKT_TX_TUNNEL_GENEVE;
> > +                                   goto tunnel_update;
> > +                           }
> 
> Can you please update the "csum parse-tunnel" documentation to mention
> "geneve"
> protocol?

Done in v6. I added other missing tunnel protocols (in alphabetical order) such 
as "gtp". Since it is more than geneve I added it to the 3rd (cleanup) commit.

Reply via email to