From 08fee9c5d2e1d1f3fe14d00683c2a4b7a17e7876 Mon Sep 17 00:00:00 2001 From: Xavier Simonart Date: Sat, 2 May 2020 21:51:24 +0200 Subject: Added initial support for BGP Through this commit BGP messages are forwarded to tap device Netlink messages are enabled to receive route Updates. In addition, generating tasks can also specify a routing table which will be used when sending packets The routes initialized by the routing table can be changed through the reception of BGP messages Change-Id: I187ba9a921885cbc9b209aae5fb654309e3388b8 Signed-off-by: Xavier Simonart --- VNFs/DPPD-PROX/tx_pkt.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'VNFs/DPPD-PROX/tx_pkt.h') diff --git a/VNFs/DPPD-PROX/tx_pkt.h b/VNFs/DPPD-PROX/tx_pkt.h index 708a9837..f7443cf4 100644 --- a/VNFs/DPPD-PROX/tx_pkt.h +++ b/VNFs/DPPD-PROX/tx_pkt.h @@ -22,6 +22,13 @@ struct task_base; struct rte_mbuf; +struct prox_headroom { + uint64_t command; + uint32_t ip; + uint32_t prefix; + uint32_t gateway_ip; +} __attribute__((packed)); + void flush_queues_hw(struct task_base *tbase); void flush_queues_sw(struct task_base *tbase); @@ -86,4 +93,14 @@ int tx_ring_cti(struct task_base *tbase, struct rte_ring *ring, uint16_t command void tx_ring_ip(struct task_base *tbase, struct rte_ring *ring, uint16_t command, struct rte_mbuf *mbuf, uint32_t ip); void tx_ring(struct task_base *tbase, struct rte_ring *ring, uint16_t command, struct rte_mbuf *mbuf); +void ctrl_ring_set_command(struct rte_mbuf *mbuf, uint64_t udata64); +uint64_t ctrl_ring_get_command(struct rte_mbuf *mbuf); +void ctrl_ring_set_ip(struct rte_mbuf *mbuf, uint32_t udata32); +uint32_t ctrl_ring_get_ip(struct rte_mbuf *mbuf); +void ctrl_ring_set_gateway_ip(struct rte_mbuf *mbuf, uint32_t udata32); +uint32_t ctrl_ring_get_gateway_ip(struct rte_mbuf *mbuf); +void ctrl_ring_set_prefix(struct rte_mbuf *mbuf, uint32_t udata32); +uint32_t ctrl_ring_get_prefix(struct rte_mbuf *mbuf); +void tx_ring_route(struct task_base *tbase, struct rte_ring *ring, int add, struct rte_mbuf *mbuf, uint32_t ip, uint32_t gateway_ip, uint32_t prefix); + #endif /* _TX_PKT_H_ */ -- cgit 1.2.3-korg