/* The eventual aim is for each socket to have a cached header size for its outgoing packets, and to set hdr from this when sk != NULL.  */
struct sk_buff* dn_alloc_skb(struct sock *sk, int size, gfp_t pri)
/* The eventual aim is for each socket to have a cached header size for its outgoing packets, and to set hdr from this when sk != NULL.  */
struct sk_buff* dn_alloc_skb(struct sock *sk, int size, gfp_t pri)
{
	struct sk_buff *skb;
	int hdr = 64;
	if ((skb = alloc_skb(size + hdr, pri)) == NULL)
		return NULL;
	skb->protocol = htons(ETH_P_DNA_RT);
	skb->pkt_type = PACKET_OUTGOING;
	if (sk)
		skb_set_owner_w(skb, sk);
	skb_reserve(skb, hdr);
	return skb;
}