IS_ORIGINAL_DIR(3)

πŸ“¦ version 26.03, in nixos 26.05, nixpkgs unstable

πŸ’… rte_flow_action_conntrack

okay bestie, you've landed in the Library Functions Manual and we are about to get so into it. This whole page is one struct from <rte_flow.h> and it's lowkey the main character of connection tracking. Buckle up πŸŽ€

✨ NAME ✨

rte_flow_action_conntrack β€” the conntrack config + state glow-up, periodt.

πŸ¦‹ SYNOPSIS πŸ¦‹

#include <rte_flow.h>

🌸 Data Fields 🌸

Here's the whole squad, in order, no cap:

  • uint16_t peer_port
  • uint32_t is_original_dir:1
  • uint32_t enable:1
  • uint32_t live_connection:1
  • uint32_t selective_ack:1
  • uint32_t challenge_ack_passed:1
  • uint32_t last_direction:1
  • uint32_t liberal_mode:1
  • enum rte_flow_conntrack_state state
  • uint8_t max_ack_window
  • uint8_t retransmission_limit
  • struct rte_flow_tcp_dir_param original_dir
  • struct rte_flow_tcp_dir_param reply_dir
  • uint16_t last_window
  • uint32_t last_seq
  • uint32_t last_ack
  • uint32_t last_end

πŸ”₯ Detailed Description πŸ”₯

Warning ⚠️ EXPERIMENTAL: this structure may change without prior notice. So like… don't get too attached to the exact layout, bestie. It's giving "we might rearrange the furniture."

This is RTE_FLOW_ACTION_TYPE_CONNTRACK energy.

It's the configuration and initial state for the connection tracking module β€” and here's the cute part: this one struct is used for both setting and query. All fields should be in host byte order, respect that fr fr.


🌈 Field Documentation 🌈

πŸ“ uint16_t peer_port

The peer port number β€” and yeah, it can be the same port. Same port, different vibe, it happens.

Definition at line 4029 of file rte_flow.h.

🧚 uint32_t is_original_dir

The direction of this connection when you're creating a flow rule. Heads up: this value only affects the creation of subsequent flow rules. Like it sets the tone for everything that comes after, iconic behaviour honestly.

Definition at line 4034 of file rte_flow.h.

πŸ’œ uint32_t enable

Enable / disable the conntrack HW module. When it's disabled, the result will always be RTE_FLOW_CONNTRACK_FLAG_DISABLED, and in that state the HW just acts as passthrough. Also bestie, note: it only affects this conntrack object in the HW β€” no effect on any of the other objects. Mind your business energy πŸ’…

Definition at line 4042 of file rte_flow.h.

✨ uint32_t live_connection

At least one ack was seen after the connection was established. So like… it's officially alive.

Definition at line 4044 of file rte_flow.h.

πŸŽ€ uint32_t selective_ack

Enable selective ACK on this connection. Yup, that's the whole thing. Slay.

Definition at line 4046 of file rte_flow.h.

πŸ”₯ uint32_t challenge_ack_passed

A challenge ack has passed. That's it, that's the field (and yes, this is the one the page is named after, so show some respect 😭).

Definition at line 4048 of file rte_flow.h.

πŸ¦‹ uint32_t last_direction

1: the last packet was seen from the original direction. 0: the last packet was seen from the reply direction. Two options, binary, no in-between.

Definition at line 4053 of file rte_flow.h.

🌸 uint32_t liberal_mode

No TCP check will be done except the state change. It's the chill, go-with-the-flow mode. Very "we're not fact-checking you, just tracking your state."

Definition at line 4055 of file rte_flow.h.

πŸ‘‘ enum rte_flow_conntrack_state state

The current state of this connection. Literally just vibes-as-enum.

Definition at line 4057 of file rte_flow.h.

🌈 uint8_t max_ack_window

Scaling factor for the maximal allowed ACK window.

Definition at line 4059 of file rte_flow.h.

⭐ uint8_t retransmission_limit

The maximal allowed number of retransmission times. After that, no more retries, bestie 🫢

Definition at line 4061 of file rte_flow.h.

πŸ’– struct rte_flow_tcp_dir_param original_dir

TCP parameters of the original direction.

Definition at line 4063 of file rte_flow.h.

πŸ’« struct rte_flow_tcp_dir_param reply_dir

TCP parameters of the reply direction.

Definition at line 4065 of file rte_flow.h.

🧸 uint16_t last_window

The window value of the last packet that passed this conntrack.

Definition at line 4067 of file rte_flow.h.

🌟 uint32_t last_seq

The sequence of the last packet that passed this conntrack.

Definition at line 4070 of file rte_flow.h.

🩷 uint32_t last_ack

The acknowledgment of the last packet that passed this conntrack.

Definition at line 4072 of file rte_flow.h.

πŸ¦„ uint32_t last_end

The total value ACK + payload length of the last packet that passed this conntrack. Math girlies rise πŸ™ˆ

Definition at line 4077 of file rte_flow.h.


πŸ’€ Author πŸ’€

Generated automatically by Doxygen for DPDK from the source code. Not a human, just a robot doing its little robot thing πŸ€–


okay that's the whole page, you ate that ngl 🫢 this was DPDK, Version 26.03.0, rte_flow_a...n_conntrack(3) β€” and it's genuinely so iconic that this exists. bye bestie, go track some connections πŸ’…βœ¨

πŸ“¦ where this page comes from