STRUCT DP_UPCALL_INFO(9)
π struct dp_upcall_info(9) β the kernel API manual, bestie edition π
okay so this page lives in the Kernel API Manual, section 9, and it's all about struct dp_upcall_info β the little bundle of metadata that rides along with a packet when the datapath sends it up to userspace. it's giving "message with a really cute cover letter" ngl β¨
πΈ NAME πΈ
struct dp_upcall_info β metadata to include with a packet sent to userspace
β¨ SYNOPSIS β¨
struct dp_upcall_info {
struct ip_tunnel_info *egress_tun_info;
const struct nlattr *userdata;
const struct nlattr *actions;
int actions_len;
u32 portid;
u8 cmd;
u16 mru;
};
like, that's the whole struct. seven fields. every single one of them matters, so let's go field by field, no skipping π
π¦ MEMBERS π¦
egress_tun_infoβ if it's nonnull, it becomesOVS_PACKET_ATTR_EGRESS_TUN_KEY. iconic behavior honestly πuserdataβ if it's nonnull, its variable-length value gets passed to userspace asOVS_PACKET_ATTR_USERDATA. variable-length meaning it's whatever size it needs to be, not fixed πactionsβ if it's nonnull, its variable-length value gets passed to userspace asOVS_PACKET_ATTR_ACTIONS. same variable-length deal πactions_lenβ the length of the actions. that's it, that's the field. it pairs withactionslike the bestie duo they are π«Άportidβ the netlink portid to which the packet should be sent. and here's the important bit, so listen up: ifportidis0then no packet is sent and the packet is accounted in the datapath'sn_lostcounter. fr fr, zero means it goes nowhere and gets counted as lost πcmdβ one ofOVS_PACKET_CMD_*. that's the whole range, pick from there βmruβ if not zero, Maximum received IP fragment size. highkey useful when it's set, and when it's0... it's not set π
π₯ SEE ALSO π₯
kernel file ./net/openvswitch/datapath.h plus these absolute legends:
struct dp_stats_percpu(9)struct dp_nlsk_pids(9)struct datapath(9)struct ovs_skb_cb(9)struct ovs_net(9)enum ovs_pkt_hash_types(9)
okay that's the page!! mwah π this one comes from ./net/openvswitch, dated October 2026, and it's literally titled struct dp_upcall_info(9) β go forth and upcall responsibly, bestie π§π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms