inet_lro: trivial endianness annotations
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
d9a19d200f
Коммит
9df7c98a0f
|
@ -52,14 +52,14 @@ struct net_lro_desc {
|
||||||
struct tcphdr *tcph;
|
struct tcphdr *tcph;
|
||||||
struct vlan_group *vgrp;
|
struct vlan_group *vgrp;
|
||||||
__wsum data_csum;
|
__wsum data_csum;
|
||||||
u32 tcp_rcv_tsecr;
|
__be32 tcp_rcv_tsecr;
|
||||||
u32 tcp_rcv_tsval;
|
__be32 tcp_rcv_tsval;
|
||||||
u32 tcp_ack;
|
u32 tcp_ack;
|
||||||
u32 tcp_next_seq;
|
u32 tcp_next_seq;
|
||||||
u32 skb_tot_frags_len;
|
u32 skb_tot_frags_len;
|
||||||
u16 ip_tot_len;
|
u16 ip_tot_len;
|
||||||
u16 tcp_saw_tstamp; /* timestamps enabled */
|
u16 tcp_saw_tstamp; /* timestamps enabled */
|
||||||
u16 tcp_window;
|
__be16 tcp_window;
|
||||||
u16 vlan_tag;
|
u16 vlan_tag;
|
||||||
int pkt_aggr_cnt; /* counts aggregated packets */
|
int pkt_aggr_cnt; /* counts aggregated packets */
|
||||||
int vlan_packet;
|
int vlan_packet;
|
||||||
|
|
|
@ -77,7 +77,7 @@ static int lro_tcp_ip_check(struct iphdr *iph, struct tcphdr *tcph,
|
||||||
|
|
||||||
/* check tcp options (only timestamp allowed) */
|
/* check tcp options (only timestamp allowed) */
|
||||||
if (tcph->doff == TCPH_LEN_W_TIMESTAMP) {
|
if (tcph->doff == TCPH_LEN_W_TIMESTAMP) {
|
||||||
u32 *topt = (u32 *)(tcph + 1);
|
__be32 *topt = (__be32 *)(tcph + 1);
|
||||||
|
|
||||||
if (*topt != htonl((TCPOPT_NOP << 24) | (TCPOPT_NOP << 16)
|
if (*topt != htonl((TCPOPT_NOP << 24) | (TCPOPT_NOP << 16)
|
||||||
| (TCPOPT_TIMESTAMP << 8)
|
| (TCPOPT_TIMESTAMP << 8)
|
||||||
|
@ -103,14 +103,14 @@ static void lro_update_tcp_ip_header(struct net_lro_desc *lro_desc)
|
||||||
{
|
{
|
||||||
struct iphdr *iph = lro_desc->iph;
|
struct iphdr *iph = lro_desc->iph;
|
||||||
struct tcphdr *tcph = lro_desc->tcph;
|
struct tcphdr *tcph = lro_desc->tcph;
|
||||||
u32 *p;
|
__be32 *p;
|
||||||
__wsum tcp_hdr_csum;
|
__wsum tcp_hdr_csum;
|
||||||
|
|
||||||
tcph->ack_seq = lro_desc->tcp_ack;
|
tcph->ack_seq = lro_desc->tcp_ack;
|
||||||
tcph->window = lro_desc->tcp_window;
|
tcph->window = lro_desc->tcp_window;
|
||||||
|
|
||||||
if (lro_desc->tcp_saw_tstamp) {
|
if (lro_desc->tcp_saw_tstamp) {
|
||||||
p = (u32 *)(tcph + 1);
|
p = (__be32 *)(tcph + 1);
|
||||||
*(p+2) = lro_desc->tcp_rcv_tsecr;
|
*(p+2) = lro_desc->tcp_rcv_tsecr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -150,7 +150,7 @@ static void lro_init_desc(struct net_lro_desc *lro_desc, struct sk_buff *skb,
|
||||||
u16 vlan_tag, struct vlan_group *vgrp)
|
u16 vlan_tag, struct vlan_group *vgrp)
|
||||||
{
|
{
|
||||||
int nr_frags;
|
int nr_frags;
|
||||||
u32 *ptr;
|
__be32 *ptr;
|
||||||
u32 tcp_data_len = TCP_PAYLOAD_LENGTH(iph, tcph);
|
u32 tcp_data_len = TCP_PAYLOAD_LENGTH(iph, tcph);
|
||||||
|
|
||||||
nr_frags = skb_shinfo(skb)->nr_frags;
|
nr_frags = skb_shinfo(skb)->nr_frags;
|
||||||
|
@ -166,7 +166,7 @@ static void lro_init_desc(struct net_lro_desc *lro_desc, struct sk_buff *skb,
|
||||||
lro_desc->ip_tot_len = ntohs(iph->tot_len);
|
lro_desc->ip_tot_len = ntohs(iph->tot_len);
|
||||||
|
|
||||||
if (tcph->doff == 8) {
|
if (tcph->doff == 8) {
|
||||||
ptr = (u32 *)(tcph+1);
|
ptr = (__be32 *)(tcph+1);
|
||||||
lro_desc->tcp_saw_tstamp = 1;
|
lro_desc->tcp_saw_tstamp = 1;
|
||||||
lro_desc->tcp_rcv_tsval = *(ptr+1);
|
lro_desc->tcp_rcv_tsval = *(ptr+1);
|
||||||
lro_desc->tcp_rcv_tsecr = *(ptr+2);
|
lro_desc->tcp_rcv_tsecr = *(ptr+2);
|
||||||
|
@ -190,7 +190,7 @@ static void lro_add_common(struct net_lro_desc *lro_desc, struct iphdr *iph,
|
||||||
struct tcphdr *tcph, int tcp_data_len)
|
struct tcphdr *tcph, int tcp_data_len)
|
||||||
{
|
{
|
||||||
struct sk_buff *parent = lro_desc->parent;
|
struct sk_buff *parent = lro_desc->parent;
|
||||||
u32 *topt;
|
__be32 *topt;
|
||||||
|
|
||||||
lro_desc->pkt_aggr_cnt++;
|
lro_desc->pkt_aggr_cnt++;
|
||||||
lro_desc->ip_tot_len += tcp_data_len;
|
lro_desc->ip_tot_len += tcp_data_len;
|
||||||
|
@ -200,7 +200,7 @@ static void lro_add_common(struct net_lro_desc *lro_desc, struct iphdr *iph,
|
||||||
|
|
||||||
/* don't update tcp_rcv_tsval, would not work with PAWS */
|
/* don't update tcp_rcv_tsval, would not work with PAWS */
|
||||||
if (lro_desc->tcp_saw_tstamp) {
|
if (lro_desc->tcp_saw_tstamp) {
|
||||||
topt = (u32 *) (tcph + 1);
|
topt = (__be32 *) (tcph + 1);
|
||||||
lro_desc->tcp_rcv_tsecr = *(topt + 2);
|
lro_desc->tcp_rcv_tsecr = *(topt + 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче