DPDK patches and discussions
 help / color / mirror / Atom feed
* i40e add UDP GENEVE tunnel
@ 2024-05-30 14:04 Taras Bilous
  2024-07-02 14:48 ` Bruce Richardson
  0 siblings, 1 reply; 2+ messages in thread
From: Taras Bilous @ 2024-05-30 14:04 UTC (permalink / raw)
  To: dev

[-- Attachment #1: Type: text/plain, Size: 1577 bytes --]

Hi All,

I see that GENEVE tunnel type is currently not supported in
i40e_dev_udp_tunnel_port_add(). Is there any reason for this or a roadmap
for when this is planned to be done? I looked into the latest DPDK (24.03)
and it is still not available there.

I'm using XXV710 with an i40e driver and want to associate UDP port 6081 as
a GENEVE tunnel on all ports so that RSS works correctly and distributes
traffic based on inner packets. I checked the XXV710 datasheet and found
that the following patch works for me, but I would like someone else
familiar with this to take a look at it.

--- a/drivers/net/i40e/base/i40e_adminq_cmd.h
+++ b/drivers/net/i40e/base/i40e_adminq_cmd.h
@@ -2800,7 +2800,7 @@ struct i40e_aqc_add_udp_tunnel {
     u8  reserved0[3];
     u8  protocol_type;
 #define I40E_AQC_TUNNEL_TYPE_VXLAN  0x00
-#define I40E_AQC_TUNNEL_TYPE_NGE    0x01
+#define I40E_AQC_TUNNEL_TYPE_GENEVE 0x01
 #define I40E_AQC_TUNNEL_TYPE_TEREDO 0x10
 #define I40E_AQC_TUNNEL_TYPE_VXLAN_GPE  0x11
     u8  reserved1[10];
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index cb0070f..464e0be 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -8753,6 +8753,9 @@ i40e_dev_udp_tunnel_port_add(struct rte_eth_dev *dev,
                       I40E_AQC_TUNNEL_TYPE_VXLAN_GPE);
         break;
     case RTE_ETH_TUNNEL_TYPE_GENEVE:
+        ret = i40e_add_vxlan_port(pf, udp_tunnel->udp_port,
+                      I40E_AQC_TUNNEL_TYPE_GENEVE);
+        break;
     case RTE_ETH_TUNNEL_TYPE_TEREDO:

Best regards,
Taras

[-- Attachment #2: Type: text/html, Size: 1830 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: i40e add UDP GENEVE tunnel
  2024-05-30 14:04 i40e add UDP GENEVE tunnel Taras Bilous
@ 2024-07-02 14:48 ` Bruce Richardson
  0 siblings, 0 replies; 2+ messages in thread
From: Bruce Richardson @ 2024-07-02 14:48 UTC (permalink / raw)
  To: Taras Bilous; +Cc: dev

On Thu, May 30, 2024 at 05:04:39PM +0300, Taras Bilous wrote:
>    Hi All,
>    I see that GENEVE tunnel type is currently not supported in
>    i40e_dev_udp_tunnel_port_add(). Is there any reason for this or a
>    roadmap for when this is planned to be done? I looked into the latest
>    DPDK (24.03) and it is still not available there.
>    I'm using XXV710 with an i40e driver and want to associate UDP port
>    6081 as a GENEVE tunnel on all ports so that RSS works correctly and
>    distributes traffic based on inner packets. I checked the XXV710
>    datasheet and found that the following patch works for me, but I would
>    like someone else familiar with this to take a look at it.
>    --- a/drivers/net/i40e/base/i40e_adminq_cmd.h
>    +++ b/drivers/net/i40e/base/i40e_adminq_cmd.h
>    @@ -2800,7 +2800,7 @@ struct i40e_aqc_add_udp_tunnel {
>         u8  reserved0[3];
>         u8  protocol_type;
>     #define I40E_AQC_TUNNEL_TYPE_VXLAN  0x00
>    -#define I40E_AQC_TUNNEL_TYPE_NGE    0x01
>    +#define I40E_AQC_TUNNEL_TYPE_GENEVE 0x01
>     #define I40E_AQC_TUNNEL_TYPE_TEREDO 0x10
>     #define I40E_AQC_TUNNEL_TYPE_VXLAN_GPE  0x11
>         u8  reserved1[10];
>    diff --git a/drivers/net/i40e/i40e_ethdev.c
>    b/drivers/net/i40e/i40e_ethdev.c
>    index cb0070f..464e0be 100644
>    --- a/drivers/net/i40e/i40e_ethdev.c
>    +++ b/drivers/net/i40e/i40e_ethdev.c
>    @@ -8753,6 +8753,9 @@ i40e_dev_udp_tunnel_port_add(struct rte_eth_dev
>    *dev,
>                           I40E_AQC_TUNNEL_TYPE_VXLAN_GPE);
>             break;
>         case RTE_ETH_TUNNEL_TYPE_GENEVE:
>    +        ret = i40e_add_vxlan_port(pf, udp_tunnel->udp_port,
>    +                      I40E_AQC_TUNNEL_TYPE_GENEVE);
>    +        break;
>         case RTE_ETH_TUNNEL_TYPE_TEREDO:
>    Best regards,
>    Taras

Hi Taras,

Follwing a quick consultation of the datasheet, your proposed patch looks
fine to me - especially if it works for you in reality too! :-)

Can you please submit your change above as a proper patch with appropriate
commit message and sign-off, and I'll try and merge it into the
dpdk-next-net-intel tree for inclusion in the next DPDK release. Some
guidelines for doing a proper DPDK patch can be found at [1], with guide on
doing a commit title and body at [2] and [3] on that page.

Thanks,
/Bruce

[1] https://doc.dpdk.org/guides-24.03/contributing/patches.html
[2] https://doc.dpdk.org/guides-24.03/contributing/patches.html#commit-messages-subject-line
[3] https://doc.dpdk.org/guides-24.03/contributing/patches.html#commit-messages-body

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-07-02 14:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-05-30 14:04 i40e add UDP GENEVE tunnel Taras Bilous
2024-07-02 14:48 ` Bruce Richardson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).