DPDK patches and discussions
 help / color / mirror / Atom feed
From: Abhishek Verma <abhishekv.verma@gmail.com>
To: Keunhong Lee <dlrmsghd@gmail.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] Interface once added to DPDK goes missing from ifconfig
Date: Mon, 29 Jun 2015 06:25:11 +0530	[thread overview]
Message-ID: <CADDmorQoV-8e6UwLF7qtsSBcR=7hbFtk05zbM973tSnppZmLPg@mail.gmail.com> (raw)
In-Reply-To: <CAKBXKmAufd-gHxdH1FPEnEjnAq1-wD4YHPZESuDJcMC+Xe5oOQ@mail.gmail.com>

Hi Keunhong,

Thanks for the response.

I was reading about KNI (
http://dpdk.org/doc/guides/sample_app_ug/kernel_nic_interface.html), and
that seems to defeat the purpose of DPDK -- the whole point of using DPDK
was to bypass the kernel. Now, when i implement KNI, then packets emanating
from the DPDK get into the Linux kernel -- which is what i really wanted to
avoid.

Now that i have tied my eth2 to use a dpdk driver, then does it mean that
any packet arriving on that NIC will directly come to my user space
callback? Its like a raw socket -- so i will get all incoming packets with
all payloads, and i will have to implement the IP stack in my user space
now so that i can deal with that packet. Is my understanding correct here?

If Yes, then what is the need of KNI? Isnt that violating the whole reason
why we have DPDK?

Thanks, Abhishek

On Mon, Jun 29, 2015 at 5:46 AM, Keunhong Lee <dlrmsghd@gmail.com> wrote:

> DPDK's igb_uio driver does not generate 'netdev' interfaces,
> so you cannot see any interface via ifconfig.
> (However, they are registered as 'rte_eth_dev' in your DPDK application.)
>
> You'd better to use KNI drivers to have 'netdev' intefaces.
>
> Keunhong.
>
>
> 2015-06-29 8:51 GMT+09:00 Abhishek Verma <abhishekv.verma@gmail.com>:
>
>> Hi,
>>
>> I have three ethernet interfaces in my VirtualBox as shown below:
>>
>> root@VirtualBox:/home/akabra/dpdk/dpdk-2.0.0/tools# ifconfig
>> eth1      Link encap:Ethernet  HWaddr 08:00:27:3f:34:56
>>       inet addr:192.168.0.123  Bcast:192.168.0.255  Mask:255.255.255.0
>>       inet6 addr: fe80::a00:27ff:fe3f:3456/64 Scope:Link
>>       UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>>       RX packets:132 errors:0 dropped:0 overruns:0 frame:0
>>       TX packets:26 errors:0 dropped:0 overruns:0 carrier:0
>>       collisions:0 txqueuelen:1000
>>       RX bytes:20982 (20.9 KB)  TX bytes:3724 (3.7 KB)
>>
>> eth2      Link encap:Ethernet  HWaddr 08:00:27:f7:13:f5
>>       inet addr:1.1.1.1  Bcast:1.1.1.255  Mask:255.255.255.0
>>       inet6 addr: fe80::a00:27ff:fef7:13f5/64 Scope:Link
>>       UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>>       RX packets:51932 errors:0 dropped:0 overruns:0 frame:0
>>       TX packets:660805 errors:0 dropped:0 overruns:0 carrier:0
>>       collisions:0 txqueuelen:1000
>>       RX bytes:32407739 (32.4 MB)  TX bytes:1647410289 (1.6 GB)
>>
>> lo        Link encap:Local Loopback
>>       inet addr:127.0.0.1  Mask:255.0.0.0
>>       inet6 addr: ::1/128 Scope:Host
>>       UP LOOPBACK RUNNING  MTU:65536  Metric:1
>>       RX packets:1681 errors:0 dropped:0 overruns:0 frame:0
>>       TX packets:1681 errors:0 dropped:0 overruns:0 carrier:0
>>       collisions:0 txqueuelen:0
>>       RX bytes:358901 (358.9 KB)  TX bytes:358901 (358.9 KB)
>>
>> root@manav-VirtualBox:/home/globus/dpdk/dpdk-2.0.0/tools#
>> ./dpdk_nic_bind.py --status
>>
>>
>>
>> Network devices using DPDK-compatible driver
>>
>> ============================================
>>
>> <none>
>>
>> Network devices using kernel driver
>>
>> ===================================
>>
>> 0000:00:03.0 '82540EM Gigabit Ethernet Controller' if=eth1 drv=e1000
>> unused=igb_uio,vfio-pci *Active*
>>
>> 0000:00:08.0 '82540EM Gigabit Ethernet Controller' if=eth2 drv=e1000
>> unused=igb_uio,vfio-pci *Active*
>>
>>
>> I will now add eth2 to DPDK
>>
>> root@manav-VirtualBox:/home/globus/dpdk/dpdk-2.0.0/tools# sudo ifconfig
>> eth2 down
>>
>> root@manav-VirtualBox:/home/globus/dpdk/dpdk-2.0.0/tools#
>> ./dpdk_nic_bind.py -b igb_uio 0000:00:08.0
>>
>>
>> I now see that eth2 has been removed from my ifconfig output. I cant seem
>> to understand why this has happened?
>>
>>
>> root@manav-VirtualBox:/home/globus/dpdk/dpdk-2.0.0/tools# ifconfig
>>
>> eth1      Link encap:Ethernet  HWaddr 08:00:27:3f:34:56
>>
>>           inet addr:192.168.0.123  Bcast:192.168.0.255  Mask:255.255.255.0
>>
>>           inet6 addr: fe80::a00:27ff:fe3f:3456/64 Scope:Link
>>
>>           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>>
>>           RX packets:182 errors:0 dropped:0 overruns:0 frame:0
>>
>>           TX packets:86 errors:0 dropped:0 overruns:0 carrier:0
>>
>>           collisions:0 txqueuelen:1000
>>
>>           RX bytes:27757 (27.7 KB)  TX bytes:12789 (12.7 KB)
>>
>>
>>
>> lo        Link encap:Local Loopback
>>
>>           inet addr:127.0.0.1  Mask:255.0.0.0
>>
>>           inet6 addr: ::1/128 Scope:Host
>>
>>           UP LOOPBACK RUNNING  MTU:65536  Metric:1
>>
>>           RX packets:1705 errors:0 dropped:0 overruns:0 frame:0
>>
>>           TX packets:1705 errors:0 dropped:0 overruns:0 carrier:0
>>
>>           collisions:0 txqueuelen:0
>>
>>           RX bytes:360948 (360.9 KB)  TX bytes:360948 (360.9 KB)
>>
>>
>> I see that it has been successfully recognized as an interface using DPDK
>> driver, but why dont i see it in my ifconfig. Any ideas here?
>>
>>
>> root@manav-VirtualBox:/home/globus/dpdk/dpdk-2.0.0/tools#
>> ./dpdk_nic_bind.py --status
>>
>>
>>
>> Network devices using DPDK-compatible driver
>>
>> ============================================
>>
>> 0000:00:08.0 '82540EM Gigabit Ethernet Controller' drv=igb_uio
>> unused=vfio-pci
>>
>>
>>
>> Network devices using kernel driver
>>
>> ===================================
>>
>> 0000:00:03.0 '82540EM Gigabit Ethernet Controller' if=eth1 drv=e1000
>> unused=igb_uio,vfio-pci *Active*
>>
>>
>>
>> Other network devices
>>
>>
>> Would appreciate some help here.
>>
>>
>> Thanks, Abhishek
>>
>
>

  reply	other threads:[~2015-06-29  0:55 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-28 23:51 Abhishek Verma
2015-06-29  0:16 ` Keunhong Lee
2015-06-29  0:55   ` Abhishek Verma [this message]
2015-06-29  1:30     ` Keunhong Lee

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='CADDmorQoV-8e6UwLF7qtsSBcR=7hbFtk05zbM973tSnppZmLPg@mail.gmail.com' \
    --to=abhishekv.verma@gmail.com \
    --cc=dev@dpdk.org \
    --cc=dlrmsghd@gmail.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).