[dpdk-dev] rte_lpm with larger nexthops or another method?

Matthew Hall mhall at mhcomputing.net
Wed Jun 24 06:13:14 CEST 2015


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 depth. */
> 
>         /* Flags. */
>         uint32_t valid     :1;   /**< Validation flag. */
>         uint32_t valid_group :1; /**< Group validation flag. */
>         uint32_t ext_entry :1;   /**< External entry. */
> };
> there already is 21 bit for next_hop (need chenge only for rte_lpm6_rule)
> In Stephen approach for next_hop given only 16 bits, this is enough for
> next hop index, but not enough for AS number that originate prefix.
> 
> Regards,
> Vladimir

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 didn't change it wrong and 
break something.

Hopefully Stephen can make his bug fixes available so I could add all of this 
together and try to make a patchset for dpdk-next to test it all out. Would be 
a huge win compared to all the crappy LPM code I found on the Internet.

Matthew.


More information about the dev mailing list