rte_sched_port_params(3)

๐Ÿ’– NAME ๐Ÿ’–

rte_sched_port_params โ€” the lil' struct that holds every single thing the DPDK scheduler needs to know before it builds you a port. It's literally the vibe-settings sheet for a traffic-managed port, bestie.


โœจ SYNOPSIS โœจ

#include <rte_sched.h>

๐ŸŽ€ Data Fields ๐ŸŽ€

  • const char * name
  • int socket
  • uint64_t rate
  • uint32_t mtu
  • uint32_t frame_overhead
  • uint32_t n_subports_per_port
  • struct rte_sched_subport_profile_params * subport_profiles
  • uint32_t n_subport_profiles
  • uint32_t n_max_subport_profiles
  • uint32_t n_pipes_per_subport

๐Ÿฆ‹ DETAILED DESCRIPTION ๐Ÿฆ‹

Okay so. Port configuration parameters. That's the whole job. That's what this struct is for, and it is serving it.

Defined at line 270 of the file rte_sched.h. โœจ


๐Ÿ‘‘ FIELD DOCUMENTATION ๐Ÿ‘‘

const char* name

The name of the port you're associating this config with. Like a little nametag for your port. ๐Ÿท๏ธ

Defined at line 272 of the file rte_sched.h.

int socket

The CPU socket ID. Gotta tell it where the silicon lives, bestie. ๐Ÿ’…

Defined at line 275 of the file rte_sched.h.

uint64_t rate

The output port rate โ€” and this one is measured in bytes per second, no cap. ๐Ÿ“ˆ

Defined at line 278 of the file rte_sched.h.

uint32_t mtu

The maximum Ethernet frame size, measured in bytes. Heads up: this should not include the framing overhead. Do not sneak the overhead in there. It's giving separate-concerns. ๐Ÿ™ˆ

Defined at line 283 of the file rte_sched.h.

uint32_t frame_overhead

The framing overhead per packet, measured in bytes. This is where the overhead goes. (See above. We said it separately for a reason.) ๐ŸŽ€

Defined at line 286 of the file rte_sched.h.

uint32_t n_subports_per_port

Number of subports. Just the count. Slay. ๐ŸŒธ

Defined at line 289 of the file rte_sched.h.

struct rte_sched_subport_profile_params* subport_profiles

The subport profile table. Every single pipe gets configured using one of the profiles from this table โ€” that's the whole system, every pipe pulls its fit from this closet. ๐Ÿ‘—

Defined at line 294 of the file rte_sched.h.

uint32_t n_subport_profiles

The number of profiles in the pipe profile table. ๐Ÿ“‹

Defined at line 297 of the file rte_sched.h.

uint32_t n_max_subport_profiles

The max allowed profiles in the pipe profile table. The ceiling. The limit. Don't exceed it. ๐Ÿšซ

Defined at line 300 of the file rte_sched.h.

uint32_t n_pipes_per_subport

The maximum number of subport pipes. And the way this one works: it's used to reserve a fixed number of bits in struct rte_mbuf::sched.queue_id for the pipe_id, and that applies to all the subports of the same port. So it's a shared bit-budget situation. ๐Ÿงฎ

Defined at line 307 of the file rte_sched.h.


๐Ÿ’œ AUTHOR ๐Ÿ’œ

Generated automatically by Doxygen for DPDK from the source code. Not me writing it by hand, it's the robot, and honestly the robot ate. ๐Ÿ”ฅ


And that's the whole page, bestie โ€” this was rte_sched_port_params(3) from DPDK Version 25.11.3. Go configure a port, you've got this. ๐Ÿ’…โœจ

๐Ÿ“ฆ where this page comes from