* 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).