'How to announce VIP with BGP for DPDK application?

I'm new to DPDK, I have a question on how to announce VIP through BGP for my LB based on DPDK.

The design looks like this:

  • I have multiple hosts (virtual machines or physical machines), every host advertising the same VIP, 10.0.0.10 for example.
  • Each LB host has two NICs, one for DPDK, one for admin purposes.
  • LB forward the packets to backend servers based on VIP configuration

Normally, I use Bird or Quagga for BGP advertising, but I don't know how to make BGP work with DPDK applications. Do I need to implement BGP and ARP within the DPDK application? It looks overkilling to me.

I searched online but seems there's little information about DPDK. I expect DPDK experts could provide me with some hints or point me to the related resources.

Update:

My question is: how to announce VIP with Quagga/Bird for my DPDK application (NIC2)? DPDK application and Quagga/Bird are running on the same machine.

After more investigation, I find one of the solution is using DPDK KNI to forward BGP traffic to Linux kernel, so Quagga/Bird could advertise VIP through KNI interface.

I'm wondering is it possible to announce VIP through NIC1 for NIC2 which is bound to DPDK application, so I don't need implement KNI in my DPDK application.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source