diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2007-04-25 20:54:47 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-04-26 01:25:14 -0400 |
commit | 0660e03f6b18f19b6bbafe7583265a51b90daf36 (patch) | |
tree | 82cc819ead5ab7858ba211ee8719a3e6d2bb984f /drivers | |
parent | d0a92be05ed4aea7d35c2b257e3f9173565fe4eb (diff) |
[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 <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/bonding/bond_alb.c | 4 | ||||
-rw-r--r-- | drivers/net/e1000/e1000_main.c | 10 | ||||
-rw-r--r-- | drivers/s390/net/qeth_eddp.c | 8 | ||||
-rw-r--r-- | drivers/s390/net/qeth_main.c | 3 | ||||
-rw-r--r-- | drivers/s390/net/qeth_tso.h | 2 |
5 files changed, 14 insertions, 13 deletions
diff --git a/drivers/net/bonding/bond_alb.c b/drivers/net/bonding/bond_alb.c index 8555afa574a4..b8cf777542fa 100644 --- a/drivers/net/bonding/bond_alb.c +++ b/drivers/net/bonding/bond_alb.c | |||
@@ -1304,8 +1304,8 @@ int bond_alb_xmit(struct sk_buff *skb, struct net_device *bond_dev) | |||
1304 | break; | 1304 | break; |
1305 | } | 1305 | } |
1306 | 1306 | ||
1307 | hash_start = (char*)&(skb->nh.ipv6h->daddr); | 1307 | hash_start = (char *)&(ipv6_hdr(skb)->daddr); |
1308 | hash_size = sizeof(skb->nh.ipv6h->daddr); | 1308 | hash_size = sizeof(ipv6_hdr(skb)->daddr); |
1309 | break; | 1309 | break; |
1310 | case ETH_P_IPX: | 1310 | case ETH_P_IPX: |
1311 | if (ipx_hdr(skb)->ipx_checksum != | 1311 | if (ipx_hdr(skb)->ipx_checksum != |
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index c324866c9789..a3d9986b4170 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c | |||
@@ -2899,13 +2899,11 @@ e1000_tso(struct e1000_adapter *adapter, struct e1000_tx_ring *tx_ring, | |||
2899 | cmd_length = E1000_TXD_CMD_IP; | 2899 | cmd_length = E1000_TXD_CMD_IP; |
2900 | ipcse = skb->h.raw - skb->data - 1; | 2900 | ipcse = skb->h.raw - skb->data - 1; |
2901 | } else if (skb->protocol == htons(ETH_P_IPV6)) { | 2901 | } else if (skb->protocol == htons(ETH_P_IPV6)) { |
2902 | skb->nh.ipv6h->payload_len = 0; | 2902 | ipv6_hdr(skb)->payload_len = 0; |
2903 | skb->h.th->check = | 2903 | skb->h.th->check = |
2904 | ~csum_ipv6_magic(&skb->nh.ipv6h->saddr, | 2904 | ~csum_ipv6_magic(&ipv6_hdr(skb)->saddr, |
2905 | &skb->nh.ipv6h->daddr, | 2905 | &ipv6_hdr(skb)->daddr, |
2906 | 0, | 2906 | 0, IPPROTO_TCP, 0); |
2907 | IPPROTO_TCP, | ||
2908 | 0); | ||
2909 | ipcse = 0; | 2907 | ipcse = 0; |
2910 | } | 2908 | } |
2911 | ipcss = skb_network_offset(skb); | 2909 | ipcss = skb_network_offset(skb); |
diff --git a/drivers/s390/net/qeth_eddp.c b/drivers/s390/net/qeth_eddp.c index 1574247abaa1..90da58b4e532 100644 --- a/drivers/s390/net/qeth_eddp.c +++ b/drivers/s390/net/qeth_eddp.c | |||
@@ -479,9 +479,11 @@ qeth_eddp_fill_context_tcp(struct qeth_eddp_context *ctx, | |||
479 | skb->h.raw, | 479 | skb->h.raw, |
480 | skb->h.th->doff * 4); | 480 | skb->h.th->doff * 4); |
481 | else | 481 | else |
482 | eddp = qeth_eddp_create_eddp_data(qhdr, (u8 *)skb->nh.ipv6h, | 482 | eddp = qeth_eddp_create_eddp_data(qhdr, |
483 | sizeof(struct ipv6hdr), | 483 | skb_network_header(skb), |
484 | (u8 *)skb->h.th, skb->h.th->doff*4); | 484 | sizeof(struct ipv6hdr), |
485 | skb->h.raw, | ||
486 | skb->h.th->doff * 4); | ||
485 | 487 | ||
486 | if (eddp == NULL) { | 488 | if (eddp == NULL) { |
487 | QETH_DBF_TEXT(trace, 2, "eddpfcnm"); | 489 | QETH_DBF_TEXT(trace, 2, "eddpfcnm"); |
diff --git a/drivers/s390/net/qeth_main.c b/drivers/s390/net/qeth_main.c index 8a07d548a05a..df7f279ec408 100644 --- a/drivers/s390/net/qeth_main.c +++ b/drivers/s390/net/qeth_main.c | |||
@@ -4053,7 +4053,8 @@ qeth_fill_header(struct qeth_card *card, struct qeth_hdr *hdr, | |||
4053 | skb->dst->neighbour->primary_key, 16); | 4053 | skb->dst->neighbour->primary_key, 16); |
4054 | } else { | 4054 | } else { |
4055 | /* fill in destination address used in ip header */ | 4055 | /* fill in destination address used in ip header */ |
4056 | memcpy(hdr->hdr.l3.dest_addr, &skb->nh.ipv6h->daddr, 16); | 4056 | memcpy(hdr->hdr.l3.dest_addr, |
4057 | &ipv6_hdr(skb)->daddr, 16); | ||
4057 | } | 4058 | } |
4058 | } else { /* passthrough */ | 4059 | } else { /* passthrough */ |
4059 | if((skb->dev->type == ARPHRD_IEEE802_TR) && | 4060 | if((skb->dev->type == ARPHRD_IEEE802_TR) && |
diff --git a/drivers/s390/net/qeth_tso.h b/drivers/s390/net/qeth_tso.h index 255cb2e9c796..4040bdd8c327 100644 --- a/drivers/s390/net/qeth_tso.h +++ b/drivers/s390/net/qeth_tso.h | |||
@@ -64,7 +64,7 @@ static inline void | |||
64 | qeth_tso_set_tcpip_header(struct qeth_card *card, struct sk_buff *skb) | 64 | qeth_tso_set_tcpip_header(struct qeth_card *card, struct sk_buff *skb) |
65 | { | 65 | { |
66 | struct iphdr *iph = ip_hdr(skb); | 66 | struct iphdr *iph = ip_hdr(skb); |
67 | struct ipv6hdr *ip6h = skb->nh.ipv6h; | 67 | struct ipv6hdr *ip6h = ipv6_hdr(skb); |
68 | struct tcphdr *tcph = skb->h.th; | 68 | struct tcphdr *tcph = skb->h.th; |
69 | 69 | ||
70 | tcph->check = 0; | 70 | tcph->check = 0; |