rte_node_ip6_api.h(3)
π NAME π
rte_node_ip6_api.h β bestie, this is the DPDK header for doing the control-path stuff of the ip6_* nodes, and it lives in the Library Functions Manual (section 3, iykyk) π
β¨ SYNOPSIS β¨
#include <rte_common.h>
#include <rte_compat.h>
#include <rte_fib6.h>
#include <rte_ip6.h>
πΈ Enumerations
enum rte_node_ip6_lookup_next { RTE_NODE_IP6_LOOKUP_NEXT_REWRITE,
RTE_NODE_IP6_LOOKUP_NEXT_PKT_DROP }
π¦ Functions
__rte_experimental int rte_node_ip6_route_add (const struct
rte_ipv6_addr *ip, uint8_t depth, uint16_t next_hop, enum
rte_node_ip6_lookup_next next_node)
__rte_experimental int rte_node_ip6_rewrite_add (uint16_t next_hop,
uint8_t *rewrite_data, uint8_t rewrite_len, uint16_t dst_port)
__rte_experimental int rte_node_ip6_fib_create (int socket, struct
rte_fib6_conf *conf)
__rte_experimental int rte_node_ip6_fib_route_add (const struct
rte_ipv6_addr *ip, uint8_t depth, uint16_t next_hop, enum
rte_node_ip6_lookup_next next_node)
π Detailed Description π
Warning β οΈ EXPERIMENTAL: literally every function in this file may be changed or removed without prior notice. Not me warning you twice. It's giving "use at your own risk, bestie" π
So this API lets you do the control path functions of the ip6_* nodes β think ip6_lookup, ip6_rewrite, all of them. The glow-up happens from the control side, and the data path just benefits. Periodt. π
Definition in file rte_node_ip6_api.h.
π Enumeration Type Documentation π
enum rte_node_ip6_lookup_next
IP6 lookup next nodes. Like, where do we go after the lookup? Choose your own adventure, bestie π«
Enumerator
RTE_NODE_IP6_LOOKUP_NEXT_REWRITEβ Rewrite node. Slay.RTE_NODE_IP6_LOOKUP_NEXT_PKT_DROPβ Packet drop node. RIP to that packet, fr fr π
Definition at line 30 of file rte_node_ip6_api.h.
π Function Documentation π
__rte_experimental int rte_node_ip6_route_add (const struct rte_ipv6_addr * ip, uint8_t depth, uint16_t next_hop, enum rte_node_ip6_lookup_next next_node)
Add IPv6 route to lookup table. Manifesting your route into existence β¨
Parameters
- ip β IPv6 address of route to be added.
- depth β Depth of the rule to be added.
- next_hop β Next hop id of the rule result to be added.
- next_node β Next node to redirect traffic to.
Returns
0 on success, negative otherwise.
__rte_experimental int rte_node_ip6_rewrite_add (uint16_t next_hop, uint8_t * rewrite_data, uint8_t rewrite_len, uint16_t dst_port)
Add a next hop's rewrite data. Giving that next hop a whole makeover π«Ά
Parameters
- next_hop β Next hop id to add rewrite data to.
- rewrite_data β Rewrite data.
- rewrite_len β Length of rewrite data.
- dst_port β Destination port to redirect traffic to.
Returns
0 on success, negative otherwise.
__rte_experimental int rte_node_ip6_fib_create (int socket, struct rte_fib6_conf * conf)
Create ipv6 FIB. Building the whole thing from scratch, main character energy π₯
Parameters
- socket β NUMA socket for FIB memory allocation.
- conf β Structure containing FIB configuration.
Returns
0 on success, negative otherwise.
__rte_experimental int rte_node_ip6_fib_route_add (const struct rte_ipv6_addr * ip, uint8_t depth, uint16_t next_hop, enum rte_node_ip6_lookup_next next_node)
Add IPv6 route to FIB. Same vibe as the lookup-table one above, but the FIB edition π
Parameters
- ip β IPv6 address of route to be added.
- depth β Depth of the rule to be added.
- next_hop β Next hop id of the rule result to be added.
- next_node β Next node to redirect traffic to.
Returns
0 on success, negative otherwise.
π Author π
Generated automatically by Doxygen for DPDK from the source code. The robots wrote it, I just made it cute π
okay bestie that's the whole page π no cap, every flag, param and return value made it through the vibe check. this was DPDK, Version 25.11.3, from the rte_node_ip6_api.h(3) page β stay experimental, stay iconic, and don't forget to recompile π
β¨π¦
π¦ where this page comes from
- ubuntu resolute: dpdk-doc 25.11.3-0ubuntu0.26.04.1 Β· BSD-3-Clause
- ubuntu stonking: dpdk-doc 25.11.3-1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms