Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1329652
| From | Luis Henriques <luis.henriques@canonical.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH v2 3/4] powerpc/ps3: gelic_udbg: use struct iphdr from <linux/ip.h> |
| Date | 2016-02-08 23:30 +0100 |
| Message-ID | <r02tK-33a-53@gated-at.bofh.it> (permalink) |
| References | <r02tJ-33a-21@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Instead of defining a local version of struct iphdr use the standard
definition from <linux/ip.h>.
Several fields in the <linux/ip.h> definition have different names:
- proto -> protocol
- src -> saddr
- dest -> daddr
- total_length -> tot_len
- checksum -> check
Also, 'ver_len' is composed by 'version' and 'ihl' in <linux/ip.h>.
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
arch/powerpc/platforms/ps3/gelic_udbg.c | 29 +++++++++--------------------
1 file changed, 9 insertions(+), 20 deletions(-)
diff --git a/arch/powerpc/platforms/ps3/gelic_udbg.c b/arch/powerpc/platforms/ps3/gelic_udbg.c
index bbf9c9904caf..d69f33dcc64b 100644
--- a/arch/powerpc/platforms/ps3/gelic_udbg.c
+++ b/arch/powerpc/platforms/ps3/gelic_udbg.c
@@ -16,6 +16,7 @@
#include <linux/if_ether.h>
#include <linux/etherdevice.h>
#include <linux/if_vlan.h>
+#include <linux/ip.h>
#include <asm/io.h>
#include <asm/udbg.h>
@@ -60,19 +61,6 @@ struct debug_block {
u8 pkt[1520];
} __packed;
-struct iphdr {
- u8 ver_len;
- u8 dscp_ecn;
- u16 total_length;
- u16 ident;
- u16 frag_off_flags;
- u8 ttl;
- u8 proto;
- u16 checksum;
- u32 src;
- u32 dest;
-} __packed;
-
struct udphdr {
u16 src;
u16 dest;
@@ -189,11 +177,12 @@ static void gelic_debug_init(void)
}
header_size += sizeof(struct iphdr);
- h_ip->ver_len = 0x45;
+ h_ip->version = 4;
+ h_ip->ihl = 5;
h_ip->ttl = 10;
- h_ip->proto = 0x11;
- h_ip->src = 0x00000000;
- h_ip->dest = 0xffffffff;
+ h_ip->protocol = 0x11;
+ h_ip->saddr = 0x00000000;
+ h_ip->daddr = 0xffffffff;
header_size += sizeof(struct udphdr);
h_udp = (struct udphdr *)(h_ip + 1);
@@ -218,16 +207,16 @@ static void gelic_sendbuf(int msgsize)
int i;
dbg.descr.buf_size = header_size + msgsize;
- h_ip->total_length = msgsize + sizeof(struct udphdr) +
+ h_ip->tot_len = msgsize + sizeof(struct udphdr) +
sizeof(struct iphdr);
h_udp->len = msgsize + sizeof(struct udphdr);
- h_ip->checksum = 0;
+ h_ip->check = 0;
sum = 0;
p = (u16 *)h_ip;
for (i = 0; i < 5; i++)
sum += *p++;
- h_ip->checksum = ~(sum + (sum >> 16));
+ h_ip->check = ~(sum + (sum >> 16));
dbg.descr.dmac_cmd_status = GELIC_DESCR_DMA_CMD_NO_CHKSUM |
GELIC_DESCR_TX_DMA_FRAME_TAIL;
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH v2 0/4] powerpc/ps3: gelic_udbg: drop local versions of network data structs Luis Henriques <luis.henriques@canonical.com> - 2016-02-08 23:30 +0100 [PATCH v2 2/4] powerpc/ps3: gelic_udbg: use struct vlan_hdr from <linux/if_vlan.h> Luis Henriques <luis.henriques@canonical.com> - 2016-02-08 23:30 +0100 [PATCH v2 4/4] powerpc/ps3: gelic_udbg: use struct udphdr from <linux/udp.h> Luis Henriques <luis.henriques@canonical.com> - 2016-02-08 23:30 +0100 [PATCH v2 1/4] powerpc/ps3: gelic_udbg: use struct ethhdr from <linux/if_ether.h> Luis Henriques <luis.henriques@canonical.com> - 2016-02-08 23:30 +0100 [PATCH v2 3/4] powerpc/ps3: gelic_udbg: use struct iphdr from <linux/ip.h> Luis Henriques <luis.henriques@canonical.com> - 2016-02-08 23:30 +0100 Re: [PATCH v2 0/4] powerpc/ps3: gelic_udbg: drop local versions of network data structs Michael Ellerman <mpe@ellerman.id.au> - 2016-02-09 04:00 +0100
csiph-web