From: Luis Henriques <hidden> Date: 2016-02-07 17:39:49
Several network-related data structures are defined in gelic_udbg.
These could be easily dropped and the standard ones defined in network
headers could be used instead.
The 4 patches that follow replace ethernet, vlan, ip and udp
structures in gelic_udbg. Note that this has been compile-tested
only.
Luis Henriques (4):
powerpc/ps3: gelic_udbg: use struct ethhdr from <linux/if_ether.h>
powerpc/ps3: gelic_udbg: use struct vlan_hdr from <linux/if_vlan.h>
powerpc/ps3: gelic_udbg: use struct iphdr from <linux/ip.h>
powerpc/ps3: gelic_udbg: use struct udphdr from <linux/udp.h>
arch/powerpc/platforms/ps3/gelic_udbg.c | 71 +++++++++++----------------------
1 file changed, 23 insertions(+), 48 deletions(-)
From: Luis Henriques <hidden> Date: 2016-02-07 17:39:19
Instead of defining a local version of struct udphdr use the standard
definition from <linux/udp.h>.
The 'src' field is named 'source' in the <linux/udp.h> definition.
Signed-off-by: Luis Henriques <redacted>
---
arch/powerpc/platforms/ps3/gelic_udbg.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
From: Luis Henriques <hidden> Date: 2016-02-07 17:39:42
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 <redacted>
---
arch/powerpc/platforms/ps3/gelic_udbg.c | 29 +++++++++--------------------
1 file changed, 9 insertions(+), 20 deletions(-)
From: Luis Henriques <hidden> Date: 2016-02-07 17:39:44
Instead of defining a local version of struct ethhdr use the standard
definition from <linux/if_ether.h>.
The fields in the <linux/if_ether.h> definition have different names:
- dest -> h_dest
- src -> h_source
- type -> h_proto
Signed-off-by: Luis Henriques <redacted>
---
arch/powerpc/platforms/ps3/gelic_udbg.c | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)
From: Luis Henriques <hidden> Date: 2016-02-07 17:39:48
Instead of defining the local struct vlantag use the standard definition
of vlan_hdr from <linux/if_vlan.h>.
The fields in the <linux/if_vlan.h> definition have different names:
- vlan -> h_vlan_TCI
- subtype -> h_vlan_encapsulated_proto
Signed-off-by: Luis Henriques <redacted>
---
arch/powerpc/platforms/ps3/gelic_udbg.c | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)
On Sun, Feb 7, 2016 at 6:38 PM, Luis Henriques
[off-list ref] wrote:
Several network-related data structures are defined in gelic_udbg.
These could be easily dropped and the standard ones defined in network
headers could be used instead.
The 4 patches that follow replace ethernet, vlan, ip and udp
structures in gelic_udbg. Note that this has been compile-tested
only.
A few of these were declared __packed in the gelic driver, while that
attribute isn't used for the standard definitions.
It probably doesn't make a difference, as there are no gaps in the structures
when unpacked, unless pointers to the structures themselves are unaligned.
Luis Henriques (4):
powerpc/ps3: gelic_udbg: use struct ethhdr from <linux/if_ether.h>
powerpc/ps3: gelic_udbg: use struct vlan_hdr from <linux/if_vlan.h>
powerpc/ps3: gelic_udbg: use struct iphdr from <linux/ip.h>
powerpc/ps3: gelic_udbg: use struct udphdr from <linux/udp.h>
arch/powerpc/platforms/ps3/gelic_udbg.c | 71 +++++++++++----------------------
1 file changed, 23 insertions(+), 48 deletions(-)
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
Great, I'll send out v2 that will include most of these comments. The
one I'll leave out is the usage of ether_addr_copy.
Thanks a lot for your comments.
Cheers,
--
Luís
From: Luis Henriques <hidden> Date: 2016-02-08 22:11:15
On Mon, Feb 08, 2016 at 09:31:21AM +0100, Geert Uytterhoeven wrote:
On Sun, Feb 7, 2016 at 6:38 PM, Luis Henriques
[off-list ref] wrote:
quoted
Several network-related data structures are defined in gelic_udbg.
These could be easily dropped and the standard ones defined in network
headers could be used instead.
The 4 patches that follow replace ethernet, vlan, ip and udp
structures in gelic_udbg. Note that this has been compile-tested
only.
A few of these were declared __packed in the gelic driver, while that
attribute isn't used for the standard definitions.
It probably doesn't make a difference, as there are no gaps in the structures
when unpacked, unless pointers to the structures themselves are unaligned.
Thank you for your comments, Geert. I had noticed those differences,
but the quick code review I did didn't show any issues with that could
be triggered by this change. But as I referred, I only compile-tested
this code and didn't actually executed it in the real hw.
Cheers,
--
Luís
quoted
Luis Henriques (4):
powerpc/ps3: gelic_udbg: use struct ethhdr from <linux/if_ether.h>
powerpc/ps3: gelic_udbg: use struct vlan_hdr from <linux/if_vlan.h>
powerpc/ps3: gelic_udbg: use struct iphdr from <linux/ip.h>
powerpc/ps3: gelic_udbg: use struct udphdr from <linux/udp.h>
arch/powerpc/platforms/ps3/gelic_udbg.c | 71 +++++++++++----------------------
1 file changed, 23 insertions(+), 48 deletions(-)
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds