DPDK patches and discussions
 help / color / mirror / Atom feed
From: Junxiao Shi <git@mail1.yoursunny.com>
To: Ferruh Yigit <ferruh.yigit@amd.com>
Cc: dev@dpdk.org
Subject: Re: [PATCH v2] net/memif: change socket listener owner uid/gid
Date: Wed, 7 Dec 2022 12:48:39 -0500	[thread overview]
Message-ID: <CANsAqf7RSxonqqXaEC9nSDdde6_L0WnAdY-5WuZnBQWOK9C6xw@mail.gmail.com> (raw)
In-Reply-To: <7046cb75-75e7-8be6-9efc-f37b70a1f2df@amd.com>

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

Hi Ferruh

> On 12/7/2022 2:41 PM, Junxiao Shi wrote:
> > This allows a DPDK application running with root privilege to create a
> > memif socket listener with non-root owner uid and gid, which can be
> > connected from client applications running without root privilege.
> >
>
> Do you have an easy way to test unprivileged memif client?

This has been tested with NDN-DPDK software.
https://github.com/usnistgov/ndn-dpdk revision
311de078aa4dc3ea28db5f8858e70a1bef7b9ccd

The systemd service is running as root and it uses DPDK with the owner-uid
and owner-gid args.
The ndndpdk-godemo command is running as unprivileged process.
Directory /run/ndn still needs to be created by root.

These commands can perform a full test:

git clone https://github.com/usnistgov/ndn-dpdk.git
cd ndn-dpdk
./docs/ndndpdk-depends.sh --dpdk-patch=26031
corepack pnpm install
make
sudo make install
sudo dpdk-hugepages.py --setup 8G
sudo ndndpdk-ctrl systemd start
jq -n {} | ndndpdk-ctrl activate-forwarder
sudo mkdir -p /run/ndn
ndndpdk-godemo pingserver --name /A
ndndpdk-godemo pingclient --name /A

You can see packets flowing through.
Run `ls -l /run/ndn` and check the uid:gid of socket files too.


>
> > Signed-off-by: Junxiao Shi <git@mail1.yoursunny.com>
>
> <...>
>
> > @@ -1827,47 +1859,58 @@ rte_pmd_memif_probe(struct rte_vdev_device
*vdev)
> >       flags |= ETH_MEMIF_FLAG_SOCKET_ABSTRACT;
> >
> >       kvlist = rte_kvargs_parse(rte_vdev_device_args(vdev),
valid_arguments);
> > +     if (kvlist == NULL) {
> > +             MIF_LOG(ERR, "Invalid kvargs key");
> > +             ret = -EINVAL;
> > +             goto exit;
> > +     }
>
> Thanks Junxiao for updating this, but since it is not really related to
> this patch, can you please separate it to another patch?

These are reverted and will be submitted separately in the future.

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

  parent reply	other threads:[~2022-12-07 17:48 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-15 20:44 [RFC PATCH] " Junxiao Shi
2022-11-15 23:53 ` Stephen Hemminger
2022-11-16 13:09 ` [RFC PATCH v2] " Junxiao Shi
2022-11-16 17:04   ` Stephen Hemminger
2022-11-16 17:14 ` [RFC PATCH v3] " Junxiao Shi
2022-11-16 17:14   ` [PATCH] " Junxiao Shi
2022-12-07 14:28     ` Ferruh Yigit
2022-12-07 14:41     ` [PATCH v2] " Junxiao Shi
2022-12-07 15:43       ` Ferruh Yigit
2022-12-07 16:56         ` Ferruh Yigit
2022-12-07 17:48         ` Junxiao Shi [this message]
2022-12-08 14:29           ` Ferruh Yigit
2022-12-07 15:53     ` [PATCH v3] " Junxiao Shi
2022-12-08 16:25       ` Ferruh Yigit
2022-12-08 16:25       ` Ferruh Yigit
2022-11-16 17:52   ` [RFC PATCH " Stephen Hemminger
2022-12-07 11:43   ` Ferruh Yigit

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=CANsAqf7RSxonqqXaEC9nSDdde6_L0WnAdY-5WuZnBQWOK9C6xw@mail.gmail.com \
    --to=git@mail1.yoursunny.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@amd.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;
as well as URLs for NNTP newsgroup(s).