From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from eu-smtp-delivery-178.mimecast.com (eu-smtp-delivery-178.mimecast.com [207.82.80.178]) by dpdk.org (Postfix) with ESMTP id 858C66CD1 for ; Thu, 7 Jun 2018 12:10:06 +0200 (CEST) Received: from ex-uknb-01.ad.s-a-m.com (83-244-203-18.cust-83.exponential-e.net [83.244.203.18]) (Using TLS) by eu-smtp-1.mimecast.com with ESMTP id uk-mta-132-H8NhfdplPsiITujswtQEgA-1; Thu, 07 Jun 2018 11:10:05 +0100 Received: from EX-UKHA-01.ad.s-a-m.com ([fe80::bd21:e36b:5bf6:8ca8]) by EX-UKHA-01.ad.s-a-m.com ([fe80::bd21:e36b:5bf6:8ca8%11]) with mapi id 14.03.0361.001; Thu, 7 Jun 2018 11:10:02 +0100 From: Richard Nutman To: "users@dpdk.org" Thread-Topic: [dpdk-users] Multiple UDP ports Per NIC Thread-Index: AQHT/kZQofvf+JF4Ak+GJ8U5Ej04yqRUkJ0g Date: Thu, 7 Jun 2018 10:10:01 +0000 Message-ID: <733AB18813E3864094592CC5191B172A235C1353@EX-UKHA-01.ad.s-a-m.com> References: In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.19.77.57] x-esetresult: clean, is OK x-esetid: 37303A29F33CD061637662 MIME-Version: 1.0 X-MC-Unique: H8NhfdplPsiITujswtQEgA-1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-users] Multiple UDP ports Per NIC X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jun 2018 10:10:06 -0000 SGkgS2V2aW4sDQoNClRoaXMgaXMgcG9zc2libGUgaWYgeW91IHVzZSB0aGUgcnRlX2Zsb3cgc3lz dGVtIG9uIE5JQydzIHRoYXQgc3VwcG9ydCBpdC4gSW4gb2xkZXIgdmVyc2lvbnMgb2YgRFBESyBp dCB3YXMgY2FsbGVkIHRoZSBGbG93IERpcmVjdG9yLiAgVGhpcyBlbmFibGVzIHlvdSB0byBzdGVl ciBuZXR3b3JrIHN0cmVhbXMgdG8gYSBwYXJ0aWN1bGFyIHJlY2VpdmUgcXVldWUsIHdoaWNoIGNh biBiZSBwcm9jZXNzZWQgb24gYSBwYXJ0aWN1bGFyIGNwdSBjb3JlLg0KDQpTZWUgaHR0cDovL2Rw ZGsub3JnL2RvYy9hcGkvcnRlX19mbG93XzhoLmh0bWwgZm9yIG1vcmUgZGV0YWlsczsNCkV4YW1w bGU7IGh0dHA6Ly9kcGRrLm9yZy9kb2MvYXBpL2V4YW1wbGVzXzJmbG93X2ZpbHRlcmluZ18ybWFp bl84Yy1leGFtcGxlLmh0bWwNCg0KQWx0ZXJuYXRpdmVseSB5b3UgY2FuIHJlY2VpdmUgYWxsIHBh Y2tldHMgb24gMSBvciBzZXZlcmFsIGNvcmVzIChpZiB5b3UgdXNlIHNvbWV0aGluZyBsaWtlIFJT UykgYW5kIGNhbiBzb3J0IGFuZCBzZW5kIHRvIGRpZmZlcmVudCBjb3JlcyBpZiBuZWVkcyBiZS4N Cg0KVHJhbnNtaXQgd29ya3Mgc2ltaWxhci4gSnVzdCBzZXQgdXAgbXVsdGlwbGUgVFggcXVldWVz IGZvciBlYWNoIGNvcmUgeW91IHdhbnQgdG8gaGF2ZSBhY3RpdmUgc2VuZGluZyBmcm9tLg0KDQpQ YXkgcGFydGljdWxhciBhdHRlbnRpb24gdG8gd2hpY2ggZnVuY3Rpb25zIGFyZSB0aHJlYWQtc2Fm ZSBpbiBEUERLLCBlc3BlY2lhbGx5IGZvciBwYWNrZXQgcG9vbHMuDQoNCi1SaWNoYXJkLg0KDQo+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEtldmluIEthbGwgW21haWx0bzpm aXNoZm9yaXNoQGdtYWlsLmNvbV0NCj4gU2VudDogMDYgSnVuZSAyMDE4IDE1OjMwDQo+IFRvOiB1 c2Vyc0BkcGRrLm9yZw0KPiBTdWJqZWN0OiBbZHBkay11c2Vyc10gTXVsdGlwbGUgVURQIHBvcnRz IFBlciBOSUMNCj4gDQo+IEhlbGxvLA0KPiANCj4gSSBhbSBicmFuZC1uZXcgdG8gRFBESyAoanVz dCBmb3VuZCBvdXQgYWJvdXQgaXQpIGFuZCBoYXZlIHdoYXQgaXMgbGlrZWx5IGENCj4gc2ltcGxl L3N0dXBpZCBxdWVzdGlvbi4NCj4gDQo+IERvIHlvdXIgbGlicmFyaWVzL2ZyYW1ld29yayBhbGxv dyBmb3IgZGlmZmVyZW50IFVEUC9JUCBwYWNrZXQgc3RyZWFtcyBiZWluZw0KPiByZWNlaXZlZCBv biBhIHNpbmdsZSBOSUMgKGRpZmZlcmVudCBVRFAgcG9ydHMpIHRvIGJlIGRpcmVjdGVkIHRvL3By b2Nlc3NlZCBieQ0KPiBzZXBhcmF0ZSBDUFUgY29yZXMgKGFzIGlmIGVhY2ggQ1BVIGNvcmUgd2Fz IG9wZW5pbmcgYSBkaWZmZXJlbnQgVURQDQo+IHNvY2tldCk/DQo+IA0KPiBTYW1lIGdvZXMgZm9y IHRyYW5zbWl0IC0gY2FuIGRpZmZlcmVudCBDUFUgY29yZXMgdHJhbnNtaXQgb24gc2VwYXJhdGUg VURQDQo+IHBvcnRzIG9uIGEgc2luZ2xlIE5JQz8NCj4gDQo+IElmIHNvLCBjYW4gc29tZW9uZSBw b2ludCBtZSB0byBhbiBleGFtcGxlPw0KPiANCj4gVGhhbmtzIHNvIG11Y2guDQo+IA0KPiBGaXNo Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpUaGlzIGVtYWlsIGhhcyBiZWVuIHNjYW5u ZWQgZm9yIGVtYWlsIHJlbGF0ZWQgdGhyZWF0cyBhbmQgZGVsaXZlcmVkIHNhZmVseSBieSBNaW1l Y2FzdC4KRm9yIG1vcmUgaW5mb3JtYXRpb24gcGxlYXNlIHZpc2l0IGh0dHA6Ly93d3cubWltZWNh c3QuY29tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoNCg== >From fishforish@gmail.com Thu Jun 7 15:55:57 2018 Return-Path: Received: from mail-wr0-f180.google.com (mail-wr0-f180.google.com [209.85.128.180]) by dpdk.org (Postfix) with ESMTP id 92EA21B170 for ; Thu, 7 Jun 2018 15:55:57 +0200 (CEST) Received: by mail-wr0-f180.google.com with SMTP id l41-v6so9961573wre.7 for ; Thu, 07 Jun 2018 06:55:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=Ydkhj7c3NfsDqzb1HJ/8+Iq1c9Zq7dk+rxOrcpGulY0=; b=CUu1K/7oxzEuXzDkJxPe5e7TYtuOXECYQgDsSv+Km7wMAb7yc/qo41XxUL7/Ktalf0 Hi7p1480D8wuJVdT8NX6lYlLFOpZ5NiHg9jM1qftlYfcCO6YRCnTMvE8rpI3j3ernRjD 6vmGYTMyxIVghacIVibqAIBJoZXLxSJiB6ReZg+1flw9y1VPAHzVCrLO4hQKhxvtCq4S wt1ZyoxukguBI8XZqhEUuLcVsQm7YZ0TOSlPLzxJygwj/xpRBkK/jX4ATgy4pZfqDbHs h7Mqpj29HmXaJJ1MWOF15rcMkJcvsJD1+7IBSqTmaNcm+fD17jZqyeA6si1OhtN5RFBJ irVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=Ydkhj7c3NfsDqzb1HJ/8+Iq1c9Zq7dk+rxOrcpGulY0=; b=Bagi0HuAv6L0nvaf2tflKUBi35Ju2lfvKOD60P4QfPuRqnp9/XEU65iihQVZyqbGwe kBR8GFeexhWqxlV850f58evIbf6LeBB142rh7bmrrtL8MFanGsxpblwWOONwsqtJqU2b XEV4Tl9kk/gSupnXQmeRb/ALpLykNjg4DRdnvoFhy3ZxxwhaU19Y9ybEr++0TjclMYKe gLWLhmJ0nYYVBNDyF3UbI5u+2wDJy/itgbyOi8SnWmZykMzvGsd3xOKErEdciLADlTlc 0mEgMmH4k0xsEG1ntEPFt64JCZiFScq2TZKd0PE1/h53IweFDNBmUFCXEbLsdLi/Ist4 7dKA== X-Gm-Message-State: APt69E2/P6HW4hecMVoyN520NTwqYJ9nms2+sJnZ0kjjnMRBfxFQIxiR Kr2s8vvV1IAFXcCtixdLHNe7BczhYc80+YPQCdpOHQ== X-Google-Smtp-Source: ADUXVKKWLiSQ6RQHwLxNWGHqeLCYMtHutcBug7HqzxAWDWy9toAftnxJH5Yg5/ELZdg9Su/IfhgiHZxdTHX+6MrPSuo= X-Received: by 2002:adf:b0da:: with SMTP id j26-v6mr1725630wra.3.1528379757340; Thu, 07 Jun 2018 06:55:57 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a1c:4a93:0:0:0:0:0 with HTTP; Thu, 7 Jun 2018 06:55:56 -0700 (PDT) In-Reply-To: <733AB18813E3864094592CC5191B172A235C1353@EX-UKHA-01.ad.s-a-m.com> References: <733AB18813E3864094592CC5191B172A235C1353@EX-UKHA-01.ad.s-a-m.com> From: Kevin Kall Date: Thu, 7 Jun 2018 09:55:56 -0400 Message-ID: To: Richard Nutman Cc: "users@dpdk.org" Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-users] Multiple UDP ports Per NIC X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jun 2018 13:55:57 -0000 Thank you, Richard. Will likely be using SolarFlare NICs, and I can see that they support multiple transmit and receive queues, jumbo frames, and basic flow control, which should be what is needed. One quick question, a SolarFlare limitation listed is lack of support for receive queue interrupts. However, the PMD documentation states "a PMD accesses the RX and TX descriptors directly without any interrupts". Thus, do you know what this limitation means? Thanks. -Kevin On Thu, Jun 7, 2018 at 6:10 AM, Richard Nutman wrote: > Hi Kevin, > > This is possible if you use the rte_flow system on NIC's that support it. > In older versions of DPDK it was called the Flow Director. This enables > you to steer network streams to a particular receive queue, which can be > processed on a particular cpu core. > > See http://dpdk.org/doc/api/rte__flow_8h.html for more details; > Example; http://dpdk.org/doc/api/examples_2flow_filtering_ > 2main_8c-example.html > > Alternatively you can receive all packets on 1 or several cores (if you > use something like RSS) and can sort and send to different cores if needs > be. > > Transmit works similar. Just set up multiple TX queues for each core you > want to have active sending from. > > Pay particular attention to which functions are thread-safe in DPDK, > especially for packet pools. > > -Richard. > > > -----Original Message----- > > From: Kevin Kall [mailto:fishforish@gmail.com] > > Sent: 06 June 2018 15:30 > > To: users@dpdk.org > > Subject: [dpdk-users] Multiple UDP ports Per NIC > > > > Hello, > > > > I am brand-new to DPDK (just found out about it) and have what is likely > a > > simple/stupid question. > > > > Do your libraries/framework allow for different UDP/IP packet streams > being > > received on a single NIC (different UDP ports) to be directed > to/processed by > > separate CPU cores (as if each CPU core was opening a different UDP > > socket)? > > > > Same goes for transmit - can different CPU cores transmit on separate UDP > > ports on a single NIC? > > > > If so, can someone point me to an example? > > > > Thanks so much. > > > > Fish > ------------------------------------------------------------ > --------------------------- > This email has been scanned for email related threats and delivered safely > by Mimecast. > For more information please visit http://www.mimecast.com > ------------------------------------------------------------ > --------------------------- > >