DPDK usage discussions
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: "Lazarenko, Vlad (WorldQuant)" <Vlad.Lazarenko@worldquant.com>,
	'Take Ceara' <dumitru.ceara@gmail.com>
Cc: "users@dpdk.org" <users@dpdk.org>
Subject: Re: [dpdk-users] KNI drive without supported NICs?
Date: Mon, 13 Feb 2017 10:12:06 +0000	[thread overview]
Message-ID: <7270c056-34f1-7617-8c5a-925fb88f190f@intel.com> (raw)
In-Reply-To: <790E2AC11206AC46B8F4BB82078E34F806277CA3@EXUSMBX02.AD.MLP.com>

On 2/6/2017 3:01 PM, Lazarenko, Vlad (WorldQuant) wrote:
> Dumitru,
> 
> This clear things up a big time! Much appreciated. Thank you!

KNI PMD patch [1], which is not upstream yet, can be used to create any
number of KNI interfaces independent from hardware.

It is a virtual PMD implementation, so can be used via testpmd or any
DPDK application.

[1]
http://dpdk.org/dev/patchwork/patch/20092/

> 
> - Vlad
> 
>> -----Original Message-----
>> From: Take Ceara [mailto:dumitru.ceara@gmail.com]
>> Sent: Monday, February 06, 2017 6:05 AM
>> To: Lazarenko, Vlad (WorldQuant)
>> Cc: users@dpdk.org
>> Subject: Re: [dpdk-users] KNI drive without supported NICs?
>>
>> Hi Vlad,
>>
>> On Sun, Feb 5, 2017 at 6:34 PM, Lazarenko, Vlad (WorldQuant)
>> <Vlad.Lazarenko@worldquant.com> wrote:
>>> Gentlemen and gentleladies,
>>>
>>> I am trying to get the KNI working on my dev box. So I've loaded the
>> rte_kni.ko module and made sure /dev/kni has correct permissions. But
>> when I am trying to run the KNI example, it fails with "No supported
>> Ethernet device found" error:
>>>
>>> $ build/kni -n 4 -c 0xf0 -- -P -p 0x3 --config="(0,4,6),(1,5,7)"
>>> EAL: Detected 24 lcore(s)
>>> EAL: PCI device 0000:01:00.0 on NUMA socket -1
>>> EAL:   probe driver: 8086:10d3 net_e1000_em
>>> EAL: Error - exiting with code: 1
>>>   Cause: No supported Ethernet device found
>>>
>>> My dev box does not in fact have supported NICs. But my understanding
>> about KNI was that it allows to access Linux network stack trough the KNI
>> kernel module, where applications create a virtual Ethernet devices (i.e.
>> /sys/class/net/vEth*), thus there is no need for a real supported NIC or
>> taking over the entire NIC.
>>>
>>> On the other hand, the example application calls rte_eth_dev_count()
>> first, which in my case returns 0, and exits.
>>>
>>> Is my understanding about what KNI actually is wrong? Or am I missing
>> something else?
>>>
>>
>> As far as I know the KNI sample app actually forwards traffic to/from the
>> kernel and a physical port therefore the check for physical interfaces. If you
>> want to use KNI for something else there's nothing stopping you from
>> starting a DPDK app and adding a KNI interface without having a real NIC
>> bound to DPDK.
>>
>> I don't have a better example right now but, if you want, you can take a look
>> at how we do it in warp17 (using DPDK) when you start it without any
>> physical interfaces:
>>
>> https://github.com/Juniper/warp17#using-kernel-network-interface-kni-
>> interfaces
>>
>> If you look at the HTTP example there we actually start the application
>> without any physical interfaces (only one KNI):
>>
>> ./build/warp17 -c FC3 -n 4  -m 32768 -- --kni-ifs 1
>>
>>
>>> Thanks,
>>> Vlad
>>
>> Hope this helps..
>>
>> Regards,
>> Dumitru
>>
>>>
>>>
>>>
>>>
>> ###################################################################
>> ###
>>> #############
>>>
>>> The information contained in this communication is confidential, may
>>> be
>>>
>>> subject to legal privilege, and is intended only for the individual named.
>>>
>>> If you are not the named addressee, please notify the sender
>>> immediately and
>>>
>>> delete this email from your system.  The views expressed in this email
>>> are
>>>
>>> the views of the sender only.  Outgoing and incoming electronic
>>> communications
>>>
>>> to this address are electronically archived and subject to review
>>> and/or disclosure
>>>
>>> to someone other than the recipient.
>>>
>>>
>> ###################################################################
>> ###
>>> #############
>>
>>
>>
>> --
>> Dumitru Ceara
> 
> 
> ###################################################################################
> 
> The information contained in this communication is confidential, may be
> 
> subject to legal privilege, and is intended only for the individual named.
> 
> If you are not the named addressee, please notify the sender immediately and
> 
> delete this email from your system.  The views expressed in this email are
> 
> the views of the sender only.  Outgoing and incoming electronic communications
> 
> to this address are electronically archived and subject to review and/or disclosure
> 
> to someone other than the recipient.
> 
> ###################################################################################
> 

      reply	other threads:[~2017-02-13 10:12 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-05 17:34 Lazarenko, Vlad (WorldQuant)
2017-02-06 11:05 ` Take Ceara
2017-02-06 15:01   ` Lazarenko, Vlad (WorldQuant)
2017-02-13 10:12     ` Ferruh Yigit [this message]

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=7270c056-34f1-7617-8c5a-925fb88f190f@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=Vlad.Lazarenko@worldquant.com \
    --cc=dumitru.ceara@gmail.com \
    --cc=users@dpdk.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).