forked from Mirror/frr
zebra: Update Zebra for DPDK >=22.11 API
* Starting from version DPDK 22.11 we have API changes: The rte_driver and rte_device objects are now opaque and must be manipulated through added accessors. We need to update Zebra DPDK sources to DPDK version >=22.11 * Fix clang-format Signed-off-by: EasyNet <devel@easynet.dev>
This commit is contained in:
parent
b6f1b32c8a
commit
0e040960d7
|
@ -52,7 +52,7 @@ void zd_dpdk_stat_show(struct vty *vty)
|
||||||
static void zd_dpdk_flow_stat_show(struct vty *vty, int in_ifindex,
|
static void zd_dpdk_flow_stat_show(struct vty *vty, int in_ifindex,
|
||||||
intptr_t dp_flow_ptr)
|
intptr_t dp_flow_ptr)
|
||||||
{
|
{
|
||||||
struct rte_flow_action_count count = {.shared = 0, .id = 0};
|
struct rte_flow_action_count count = { .id = 0 };
|
||||||
const struct rte_flow_action actions[] = {
|
const struct rte_flow_action actions[] = {
|
||||||
{
|
{
|
||||||
.type = RTE_FLOW_ACTION_TYPE_COUNT,
|
.type = RTE_FLOW_ACTION_TYPE_COUNT,
|
||||||
|
@ -498,9 +498,11 @@ static void zd_dpdk_port_show_entry(struct zd_dpdk_port *dport, struct vty *vty,
|
||||||
if (detail) {
|
if (detail) {
|
||||||
vty_out(vty, "DPDK port: %u\n", dport->port_id);
|
vty_out(vty, "DPDK port: %u\n", dport->port_id);
|
||||||
vty_out(vty, " Device: %s\n",
|
vty_out(vty, " Device: %s\n",
|
||||||
dev_info->device ? dev_info->device->name : "-");
|
dev_info->device ? rte_dev_name(dev_info->device) : "-");
|
||||||
vty_out(vty, " Driver: %s\n",
|
vty_out(vty, " Driver: %s\n",
|
||||||
dev_info->driver_name ? dev_info->driver_name : "-");
|
dev_info->driver_name ? rte_driver_name(rte_dev_driver(
|
||||||
|
dev_info->device))
|
||||||
|
: "-");
|
||||||
vty_out(vty, " Interface: %s (%d)\n",
|
vty_out(vty, " Interface: %s (%d)\n",
|
||||||
ifindex2ifname(dev_info->if_index, VRF_DEFAULT),
|
ifindex2ifname(dev_info->if_index, VRF_DEFAULT),
|
||||||
dev_info->if_index);
|
dev_info->if_index);
|
||||||
|
@ -510,9 +512,8 @@ static void zd_dpdk_port_show_entry(struct zd_dpdk_port *dport, struct vty *vty,
|
||||||
dev_info->switch_info.port_id);
|
dev_info->switch_info.port_id);
|
||||||
vty_out(vty, "\n");
|
vty_out(vty, "\n");
|
||||||
} else {
|
} else {
|
||||||
vty_out(vty, "%-4u %-16s %-16s %-16d %s,%u,%u\n",
|
vty_out(vty, "%-4u %-16s %-16s %-16d %s,%u,%u\n", dport->port_id,
|
||||||
dport->port_id,
|
dev_info->device ? rte_dev_name(dev_info->device) : "-",
|
||||||
dev_info->device ? dev_info->device->name : "-",
|
|
||||||
ifindex2ifname(dev_info->if_index, VRF_DEFAULT),
|
ifindex2ifname(dev_info->if_index, VRF_DEFAULT),
|
||||||
dev_info->if_index, dev_info->switch_info.name,
|
dev_info->if_index, dev_info->switch_info.name,
|
||||||
dev_info->switch_info.domain_id,
|
dev_info->switch_info.domain_id,
|
||||||
|
@ -595,13 +596,15 @@ static void zd_dpdk_port_init(void)
|
||||||
}
|
}
|
||||||
SET_FLAG(dport->flags, ZD_DPDK_PORT_FLAG_INITED);
|
SET_FLAG(dport->flags, ZD_DPDK_PORT_FLAG_INITED);
|
||||||
if (IS_ZEBRA_DEBUG_DPLANE_DPDK)
|
if (IS_ZEBRA_DEBUG_DPLANE_DPDK)
|
||||||
zlog_debug(
|
zlog_debug("port %u, dev %s, ifI %d, sw_name %s, sw_domain %u, sw_port %u",
|
||||||
"port %u, dev %s, ifI %d, sw_name %s, sw_domain %u, sw_port %u",
|
port_id,
|
||||||
port_id,
|
dev_info->device
|
||||||
dev_info->device ? dev_info->device->name : "-",
|
? rte_dev_name(dev_info->device)
|
||||||
dev_info->if_index, dev_info->switch_info.name,
|
: "-",
|
||||||
dev_info->switch_info.domain_id,
|
dev_info->if_index,
|
||||||
dev_info->switch_info.port_id);
|
dev_info->switch_info.name,
|
||||||
|
dev_info->switch_info.domain_id,
|
||||||
|
dev_info->switch_info.port_id);
|
||||||
if (rte_flow_isolate(port_id, 1, &error)) {
|
if (rte_flow_isolate(port_id, 1, &error)) {
|
||||||
if (IS_ZEBRA_DEBUG_DPLANE_DPDK)
|
if (IS_ZEBRA_DEBUG_DPLANE_DPDK)
|
||||||
zlog_debug(
|
zlog_debug(
|
||||||
|
@ -635,7 +638,7 @@ static int zd_dpdk_init(void)
|
||||||
zd_dpdk_vty_init();
|
zd_dpdk_vty_init();
|
||||||
|
|
||||||
frr_with_privs (&zserv_privs) {
|
frr_with_privs (&zserv_privs) {
|
||||||
rc = rte_eal_init(array_size(argv), argv);
|
rc = rte_eal_init(array_size(argv), (char **)argv);
|
||||||
}
|
}
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
zlog_warn("EAL init failed %s", rte_strerror(rte_errno));
|
zlog_warn("EAL init failed %s", rte_strerror(rte_errno));
|
||||||
|
|
|
@ -20,4 +20,6 @@ extern void zd_dpdk_port_show(struct vty *vty, uint16_t port_id, bool uj,
|
||||||
extern void zd_dpdk_stat_show(struct vty *vty);
|
extern void zd_dpdk_stat_show(struct vty *vty);
|
||||||
extern void zd_dpdk_vty_init(void);
|
extern void zd_dpdk_vty_init(void);
|
||||||
|
|
||||||
|
extern struct zebra_privs_t zserv_privs;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue