Lines Matching refs:upcall_info
303 const struct dp_upcall_info *upcall_info) in ovs_dp_upcall() argument
308 if (upcall_info->portid == 0) { in ovs_dp_upcall()
314 err = queue_userspace_packet(dp, skb, key, upcall_info); in ovs_dp_upcall()
316 err = queue_gso_packets(dp, skb, key, upcall_info); in ovs_dp_upcall()
334 const struct dp_upcall_info *upcall_info) in queue_gso_packets() argument
363 err = queue_userspace_packet(dp, skb, key, upcall_info); in queue_gso_packets()
381 static size_t upcall_msg_size(const struct dp_upcall_info *upcall_info, in upcall_msg_size() argument
389 if (upcall_info->userdata) in upcall_msg_size()
390 size += NLA_ALIGN(upcall_info->userdata->nla_len); in upcall_msg_size()
393 if (upcall_info->egress_tun_info) in upcall_msg_size()
397 if (upcall_info->actions_len) in upcall_msg_size()
398 size += nla_total_size(upcall_info->actions_len); in upcall_msg_size()
401 if (upcall_info->mru) in upcall_msg_size()
402 size += nla_total_size(sizeof(upcall_info->mru)); in upcall_msg_size()
419 const struct dp_upcall_info *upcall_info) in queue_userspace_packet() argument
427 .snd_portid = upcall_info->portid, in queue_userspace_packet()
468 len = upcall_msg_size(upcall_info, hlen); in queue_userspace_packet()
476 0, upcall_info->cmd); in queue_userspace_packet()
482 if (upcall_info->userdata) in queue_userspace_packet()
484 nla_len(upcall_info->userdata), in queue_userspace_packet()
485 nla_data(upcall_info->userdata)); in queue_userspace_packet()
487 if (upcall_info->egress_tun_info) { in queue_userspace_packet()
490 upcall_info->egress_tun_info); in queue_userspace_packet()
495 if (upcall_info->actions_len) { in queue_userspace_packet()
497 err = ovs_nla_put_actions(upcall_info->actions, in queue_userspace_packet()
498 upcall_info->actions_len, in queue_userspace_packet()
507 if (upcall_info->mru) { in queue_userspace_packet()
509 upcall_info->mru)) { in queue_userspace_packet()
533 err = genlmsg_unicast(ovs_dp_get_net(dp), user_skb, upcall_info->portid); in queue_userspace_packet()