rte_node_ip6_api.h(3)

πŸ“¦
version 25.11.3 Β· 4 versions
, in ubuntu resolute, ubuntu stonking

πŸ’– 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