rte_node_ip4_api.h(3)

✨ NAME ✨

okay so bestie, meet rte_node_ip4_api.h πŸ’– β€” a header from DPDK's Library Functions Manual (you know the drill, section 3, iykyk) and it's literally the control-path bestie for the ip4_* graph nodes. no cap.


πŸ“¦ SYNOPSIS πŸ“¦

#include <rte_common.h>
#include <rte_compat.h>
#include <rte_fib.h>
#include <rte_graph.h>

🧸 Data Structures

  • struct rte_node_ip4_reassembly_cfg

✨ Macros

  • #define RTE_IP4_OUTPUT_FEATURE_ARC_NAME 'rte_ip4_output_arc'

πŸŽ€ Enumerations

enum rte_node_ip4_lookup_next { RTE_NODE_IP4_LOOKUP_NEXT_REWRITE,
    RTE_NODE_IP4_LOOKUP_NEXT_IP4_LOCAL,
    RTE_NODE_IP4_LOOKUP_NEXT_PKT_DROP }
enum rte_node_ip4_local_next { RTE_NODE_IP4_LOCAL_NEXT_UDP4_INPUT,
    RTE_NODE_IP4_LOCAL_NEXT_PKT_DROP }
enum rte_node_ip4_reassembly_next {
    RTE_NODE_IP4_REASSEMBLY_NEXT_PKT_DROP }

πŸ’« Functions

int rte_node_ip4_route_add (uint32_t ip, uint8_t depth, uint16_t
    next_hop, enum rte_node_ip4_lookup_next next_node)
int rte_node_ip4_rewrite_add (uint16_t next_hop, uint8_t *rewrite_data,
    uint8_t rewrite_len, uint16_t dst_port)
__rte_experimental int rte_node_ip4_reassembly_configure (struct
    rte_node_ip4_reassembly_cfg *cfg, uint16_t cnt)
__rte_experimental int rte_node_ip4_fib_create (int socket, struct
    rte_fib_conf *conf)
__rte_experimental int rte_node_ip4_fib_route_add (uint32_t ip, uint8_t
    depth, uint16_t next_hop, enum rte_node_ip4_lookup_next next_node)

🌸 Detailed Description 🌸

⚠️ Warning EXPERIMENTAL: All functions in this file may be changed or removed without prior notice. πŸ’€ so like... don't build your entire personality on this API, bestie, it could ghost you at any release.

This API allows to do control path functions of ip4_* nodes like ip4_lookup, ip4_rewrite. πŸ¦‹

Definition in file rte_node_ip4_api.h.


πŸŽ€ Macro Definition Documentation πŸŽ€

#define RTE_IP4_OUTPUT_FEATURE_ARC_NAME 'rte_ip4_output_arc'

IP4 output arc πŸ”₯

Definition at line 29 of file rte_node_ip4_api.h.


πŸ¦‹ Enumeration Type Documentation πŸ¦‹

enum rte_node_ip4_lookup_next

IP4 lookup next nodes.

Enumerator

  • RTE_NODE_IP4_LOOKUP_NEXT_REWRITE β€” Rewrite node. ✨
  • RTE_NODE_IP4_LOOKUP_NEXT_PKT_DROP β€” IP Local node. Number of next nodes of lookup node. πŸ‘‘ (yes the blurb for the drop one says "IP Local node", we are just relaying it fr fr)

Definition at line 35 of file rte_node_ip4_api.h.

enum rte_node_ip4_local_next

IP4 Local next nodes.

Enumerator

  • RTE_NODE_IP4_LOCAL_NEXT_UDP4_INPUT β€” ip4 Local node. 🌈
  • RTE_NODE_IP4_LOCAL_NEXT_PKT_DROP β€” Packet drop node. πŸ“

Definition at line 47 of file rte_node_ip4_api.h.

enum rte_node_ip4_reassembly_next

IP4 reassembly next nodes.

Enumerator

  • RTE_NODE_IP4_REASSEMBLY_NEXT_PKT_DROP β€” Packet drop node. πŸ’œ

Definition at line 57 of file rte_node_ip4_api.h.


πŸ’… Function Documentation πŸ’…

int rte_node_ip4_route_add (uint32_t ip, uint8_t depth, uint16_t next_hop, enum rte_node_ip4_lookup_next next_node)

Add ipv4 route to lookup table. πŸ“₯

Parameters

  • ip β€” IP 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. 🫢

int rte_node_ip4_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. ✍️

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_ip4_reassembly_configure (struct rte_node_ip4_reassembly_cfg *cfg, uint16_t cnt)

Add reassembly node configuration data. 🧩

Parameters

  • cfg β€” Pointer to the configuration structure.
  • cnt β€” Number of configuration structures passed.

Returns

0 on success, negative otherwise. 🫢

__rte_experimental int rte_node_ip4_fib_create (int socket, struct rte_fib_conf *conf)

Create ipv4 FIB. 🌱

Parameters

  • socket β€” NUMA socket for FIB memory allocation.
  • conf β€” Structure containing FIB configuration.

Returns

0 on success, negative otherwise. 🫢

__rte_experimental int rte_node_ip4_fib_route_add (uint32_t ip, uint8_t depth, uint16_t next_hop, enum rte_node_ip4_lookup_next next_node)

Add ipv4 route to FIB. πŸ›£οΈ

Parameters

  • ip β€” IP 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. πŸ€– (a robot wrote the source of this, I just gave it the ✨main character✨ edit)


and that's the whole page, bestie β€” brought to you by DPDK, Version 25.11.3 πŸ’– stay slay, keep your packets moving, periodt. πŸŽ€πŸ¦‹βœ¨

πŸ“¦ where this page comes from