mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
[SK_BUFF]: Introduce ipv6_hdr(), remove skb->nh.ipv6h
Now the skb->nh union has just one member, .raw, i.e. it is just like the
skb->mac union, strange, no? I'm just leaving it like that till the transport
layer is done with, when we'll rename skb->mac.raw to skb->mac_header (or
->mac_header_offset?), ditto for ->{h,nh}.
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
parent
d0a92be05e
commit
0660e03f6b
59 changed files with 296 additions and 292 deletions
|
|
@ -1304,8 +1304,8 @@ int bond_alb_xmit(struct sk_buff *skb, struct net_device *bond_dev)
|
|||
break;
|
||||
}
|
||||
|
||||
hash_start = (char*)&(skb->nh.ipv6h->daddr);
|
||||
hash_size = sizeof(skb->nh.ipv6h->daddr);
|
||||
hash_start = (char *)&(ipv6_hdr(skb)->daddr);
|
||||
hash_size = sizeof(ipv6_hdr(skb)->daddr);
|
||||
break;
|
||||
case ETH_P_IPX:
|
||||
if (ipx_hdr(skb)->ipx_checksum !=
|
||||
|
|
|
|||
|
|
@ -2899,13 +2899,11 @@ e1000_tso(struct e1000_adapter *adapter, struct e1000_tx_ring *tx_ring,
|
|||
cmd_length = E1000_TXD_CMD_IP;
|
||||
ipcse = skb->h.raw - skb->data - 1;
|
||||
} else if (skb->protocol == htons(ETH_P_IPV6)) {
|
||||
skb->nh.ipv6h->payload_len = 0;
|
||||
ipv6_hdr(skb)->payload_len = 0;
|
||||
skb->h.th->check =
|
||||
~csum_ipv6_magic(&skb->nh.ipv6h->saddr,
|
||||
&skb->nh.ipv6h->daddr,
|
||||
0,
|
||||
IPPROTO_TCP,
|
||||
0);
|
||||
~csum_ipv6_magic(&ipv6_hdr(skb)->saddr,
|
||||
&ipv6_hdr(skb)->daddr,
|
||||
0, IPPROTO_TCP, 0);
|
||||
ipcse = 0;
|
||||
}
|
||||
ipcss = skb_network_offset(skb);
|
||||
|
|
|
|||
|
|
@ -479,9 +479,11 @@ qeth_eddp_fill_context_tcp(struct qeth_eddp_context *ctx,
|
|||
skb->h.raw,
|
||||
skb->h.th->doff * 4);
|
||||
else
|
||||
eddp = qeth_eddp_create_eddp_data(qhdr, (u8 *)skb->nh.ipv6h,
|
||||
sizeof(struct ipv6hdr),
|
||||
(u8 *)skb->h.th, skb->h.th->doff*4);
|
||||
eddp = qeth_eddp_create_eddp_data(qhdr,
|
||||
skb_network_header(skb),
|
||||
sizeof(struct ipv6hdr),
|
||||
skb->h.raw,
|
||||
skb->h.th->doff * 4);
|
||||
|
||||
if (eddp == NULL) {
|
||||
QETH_DBF_TEXT(trace, 2, "eddpfcnm");
|
||||
|
|
|
|||
|
|
@ -4053,7 +4053,8 @@ qeth_fill_header(struct qeth_card *card, struct qeth_hdr *hdr,
|
|||
skb->dst->neighbour->primary_key, 16);
|
||||
} else {
|
||||
/* fill in destination address used in ip header */
|
||||
memcpy(hdr->hdr.l3.dest_addr, &skb->nh.ipv6h->daddr, 16);
|
||||
memcpy(hdr->hdr.l3.dest_addr,
|
||||
&ipv6_hdr(skb)->daddr, 16);
|
||||
}
|
||||
} else { /* passthrough */
|
||||
if((skb->dev->type == ARPHRD_IEEE802_TR) &&
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ static inline void
|
|||
qeth_tso_set_tcpip_header(struct qeth_card *card, struct sk_buff *skb)
|
||||
{
|
||||
struct iphdr *iph = ip_hdr(skb);
|
||||
struct ipv6hdr *ip6h = skb->nh.ipv6h;
|
||||
struct ipv6hdr *ip6h = ipv6_hdr(skb);
|
||||
struct tcphdr *tcph = skb->h.th;
|
||||
|
||||
tcph->check = 0;
|
||||
|
|
|
|||
Loading…
Reference in a new issue