Hi guys,
So I just finally fixed all the weird unit test failures for the basic-mode.
But the rte_lpm_lookupx4 will take quite a bit longer because it uses a lot of
real weird SSE intrinsic functions I never used before in my life.
However pretty soon I should get some kind of results how it
On Wed, Jun 24, 2015 at 10:04:53AM +0300, Vladimir Medvedkin wrote:
> I published changes to rte_lpm_tbl24_entry only because it was just an idea
> :)
Understood. Just wanted to be sure I understood it right to convert it into C
code. :)
> different defines and checks should be modified too.
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
OK, I went and made a whole ton of patches to LPM and the tests and examples,
now the selftest errors out... but I think maybe I don't have an adequate
amount of hugepages. How much hugepage memory did people have when they did the
selftest successfully before?
I just keep seeing this over and
On Tue, Jun 23, 2015 at 09:13:14PM -0700, Matthew Hall wrote:
> Vladimir,
>
> One thing I was confused, you published the changes to rte_lpm_tbl24_entry
> but
> you didn't say what you did to change rte_lpm_tbl8_entry, as that one only
> had
> an 8-bit next_hop as well. I wanted to be sure I
On Tue, Jun 23, 2015 at 10:19:58AM +0300, Vladimir Medvedkin wrote:
> 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
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.
In order to make Vyatta/Brocade router work with LPM code
I ended up redoing the layout. It is:
/** Tbl24 entry structure. */
struct rte_lpm_tbl24_entry {
/* Using single uint8_t to store 3 values. */
uint8_t valid :1; /**< Validation flag. */
uint8_t ext_entry
On Mon, Jun 22, 2015 at 11:51:02PM -0400, Stephen Hemminger wrote:
> In order to make Vyatta/Brocade router work with LPM code
> I ended up redoing the layout. It is:
>
> And also several other scalability improvements (plus IPv6)
> and the correct handling of /32.
>
> Unfortunately, this is such
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;
That's a lot better indeed! 16 million CIDR blocks would be a huge improvement.
Do you happen to know what is also possible for rte_lpm6?
Matthew.
On Mon, Jun 22, 2015 at 01:11:14PM +0300, Vladimir Medvedkin wrote:
> Hi Matthew,
>
> I just recently thought about next_hop extension. For ipv4 we
Hello,
I have gone out on the internet for days looking at a bunch of different radix
tree implementations to see if I could figure a way to implement my own tree,
just to work around the really low 255 CIDR block limitation in librte_lpm.
Unfortunately every single one I could find falls into
12 matches
Mail list logo