X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=lib%2Flibrte_lpm%2Frte_lpm.h;h=11f0c047ace111e45ffb1276af529af84286eb46;hb=eebeb3f60b5817392356627e55f6bcb27a191357;hp=e6c25b648b7b7d6843d55e76fd768c8174a1f4b9;hpb=a2348166ea186506d45b61d5073d16ad974e79bb;p=dpdk.git diff --git a/lib/librte_lpm/rte_lpm.h b/lib/librte_lpm/rte_lpm.h index e6c25b648b..11f0c047ac 100644 --- a/lib/librte_lpm/rte_lpm.h +++ b/lib/librte_lpm/rte_lpm.h @@ -44,9 +44,10 @@ #include #include #include +#include #include #include -#include +#include #ifdef __cplusplus extern "C" { @@ -96,6 +97,7 @@ extern "C" { /** Bitmask used to indicate successful lookup */ #define RTE_LPM_LOOKUP_SUCCESS 0x0100 +#if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN /** @internal Tbl24 entry structure. */ struct rte_lpm_tbl24_entry { /* Stores Next hop or group index (i.e. gindex)into tbl8. */ @@ -117,6 +119,24 @@ struct rte_lpm_tbl8_entry { uint8_t valid_group :1; /**< Group validation flag. */ uint8_t depth :6; /**< Rule depth. */ }; +#else +struct rte_lpm_tbl24_entry { + uint8_t depth :6; + uint8_t ext_entry :1; + uint8_t valid :1; + union { + uint8_t tbl8_gindex; + uint8_t next_hop; + }; +}; + +struct rte_lpm_tbl8_entry { + uint8_t depth :6; + uint8_t valid_group :1; + uint8_t valid :1; + uint8_t next_hop; +}; +#endif /** @internal Rule structure. */ struct rte_lpm_rule {