ovs_vport_receive(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– ovs_vport_receive(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual β€” yes it's a whole kernel manual, and yes this one is a lil function that ~passes a packet up~ πŸŽ€


✨ NAME ✨

ovs_vport_receive β€” the girlie that passes up received packet to the datapath for processing πŸ’…


🌸 SYNOPSIS 🌸

int ovs_vport_receive (struct vport *vport , struct sk_buff *skb , const
struct ip_tunnel_info *tun_info );

like. she takes three things and returns an int. no cap. that's her whole job. πŸ¦‹


🫢 ARGUMENTS 🫢

  • vport β€” the vport that received the packet, aka the main character of this whole situation πŸ‘‘
  • skb β€” the skb that was received, the actual packet bestie, the moment itself ✨
  • tun_info β€” the tunnel (if any) that carried packet, so like… if there was a tunnel at all πŸ™ˆ

🌈 DESCRIPTION 🌈

okay so listen up, this part is important:

Must be called with rcu_read_lock. like, literally, you must. not optional. not "if you feel like it." it's giving mandatory 🚨

The packet cannot be shared β€” nope, nope, not sharing, that's not on the table, don't even try it πŸ’€

And skb->data should point to the Ethernet header. like that's where it needs to be pointing. periodt. πŸ’…


⭐ SEE ALSO ⭐

Kernel file ./net/openvswitch/vport.c β€” and honestly the whole friend group:

go read all of them. iykyk πŸ§šπŸ’œ


okay that's literally it, mwah ily, this page lives in ./net/openvswitch and it's dated October 2026 β€” signed, sealed, slayed. bye bestie!! πŸ“πŸ”₯πŸ‘‘

πŸ“¦ where this page comes from