Skip to content

Opaque struct rte_lpm #431

@AltraMayor

Description

@AltraMayor

DPDK 20.11 has removed fields max_rules and number_tbl8s from struct rte_lpm (see discussion). Those fields are used in Gatekeeper here. Since Grantor servers need those fields to know when an LPM table needs to be recreated, Grantor servers need to keep a copy of those parameters.

A solution for Grantor servers is for l_new_lpm() allocating memory for the struct below instead of just sizeof(struct rte_lpm *) when calling lua_newuserdata():

struct lpm_lua_userdata {
	struct rte_lpm *lpm;
	struct rte_lpm_config conf;
};

After all related code adjustments, each LPM table in Lua will have a copy of the hidden fields.

The solution above should be also applied to l_new_lpm6(), so we can drop the patch lpm: add functions to get LPM6 parameters of our local copy of DPDK.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions