xdp-newbies.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alexander Petrovsky <askjuise@gmail.com>
To: xdp-newbies@vger.kernel.org
Subject: Another IP fragmentation question
Date: Thu, 27 Aug 2020 20:45:32 +0300	[thread overview]
Message-ID: <CAH57y_TE5qa5iVnvYQ9GJ3NNYkkzUAt7fLUeZ=iucrwmOYgVmw@mail.gmail.com> (raw)

Hello!

As well known the XDP doesn't have any mechanism to handle IP
fragmented packets and do IP defrag. It's a big problem for L4 routers
implemented using XDP. There are some hacks and workarounds such a
using AF_XDP to handle such packets in userspace, or the hack like the
cilium did (https://github.com/cilium/cilium/commit/e65adc058d851c8aac864e7ac5c7e50f7f46104f)
which is absolutely bad, but we don't have anything better.

There is a first try to do about three years ago -
https://lists.linuxfoundation.org/pipermail/iovisor-dev/2017-September/001023.html
but without success.

Now, we have a hash of maps and ignore some specific we could store
the IP fragments there till the first IP fragment comes in... We still
need the way how to evict old accumulated fragments. We still need the
mechanism which lets us emit such fragments to the network interface
when we ready to do it.

So, my question is:
1. If we will have such hash of lru maps?
2. Is the way how to safely store IP fragments in the maps?
3. could we try to solve the next problem, emit the fragments/data
from the maps to the network interface on demand?

Is it could sound like a plan? Or there are some better ways to solve
this problem?

Thanks!

--
Alexander Petrovsky

                 reply	other threads:[~2020-08-27 17:45 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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='CAH57y_TE5qa5iVnvYQ9GJ3NNYkkzUAt7fLUeZ=iucrwmOYgVmw@mail.gmail.com' \
    --to=askjuise@gmail.com \
    --cc=xdp-newbies@vger.kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).