欢迎来到 DPDK交流社区 ,有什么问题可以尽管在这里提问,您将会收到社区其他成员的回答;也可以将您的总结写在这里,为社区其他成员提供帮助。 QQ交流2群:635461501

dpdk examples中load_balancer

0 投票
dpdk中的load_balancer目前是不支持ARP的,能否通过更改代码使其可以转发ARP数据包?

在app_lcore_worker中代码如下,

pkt = lp->mbuf_in.array[j];
   ipv4_hdr = rte_pktmbuf_mtod_offset(pkt,
          struct ipv4_hdr *,
          sizeof(struct ether_hdr));
   ipv4_dst = rte_be_to_cpu_32(ipv4_hdr->dst_addr);

   if (unlikely(rte_lpm_lookup(lp->lpm_table, ipv4_dst, &port) != 0)) {
    port = pkt->port;
   }

   pos = lp->mbuf_out[port].n_mbufs;

   lp->mbuf_out[port].array[pos ++] = pkt;

 

若在lpm表中查找失败,则将包返回源端口,能否更改port使其ARP包可以发向所有可用端口?
最新提问 6月 17 分类:DPDK初学入门 | 用户: jm (120 分)

1个回答

0 投票
大胆去操作,应该没什么问题,最好看一下Linux内核的arp的转发实现
最新回答 7月 28 用户: dpdk_lover (2,700 分)
...