diff --git a/net/core/netpoll.c b/net/core/netpoll.c index e8e05ce..05ed18d 100644 --- a/net/core/netpoll.c +++ b/net/core/netpoll.c @@ -329,7 +329,7 @@ void netpoll_send_udp(struct netpoll *np udph->len = htons(udp_len); udph->check = 0; - iph = (struct iphdr *)skb_push(skb, sizeof(*iph)); + skb->nh.iph = iph = (struct iphdr *)skb_push(skb, sizeof(*iph)); /* iph->version = 4; iph->ihl = 5; */ put_unaligned(0x45, (unsigned char *)iph); @@ -346,7 +346,7 @@ void netpoll_send_udp(struct netpoll *np eth = (struct ethhdr *) skb_push(skb, ETH_HLEN); - eth->h_proto = htons(ETH_P_IP); + eth->h_proto = skb->protocol = htons(ETH_P_IP); memcpy(eth->h_source, np->local_mac, 6); memcpy(eth->h_dest, np->remote_mac, 6);