Skip to content

lib/net: boot with bond interfaces#566

Merged
AltraMayor merged 1 commit intomasterfrom
bond
Jun 15, 2022
Merged

lib/net: boot with bond interfaces#566
AltraMayor merged 1 commit intomasterfrom
bond

Conversation

@AltraMayor
Copy link
Owner

@AltraMayor AltraMayor commented Jun 15, 2022

After upgrading Gatekeeper's DPDK, Gatekeeper is not booting with bond interfaces. This issue is identified with log entries similar to the one below:
memzone eth_p1_q0_rx_ring does not justify the requested attributes

The example log entry above and others may differ on the name of the queue that triggers the issue. In the example above, the name of the queue is eth_p1_q0_rx_ring.

The solution consists in allocating the RX and TX queues on the same NUMA socket to which the underlying Ethernet device is connected; see configure_queue() edited in this pull request for more details. Gatekeeper was using the NUMA node of the block responsible for the queue.

Here is a backtrace when the issue is triggered to serve as a reference:

(gdb) bt
#0  rte_eth_dma_zone_reserve (dev=0x55555844c940 <rte_eth_devices>, 
    ring_name=0x555557ac5f7d "rx_ring", queue_id=3, size=66048, align=128, 
    socket_id=0) at ../lib/librte_ethdev/rte_ethdev.c:4565
#1  0x00005555560eee06 in ixgbe_dev_rx_queue_setup (
    dev=0x55555844c940 <rte_eth_devices>, queue_idx=3, nb_desc=512, 
    socket_id=0, rx_conf=0x7fffffffcdb0, mp=0x21fff6bf80)
    at ../drivers/net/ixgbe/ixgbe_rxtx.c:3099
#2  0x00005555578aa31d in rte_eth_rx_queue_setup (port_id=0, rx_queue_id=3, 
    nb_rx_desc=512, socket_id=0, rx_conf=0x170876318, mp=0x21fff6bf80)
    at ../lib/librte_ethdev/rte_ethdev.c:2096
#3  0x00005555558c0b24 in slave_configure (
    bonded_eth_dev=0x555558454ac0 <rte_eth_devices+33152>, 
    slave_eth_dev=0x55555844c940 <rte_eth_devices>)
    at ../drivers/net/bonding/rte_eth_bond_pmd.c:1763
#4  0x00005555558c150b in bond_ethdev_start (
    eth_dev=0x555558454ac0 <rte_eth_devices+33152>)
    at ../drivers/net/bonding/rte_eth_bond_pmd.c:1987
#5  0x00005555578a8d0a in rte_eth_dev_start (port_id=2)
    at ../lib/librte_ethdev/rte_ethdev.c:1705
#6  0x000055555569439f in kni_change_if (port_id=2, if_up=1 '\001')
    at cps/kni.c:60
#7  0x00005555577cd211 in rte_kni_handle_request (kni=0x1705f1840)
    at ../lib/librte_kni/rte_kni.c:561
#8  0x0000555555694d6f in modify_link (nl=0x5555584ef970, kni=0x1705f1840, 
    kni_name=0x1705f1840 "kni_front", if_up=1) at cps/kni.c:257
#9  0x000055555569548c in kni_config_link (kni=0x1705f1840) at cps/kni.c:362
#10 0x000055555568e03f in cps_stage1 (arg=0x555557fb6cc0 <cps_conf>)
    at cps/main.c:823
#11 0x000055555576da39 in launch_stage1 () at lib/launch.c:70
#12 0x000055555576e232 in launch_gatekeeper () at lib/launch.c:273
#13 0x000055555566a70a in main (argc=1, argv=0x7fffffffe678) at main/main.c:441

@AltraMayor AltraMayor added the bug label Jun 15, 2022
@AltraMayor AltraMayor added this to the Version 1.1 milestone Jun 15, 2022
After upgrading Gatekeeper's DPDK, Gatekeeper is not booting with
bond interfaces.  This issue is identified with log entries similar
to the one below:
memzone eth_p1_q0_rx_ring does not justify the requested attributes

The example log entry above and others may differ on the name of
the queue that triggers the issue. In the example above,
the name of the queue is 'eth_p1_q0_rx_ring'.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant