From: Ilya Maximets <i.maximets@ovn.org>
To: Aaron Conole <aconole@redhat.com>, Eelco Chaudron <echaudro@redhat.com>
Cc: dev@openvswitch.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
"David S. Miller" <davem@davemloft.net>,
i.maximets@ovn.org
Subject: Re: [ovs-dev] [PATCH net] openvswitch: Set the skbuff pkt_type for proper pmtud support.
Date: Mon, 25 Mar 2024 13:37:41 +0100 [thread overview]
Message-ID: <4066cc6a-24a8-4d05-b180-99222fe792fa@ovn.org> (raw)
In-Reply-To: <f7t5xxawlen.fsf@redhat.com>
On 3/25/24 13:22, Aaron Conole wrote:
> Eelco Chaudron <echaudro@redhat.com> writes:
>
>> On 22 Mar 2024, at 20:06, Aaron Conole wrote:
>>
>>> Open vSwitch is originally intended to switch at layer 2, only dealing with
>>> Ethernet frames. With the introduction of l3 tunnels support, it crossed
>>> into the realm of needing to care a bit about some routing details when
>>> making forwarding decisions. If an oversized packet would need to be
>>> fragmented during this forwarding decision, there is a chance for pmtu
>>> to get involved and generate a routing exception. This is gated by the
>>> skbuff->pkt_type field.
>>>
>>> When a flow is already loaded into the openvswitch module this field is
>>> set up and transitioned properly as a packet moves from one port to
>>> another. In the case that a packet execute is invoked after a flow is
>>> newly installed this field is not properly initialized. This causes the
>>> pmtud mechanism to omit sending the required exception messages across
>>> the tunnel boundary and a second attempt needs to be made to make sure
>>> that the routing exception is properly setup. To fix this, we set the
>>> outgoing packet's pkt_type to PACKET_OUTGOING, since it can only get
>>> to the openvswitch module via a port device or packet command.
>>
>> Is this not a problem when the packet comes from the bridge port in the kernel?
>
> It very well may be an issue there as well, but the recommendation is to
> operate with the bridge port down as far as I know, so I don't know if
> this issue has been observed happening from the bridge port.
FWIW, bridge ports are typically used as an entry point for tunneled
traffic so it can egress from a physical port attached to OVS. It means
they are pretty much always UP in most common setups like OpenStack or
ovn-kubernetes and handle a decent amount of traffic. They are also used
to direct some other types of traffic to the host kernel.
Unless I misunderstood which ports we're talking about here.
Best regards, Ilya Maximets.
next prev parent reply other threads:[~2024-03-25 12:37 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-22 19:06 Aaron Conole
2024-03-25 8:44 ` Eelco Chaudron
2024-03-25 12:22 ` Aaron Conole
2024-03-25 12:37 ` Ilya Maximets [this message]
2024-03-25 12:57 ` [ovs-dev] " Eelco Chaudron
2024-03-27 17:17 ` Aaron Conole
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4066cc6a-24a8-4d05-b180-99222fe792fa@ovn.org \
--to=i.maximets@ovn.org \
--cc=aconole@redhat.com \
--cc=davem@davemloft.net \
--cc=dev@openvswitch.org \
--cc=echaudro@redhat.com \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®