From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4693F45D48 for ; Tue, 19 Nov 2024 21:53:44 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 16E934025D; Tue, 19 Nov 2024 21:53:44 +0100 (CET) Received: from smtp1.cs.Stanford.EDU (smtp1.cs.stanford.edu [171.64.64.25]) by mails.dpdk.org (Postfix) with ESMTP id 9ABDF4021F for ; Tue, 19 Nov 2024 21:53:42 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=cs.stanford.edu; s=cs2308; h=Content-Type:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Sender:Reply-To:Cc: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=n2gk4nVrJRWlcheaUHVzGuaXQMNqSGrUGhgYTMqppZE=; t=1732049622; x=1732913622; b=svz03slcckuy93ct/Wni9jYMoGiDacsZEYszU6gwCDBm2vaugIMi9dx6c6J9s0STwW1v0NmQ6bt 8vkG/0RBYLnCJN5z/zSMPYjtGP431IsUVgTVVn0gfP+Jntdq/inRrFdgrQg/RD38y1usi/Y8GNJ4j RlZJOdO25STf2FrQvQZdVdp1ItuiaKC7e4P8FKH6xZfL9ZyMR9xlPN7hlesE+009nIWmYY3xp97qJ xY9dKeDuJYstzlkoro83/tm4wYjfj2SB8z3/V2VXyi8OMcKm7fJ9CncH4Ex15i3Uhd0/cyoDgosw5 DblhbXVWdrpGFgpNH3dIT67ts8x5/PDDTsng==; Received: from mail-pf1-f200.google.com ([209.85.210.200]:50418) by smtp1.cs.Stanford.EDU with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1tDVEC-00047J-Nk for users@dpdk.org; Tue, 19 Nov 2024 12:53:41 -0800 Received: by mail-pf1-f200.google.com with SMTP id d2e1a72fcca58-71e63889587so3311312b3a.0 for ; Tue, 19 Nov 2024 12:53:40 -0800 (PST) X-Gm-Message-State: AOJu0YwhG/6FxgAbw+tjn+caJgJJ1eNmJLd/h9a40oZpQ+4sdHB7Cc0j 0kI51g45PMXctC8pCfOfBQvetvuhm0R0PjvZAAly+Ue1uzilxi+ztUgnwJxBGj36N41MgGy20IX bIWwu0sEWVsqPPgkOF1z5Jiy3PG8xTY6n78BVYIPvd+HtsGi5qlGRKejscXMebhrolnCbARwHpp pPbZZVuotMLKM0tBImXYKx7wLz6KgXMWQ+39s4DNCvFEPrlO1O8f07Ag== X-Received: by 2002:a05:6a00:a14:b0:71e:21:d2d8 with SMTP id d2e1a72fcca58-724beca155bmr398139b3a.7.1732049619943; Tue, 19 Nov 2024 12:53:39 -0800 (PST) X-Google-Smtp-Source: AGHT+IGJZM6+0lf1WAS2Z3N+udz+fwT8Seh94zwFFumhk+zaBVCYj4pUlsQJNludAyjd5XKXckXVnQ/RWcIYxyqm6MI= X-Received: by 2002:a05:6a00:a14:b0:71e:21:d2d8 with SMTP id d2e1a72fcca58-724beca155bmr398127b3a.7.1732049619687; Tue, 19 Nov 2024 12:53:39 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Thea Corinne Rossman Date: Tue, 19 Nov 2024 12:53:02 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: Containernet (Docker/Container Networking) with DPDK? To: users@dpdk.org Content-Type: multipart/alternative; boundary="00000000000050d5ba06274a3abe" X-proofpoint-id: ef3f9bb5-395f-4fcc-a797-849143d52903 X-Spam-Score: 2.6 X-Spam-Level: ** X-Spam-Checker-Version: SpamAssassin on smtp1.cs.Stanford.EDU X-Scan-Signature: 37a785be3a4dfed91a20e5e089c71ec4 X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org --00000000000050d5ba06274a3abe Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I'm following up on this to ask a more specific question, since my first question was a bit all over the place. This is regarding the interplay between the host and the containers when setting up containers that can run DPDK applications. Based on what I've found so far, it looks like I will have to fully configure DPDK on the host and then mount devices onto each container, even if there's no need to connect the containers to the outside world. (Is this correct?) If so, I don't fully understand this, since a container/container network should be self-contained. - Why do we need to set up DPDK on the host? (Why isn't the container enough?) - Why do we need to set up a DPDK-compatible driver on the host NICs? If the containers are on the same machine, exchanging packets, why would th= e host NIC be involved at all? Nothing is going in or out. - Why do we need to configure hugepages on the host and then mount them on the container? Why can't you just configure this on the containers? I= s this something that can't be emulated? Thank you so much again! On Sun, Nov 17, 2024 at 9:42=E2=80=AFPM Thea Corinne Rossman < thea.rossman@cs.stanford.edu> wrote: > Hello all! > > I'm hoping for some general help getting started with DPDK in a > Containernet topology. I have some DPDK > experience, but I'm very new to container networking :). I've been workin= g > with an Ubuntu 24.10 VM, though I can run any experiments on Cloudlab (so > am not necessarily tied to a particular architecture). > > First question: for setting up the host machine: Do I need to install > DPDK, set up hugepages, etc., on the host, or is configuration in just th= e > containers sufficient? > > Second question: I'm having trouble creating containers that will let me > run DPDK applications. High-level, I understand that I'll need to create = or > find a container image that's configured with DPDK and all dependencies, = as > well as the Containernet requirements > . > > I tried to build on this: https://github.com/shanakaprageeth/docker-dpdk = . > However, when I ran the setup script, I get this error: > > ``` > ERROR: failed to solve: process "/bin/sh -c apt-get install > build-essential git python pciutils vim -y" did not complete successfully= : > exit code: 100 > Unable to find `image 'ubuntu-dpdk:latest' locally > docker: Error response from daemon: pull access denied for ubuntu-dpdk, > repository does not exist or may require 'docker login': denied: requeste= d > access to the resource is denied. > ``` > > When I downloaded the image directly from docker (docker pull > shanakaprageeth/ubuntu-dpdk), no commands on the container worked > (ifconfig, apt-get, etc.). There was no error message. > > I think I fundamentally don't understand how container images work and ho= w > to customize them, especially since I'm trying to write Containernet > scripts (vs. actually ssh-ing into containers). I know I'll need a > container that supports DPDK and has it downloaded, and I know it will al= so > need to meet the Containernet requirements. > > Could anyone please point me in the right direction? > > Thank you! > --00000000000050d5ba06274a3abe Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I'm following up on this to ask a more specific questi= on, since my first question was a bit all over the place. This is regarding= the interplay between the host and the containers when setting up containe= rs that can run DPDK applications.=C2=A0

Based on what I= 've found so far, it looks like I will have to fully configure DPDK on = the host and then mount devices onto each container, even if there's no= need to connect the containers to the outside world. (Is this correct?) If= so, I don't fully understand this, since a container/container network= should be self-contained.=C2=A0
  • Why do we need to s= et up DPDK on the host? (Why isn't the container enough?)
  • W= hy do we need to set up a DPDK-compatible driver on the host NICs? If the c= ontainers are on the same machine, exchanging packets, why would the host N= IC be involved at all? Nothing is going in or out.
  • Why do we need t= o configure hugepages on the host and then mount them on the container? Why= can't you just configure this on the containers? Is this something tha= t can't be emulated?
Thank you so much again!=C2=A0

On Sun, Nov 17, 2024 at 9:42=E2=80=AFPM Thea Corinne Rossma= n <thea.rossman@cs.stanf= ord.edu> wrote:
Hello all!=C2=A0

I'm hoping for = some general help getting started with DPDK in a Containernet=C2=A0topology. I have s= ome DPDK experience, but I'm very new to container networking :). I'= ;ve been working with an Ubuntu 24.10 VM, though I=C2=A0can run any experim= ents on Cloudlab (so am not necessarily tied to a particular architecture).= =C2=A0

First question: for setting up the= host machine: Do I need to install DPDK, set up hugepages, etc., on the ho= st, or is configuration in just the containers sufficient?
=
Second question: I'm having trouble creating containers = that will let me run DPDK applications. High-level, I understand that I'= ;ll need to create or find a container image that's configured with DPD= K and all dependencies, as well as the Containernet requirements.= =C2=A0

I tried to build on this:=C2=A0https://gi= thub.com/shanakaprageeth/docker-dpdk=C2=A0. However, when I ran the set= up script, I get this error:

```
ERROR: fai= led to solve: process "/bin/sh -c apt-get install build-essential git = python pciutils vim -y" did not complete successfully: exit code: 100<= br>Unable to find `image 'ubuntu-dpdk:latest' locally
docker: Er= ror response from daemon: pull access denied for ubuntu-dpdk, repository do= es not exist or may require 'docker login': denied: requested acces= s to the resource is denied.
```

When I downloa= ded the image directly from docker (docker pull shanakaprageeth/ubuntu-dpdk= ), no commands on the container worked (ifconfig, apt-get, etc.). There was= no error message.

I think I fundamentally don'= ;t understand how container images work and how to customize them, especial= ly since I'm trying to write Containernet scripts (vs. actually ssh-ing= into containers). I know I'll need a container that supports DPDK and = has it downloaded, and I know it will also need to meet the Containernet re= quirements.

Could anyone please point me in the right direction?
=
Thank you!
--00000000000050d5ba06274a3abe--