Hi all!
I decided to open my project's code. It is fast scalable transparent
statefull firewall which helps to mitigate transport layer DDoS attacks in
datacenter environment.
https://github.com/medvedv/purifier
It was written with dpdk1.7.1 and I hope to rewrite it with the current
stable
Hi Alexander,
Why next_hop is 64 bit long?
2016-04-19 18:46 GMT+03:00 Stephen Hemminger :
> On Tue, 19 Apr 2016 14:11:11 +0300
> ? ??? wrote:
>
> > Hi.
> >
> > Doing some test with rte_lpm (adding/deleting bgp full table rules) I
> > noticed that
> > rule subsystem is very slow
Hi all,
2015-10-30 20:59 GMT+03:00 Matthew Hall :
> On Fri, Oct 30, 2015 at 12:00:18PM +, Bruce Richardson wrote:
> > Matthew's patches were attachments, I don't think they came through in
> patchwork
> > correctly :-(, but that is the relevant link there anyway.]
>
> Let me know if there is
Hi Nikita,
First of all thank you for published your project.
Please apply this patch below
diff --git a/app/acl.h b/app/acl.h
index fb2f73a..74a1dd5 100644
--- a/app/acl.h
+++ b/app/acl.h
@@ -72,4 +72,21 @@ extern struct acl_parm acl_parm_config;
extern struct rte_acl_ctx *ipv4_acx[NB_SOCKETS];
Hi Michal,
Try patch below. I will send it via git.
Regards,
Vladimir
2015-10-26 21:40 GMT+03:00 Matthew Hall :
> > I can't apply patch 0001-... , could You check it please?
>
> I generated it from a rebase of my own copy of DPDK against DPDK upstream
> master.
>
> So I'm not sure why it would
Signed-off-by: Vladimir Medvedkin
---
config/common_bsdapp | 1 +
config/common_linuxapp | 1 +
lib/librte_lpm/rte_lpm.c | 194 +--
lib/librte_lpm/rte_lpm.h | 163 +++
4 files changed, 219 insertions
commit in my repo is 139debc42dc0a320dad40f5295b74d2e3ab8a7f9
2015-10-26 18:39 GMT+03:00 Michal Jastrzebski <
michalx.k.jastrzebski at intel.com>:
> esOn Mon, Oct 26, 2015 at 05:03:31PM +0300, Vladimir Medvedkin wrote:
> > Hi Michal,
> >
> > Forwarding class can help u
m]
> > Sent: Monday, October 26, 2015 12:55 PM
> > To: Vladimir Medvedkin
> > Subject: Re: [dpdk-dev] [PATCH v1 0/3] lpm: increase number of next hops
> > for lpm (ipv4)
> >
> > On Sun, Oct 25, 2015 at 08:52:04PM +0300, Vladimir Medvedkin wrote:
> > > Hi
Hi all,
Here my implementation
Signed-off-by: Vladimir Medvedkin
---
config/common_bsdapp | 1 +
config/common_linuxapp | 1 +
lib/librte_lpm/rte_lpm.c | 194
+--
lib/librte_lpm/rte_lpm.h | 163 +++
4
Hi all,
I also have LPM library implementation. Main points:
- First, we don't need two separate structures rte_lpm_tbl8_entry and
rte_lpm_tbl24_entry. I think it's better to merge in one rte_lpm_tbl_entry
because there is only one difference in name of one bit - valid_group vs
ext_entry. Let
; 192.168.0.0/16 instead of host addresses)? What about flow director
> filters?
>
>
> --Kam
>
> On Tue, Aug 4, 2015 at 5:40 PM, Vladimir Medvedkin
> wrote:
>
>> Hi Kam,
>>
>> 1) The reason is discussed in
>> http://dpdk.org/ml/archives/dev/2014-S
Hi Kam,
1) The reason is discussed in
http://dpdk.org/ml/archives/dev/2014-September/005179.html
2) No, it's still not supported (on current NICs). At the moment ntuple is
supported only by igb and ixgbe. If you look at
drivers/net/ixgbe/ixgbe_ethdev.c you can see ntuple_filter_to_5tuple
function
t; i686-native-linuxapp-gcc/include/rte_thash.h:63: error: integer constant
> is too large for 'long' type
> i686-native-linuxapp-gcc/include/rte_thash.h:63: error: integer constant
> is too large for 'long' type
>
>
> Thanks,
> Michael
>
> On 2015/7/27 4:58, Vladimir Medv
v2 changes
- Fix SSE to SSE3 typo
- remove unnecessary comments
- Leave unalligned union rte_thash_tuple if no support for SSE3
- Makes 32bit compiler happy by adding ULL suffix
Signed-off-by: Vladimir Medvedkin
---
lib/librte_hash/rte_thash.h | 23 +--
1 file changed, 21
2015-07-28 19:05 GMT+03:00 Thomas Monjalon :
> 2015-07-28 18:33, Vladimir Medvedkin:
> > 2015-07-28 16:47 GMT+03:00 Thomas Monjalon :
> > > 2015-07-28 09:06, Vladimir Medvedkin:
> > > Please explain how it was broken and how you fixed it.
> > > It wou
Hi Thomas,
2015-07-28 16:47 GMT+03:00 Thomas Monjalon :
> Hi Vladimir,
> Thanks for fixing.
> Comments below.
>
> 2015-07-28 09:06, Vladimir Medvedkin:
> > Signed-off-by: Vladimir Medvedkin
>
> Please explain how it was broken and how you fixed it.
> It would be
Signed-off-by: Vladimir Medvedkin
---
lib/librte_hash/rte_thash.h | 21 -
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/lib/librte_hash/rte_thash.h b/lib/librte_hash/rte_thash.h
index 6156e8a..ddb650a 100644
--- a/lib/librte_hash/rte_thash.h
+++ b/lib
re ')' token
> /u/zlu.bjg/git/dpdk.org/tile-tilegx-linuxapp-gcc/include/rte_thash.h:158:
> warning: unused parameter 'targ'
> make[3]: *** [test_thash.o] Error 1
> make[2]: *** [test] Error 2
> make[1]: *** [app] Error 2
> make: *** [all] Error 2
>
> Thanks
> -Zhigang Lu
>
uest for new descriptors) =
> 111 bytes / packet
>
> This corresponds to 70.9 Mpps over PCIe 3.0 x8. Assuming 5% DLLP
> overhead, rate = 67.4 Mpps
>
> --Anuj
>
>
>
> On Wed, Jul 1, 2015 at 9:40 AM, Vladimir Medvedkin
> wrote:
> > In case with syn flood you shou
wer and you can easier achieve line rate.
> >
> > /Bruce
> >
> >> On Wed, Jul 1, 2015 at 3:06 PM, Vladimir Medvedkin <
> medvedkinv at gmail.com> wrote:
> >> > Hi Pavel,
> >> >
> >> > Looks like you ran into pcie bottlenec
Hi Pavel,
Looks like you ran into pcie bottleneck. So let's calculate xl710 rx only
case.
Assume we have 32byte descriptors (if we want more offload).
DMA makes one pcie transaction with packet payload, one descriptor
writeback and one memory request for free descriptors for every 4 packets.
For
Add unit test for thash library
v4 changes
- Reflect rte_thash.h changes
v3 changes
- Fix checkpatch errors
v2 changes
- fix typo
- remove unnecessary comments
Signed-off-by: Vladimir Medvedkin
---
app/test/Makefile | 1 +
app/test/test_thash.c | 176
support
- Various style fixes
Signed-off-by: Vladimir Medvedkin
---
lib/librte_hash/Makefile| 1 +
lib/librte_hash/rte_thash.h | 231
2 files changed, 232 insertions(+)
create mode 100644 lib/librte_hash/rte_thash.h
diff --git a/lib/librte_hash
Hi Bruce,
2015-06-29 15:40 GMT+03:00 Bruce Richardson :
> On Fri, Jun 19, 2015 at 01:31:13PM -0400, Vladimir Medvedkin wrote:
> > Software implementation of the Toeplitz hash function used by RSS.
> > Can be used either for packet distribution on single queue NIC
> > or
Hi Matthew,
I published changes to rte_lpm_tbl24_entry only because it was just an idea
:) So rte_lpm_tbl8_entry should look like:
struct rte_lpm_tbl8_entry {
uint32_t next_hop :24; /**< next hop. */
uint32_t valid :1; /**< Validation flag. */
uint32_t valid_group
Hi all,
Matthew, I think ipv6 lpm code need less changes
struct rte_lpm6_tbl_entry {
uint32_t next_hop: 21; /**< Next hop / next table to be
checked. */
uint32_t depth :8; /**< Rule depth. */
/* Flags. */
uint32_t valid :1; /**< Validation flag.
Hi Matthew,
I just recently thought about next_hop extension. For ipv4 we can do
something like:
struct rte_lpm_tbl24_entry {
/* Stores Next hop or group index (i.e. gindex)into tbl8. */
union {
uint32_t next_hop :24;
uint32_t tbl8_gindex :24;
2015-06-19 19:14 GMT+03:00 Richardson, Bruce :
>
>
> > -Original Message-
> > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Vladimir Medvedkin
> > Sent: Friday, June 19, 2015 3:56 PM
> > To: dev at dpdk.org
> > Subject: [dpdk-dev] [PA
Hi Bruce,
2015-06-19 18:59 GMT+03:00 Richardson, Bruce :
>
>
> > -Original Message-
> > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Vladimir Medvedkin
> > Sent: Friday, June 19, 2015 3:56 PM
> > To: dev at dpdk.org
> > Subject: [dp
Add unit test for thash library
v3 changes
- Fix checkpatch errors
v2 changes
- fix typo
- remove unnecessary comments
Signed-off-by: Vladimir Medvedkin
---
app/test/Makefile | 2 +
app/test/autotest_data.py | 13
app/test/test_thash.c | 176
copyright
- rename bswap_mask constant, add rte_ prefix
- change rte_ipv[46]_tuple struct
- change rte_thash_load_v6_addr prototype
v3 changes
- Rework API to be more generic
- Add sctp_tag into tuple
v2 changes
- Add ipv6 support
- Various style fixes
Signed-off-by: Vladimir Medvedkin
---
lib
t test!
diff --git a/app/test/test_thash.c b/app/test/test_thash.c
new file mode 100644
index 000..148fd0a
--- /dev/null
+++ b/app/test/test_thash.c
@@ -0,0 +1,157 @@
+/*-
+ * BSD LICENSE
+ *
+ * Copyright(c) 2015 Vladimir Medvedkin
+ * All rights reserved.
+ *
+ * Redistribution and
est/test_thash.c
new file mode 100644
index 000..4c863cc
--- /dev/null
+++ b/app/test/test_thash.c
@@ -0,0 +1,164 @@
+/*-
+ * BSD LICENSE
+ *
+ * Copyright(c) 2015 Vladimir Medvedkin
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * m
@@
+/*-
+ * BSD LICENSE
+ *
+ * Copyright(c) 2015 Vladimir Medvedkin
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions
by HW and also will be easily scalable for future
> HW. Also, talking about different NICs ? Niantic and Fortville, for
> example, have hash keys of different length, so rte_softrss() function
> should take into account hash key?s length as well.
>
> Regards,
>
> Andrey
>
&
v2 changes
- Add ipv6 support
- Various style fixes
Signed-off-by: Vladimir Medvedkin
---
lib/librte_hash/Makefile| 1 +
lib/librte_hash/rte_thash.h | 207
2 files changed, 208 insertions(+)
create mode 100644 lib/librte_hash/rte_thash.h
diff
cation Tag as well as SCTP source and
> destination ports for RSS hash.
>
> Regards,
> Andrey
>
> > -Original Message-
> > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Vladimir
> > Medvedkin
> > Sent: Tuesday, May 5, 2015 2:20 PM
> > To: dev a
-by: Vladimir Medvedkin
---
lib/librte_hash/Makefile| 1 +
lib/librte_hash/rte_thash.h | 209
2 files changed, 210 insertions(+)
create mode 100644 lib/librte_hash/rte_thash.h
diff --git a/lib/librte_hash/Makefile b/lib/librte_hash/Makefile
index
Hi Pavel,
I think mistake is here:
-int eth_configure_ret = rte_eth_dev_configure(current_port, tx_queues,
rx_queues, _port_conf);
+int eth_configure_ret = rte_eth_dev_configure(current_port, rx_queues,
tx_queues, _port_conf);
according to
Hi Gleb,
2015-04-09 9:37 GMT+03:00 Gleb Natapov :
> On Wed, Apr 08, 2015 at 03:06:13PM -0400, Vladimir Medvedkin wrote:
> > Software implementation of the Toeplitz hash function used by RSS.
> > Can be used either for packet distribution on single queue NIC
> > or
Hi Stephen,
2015-04-09 1:24 GMT+03:00 Stephen Hemminger :
> On Wed, 8 Apr 2015 15:06:13 -0400
> Vladimir Medvedkin wrote:
>
> > Software implementation of the Toeplitz hash function used by RSS.
> > Can be used either for packet distribution on single queue NIC
> &g
Software implementation of the Toeplitz hash function used by RSS.
Can be used either for packet distribution on single queue NIC
or for simulating of RSS computation on specific NIC (for example
after GRE header decapsulating).
Signed-off-by: Vladimir Medvedkin
---
lib/librte_hash/Makefile
Matthew,
I don't use any special tricks to make symmetric RSS work. Furthermore, it
works not only with 0x6d5a.
Regards,
Vladimir
2015-03-28 23:11 GMT+03:00 Matthew Hall :
> On Sat, Mar 28, 2015 at 12:10:20PM +0300, Vladimir Medvedkin wrote:
> > I just verify RSS symmetric in my
Hi Matthew,
I just verify RSS symmetric in my code, all works great. I have 82599 NIC
and dpdk 1.7.0. Moreover, we can use not only 0x6d5a, but repeated random 2
bytes for 4 tuple, and repeated 4 bytes for 2 tuple in rss hash key. Bellow
some code:
uint8_t my_rss_key[40];
static const struct
struct rte_syn_filter *filter,
> uint16_t rx_queue)?.
>
>
>
> And about the pool and virtualization case, maybe you will send a new
> patch about it, maybe me. Whatever, just leave it in future, not include
> in this patch.
>
>
>
> Thank you!
>
> Jingjing
&g
lter contains the fields used for comparison
> and the queue is acted as result, and another concern is to keep consistent
> with flow director?s implementation.
>
> About your second remark, I will accept it and integrate the change to
> patch in new version.
>
>
>
> Do
as mine (not counting pools logic), so let's
integrate it (it's will be great if jingjing change api according to my
remarks).
Regards,
Vladimir
2014-06-12 19:36 GMT+04:00 Thomas Monjalon :
> > 2014-06-11 17:45, Thomas Monjalon:
> > > My main concern is that Vladimir Medvedkin su
and 5-tuple filters implementation.
2. I'll try to send checked patch today.
Regards,
Vladimir.
2014-05-28 3:09 GMT+04:00 Thomas Monjalon :
> Hi Vladimir,
>
> Seems like hardware filtering becomes useful these days :)
>
> 2014-05-19 19:51, Vladimir Medvedkin:
> > This patc
This patch adds ability to route packets according to source, destination
ip/ports, L4 proto and pool to certain queue.
Signed-off-by: Vladimir Medvedkin
---
lib/librte_ether/rte_ethdev.c | 81 ++
lib/librte_ether/rte_ethdev.h | 96
This patch adds ability to route TCP packets according to SYN flag presence to
certain queue.
Signed-off-by: Vladimir Medvedkin
---
lib/librte_ether/rte_ethdev.c | 66 +
lib/librte_ether/rte_ethdev.h | 63 +++
lib
this gives
capability to work with pools.
This patch functionality can be merged with the patch above.
V2 changes:
* Fixing various checkpatch.pl errors
Vladimir Medvedkin (3):
ixgbe: Add L2 ethertype filter for ixgbe
ixgbe: Add syn queue filter for ixgbe
ixgbe: Add five tuple filter for ixgbe
This patch adds ability to route packets according to source, destination
ip/ports, L4 proto and pool to certain queue.
---
lib/librte_ether/rte_ethdev.c | 81 ++
lib/librte_ether/rte_ethdev.h | 96 ++
This patch adds ability to route TCP packets according to SYN flag presence to
certain queue.
---
lib/librte_ether/rte_ethdev.c | 66 +
lib/librte_ether/rte_ethdev.h | 63 +++
lib/librte_pmd_ixgbe/ixgbe/ixgbe_type.h
This patch adds ability to route packets according to ethertype, priority and
pool to certain queue specified in rx_queue field.
---
lib/librte_ether/rte_ethdev.c | 81 +
lib/librte_ether/rte_ethdev.h | 78
this gives
capability to work with pools.
This patch functionality can be merged with the patch above.
Vladimir Medvedkin (3):
ixgbe: Add L2 ethertype filter for ixgbe
ixgbe: Add syn queue filter for ixgbe
ixgbe: Add five tuple filter for ixgbe
lib/librte_ether/rte_ethdev.c | 228
Hi,
Programmer's guide section 22.1:
The hash and LPM libraries are, by design, thread unsafe in order to
maintain performance. However, if required the developer can add layers on
top of these libraries to provide thread safety. Locking is not needed in
all situations, and in both the hash and
Hi,
One of the objectives of DPDK is avoiding of interrupts, so application
(not only L2FWD) polls NIC infineteley. You can look at programmers guide
section 24 "Power Management" and "L3 Forwarding with Power Management
Sample Application" in Sample Applications User Guide.
Regards,
Vladimir.
1. Yes.
2. Yes. Look at programmer's guide section 16 Multi-process support.
3. You can use blacklist eal option.
Regards,
Vladimir
2014-03-28 13:25 GMT+04:00 Sujith Sankar (ssujith) :
> Hi all,
>
> Could someone answer the following questions about the usage of multiple
> NIC interfaces with
Hi all,
I found that there is no way to configure pool behavior, for example accept
broadcasts, in VMDQ mode. For SR-IOV there is rte_eth_dev_set_vf_rxmode(),
but according to datasheet it doesn't matter whether the 82599's virtual
environment operates in IOV mode or in Next Generation VMDq
please notify me immediately by responding to this email and then
> delete it from your system. Me myself is neither liable for the proper and
> complete transmission of the information contained in this communication
> nor for any delay in its receipt.
>
>
> On Thu, Mar 13, 2014 at
Hi,
At first look at https://github.com/Pktgen/Pktgen-DPDK
If you need your custom app:
- alloc mbuf with rte_pktmbuf_alloc
- fill up L2-4 headers fields (look at rte_pktmbuf_append func for example)
- send packet via rte_eth_tx_burst
Regards,
Vladimir
2014-03-13 15:15 GMT+04:00 sabu kurian :
Hi Sharath,
In DPDK interrupts are disabled to eliminate the performance overhead.
Interrupts used only for link status change. So you can poll
rte_eth_stats_get and check struct rte_eth_stats for errors.
Regards,
Vladimir
2014-01-31 Sharath
> Hi Daniel & all,
>
> can anyone please let me
Hi Banashankar,
For proper TCP checksum calculation you have to calculate checksum over
pseudo header (see app/test-pmd/cmdline.c) and put result in tcp_hdr->cksum
2014-01-26 Wiles, Roger Keith
> Hi Banashankar,
>
> The tx_conf is used in the pktgen_config_ports() with the
>
Hi,
First, I hope you configure
port_conf->rx_adv_conf.rss_conf.rss_key and .rss_hf
properly.
Secondly,
-for(j=0;j<8;j++){
+for(j=7;j>=0;j--){
Regards,
Vladimir
2013/12/11 chen_lp at neusoft.com
>
> I want calculate the NIC rss hash result by function,but the result is not
> right, I don't
Of course you have to properly set
m->pkt.vlan_macip.f.l2_len and
m->pkt.vlan_macip.f.l3_len fields.
Regards,
Vladimir
2013/11/22 Vladimir Medvedkin
> Hi,
>
> If you need only ip checksum:
> struct rte_mbuf *m;
> m->ol_flags |= PKT_TX_IP_CKSUM;
>
> if you need
Hi all,
I have faced with similar problem on my real environment with 82599 nic.
Looks like in some cases rte_eth_dev_count() return 0 instead of real
number of igb_uio binded ports. After restarting app several times
rte_eth_dev_count() return real number of ports and continue execute
normaly.
Hi Prashant,
May be it doesn't work due to Known Issues and Limitations (see Release
Notes)
quote:
6.1 In packets provided by the PMD, some flags are missing
In packets provided by the PMD, some flags are missing. The application
does not have access to information provided by the hardware
Hi,
Did you set
m->pkt.vlan_macip.f.l2_len = sizeof(struct ether_hdr);
m->pkt.vlan_macip.f.l3_len = sizeof(struct ipv4_hdr);
fields?
Regards,
Vladimir
2013/11/7 Daniel Kaminsky
> Hi,
>
> Did anyone had an experience using the PKT_TX_IP_CKSUM flag?
> I have an
Hi,
By default, you can't poll same queue on same port from different lcores.
If you need poll same queue on several lcores use locks to avoid race
conditions.
2013/10/17 Sambath Kumar Balasubramanian
> Hi,
>
> I have a test dpdk application with 2 lcores receiving packets
> using
Hi,
Base concepts of algorithm used by LPM (DIR-24-8) described here
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.21.9617=rep1=pdf
Best regards,
Vladimir
On 24/09/2013 15:53, Jun Han wrote:
>* Hello,*>**>* We are trying to benchmark L3FWD application and have a
>question
70 matches
Mail list logo