Searched refs:user_skb (Results 1 - 1 of 1) sorted by relevance

/linux-4.1.27/net/openvswitch/
H A Ddatapath.c406 struct sk_buff *user_skb = NULL; /* to be queued to userspace */ queue_userspace_packet() local
452 user_skb = genlmsg_new_unicast(len, &info, GFP_ATOMIC); queue_userspace_packet()
453 if (!user_skb) { queue_userspace_packet()
458 upcall = genlmsg_put(user_skb, 0, 0, &dp_packet_genl_family, queue_userspace_packet()
462 err = ovs_nla_put_key(key, key, OVS_PACKET_ATTR_KEY, false, user_skb); queue_userspace_packet()
466 __nla_put(user_skb, OVS_PACKET_ATTR_USERDATA, queue_userspace_packet()
471 nla = nla_nest_start(user_skb, OVS_PACKET_ATTR_EGRESS_TUN_KEY); queue_userspace_packet()
472 err = ovs_nla_put_egress_tunnel_key(user_skb, queue_userspace_packet()
475 nla_nest_end(user_skb, nla); queue_userspace_packet()
480 if (!(nla = nla_reserve(user_skb, OVS_PACKET_ATTR_PACKET, 0))) { queue_userspace_packet()
486 err = skb_zerocopy(user_skb, skb, skb->len, hlen); queue_userspace_packet()
492 size_t plen = NLA_ALIGN(user_skb->len) - user_skb->len; queue_userspace_packet()
495 memset(skb_put(user_skb, plen), 0, plen); queue_userspace_packet()
498 ((struct nlmsghdr *) user_skb->data)->nlmsg_len = user_skb->len; queue_userspace_packet()
500 err = genlmsg_unicast(ovs_dp_get_net(dp), user_skb, upcall_info->portid); queue_userspace_packet()
501 user_skb = NULL; queue_userspace_packet()
505 kfree_skb(user_skb); queue_userspace_packet()

Completed in 40 milliseconds