diff options
author | Paul Martin <paul.martin@codethink.co.uk> | 2015-02-11 11:50:28 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2015-02-11 12:57:17 +0100 |
commit | 804319344bb9cab47532a9584f3e4383d53ea880 (patch) | |
tree | a193c77616368f3f45ee5aaa0f6bcc02ffd916cc /src/libsystemd-network/dhcp-internal.h | |
parent | b975b0d514321f169b3c4599a8ea92e13741b4e4 (diff) |
networkd DHCPv4 logging endian fix
On Tue, Feb 10, 2015 at 08:10:43PM +0100, Lennart Poettering wrote:
> Hmm, I think it would be nicer to use be32toh() here instead, since it
> ensures the macro is (to a limited degree) typesafe.
>
> Any chance you could rework that?
From: Paul Martin <paul.martin@codethink.co.uk>
Date: Wed, 11 Feb 2015 11:47:16 +0000
Subject: [PATCH] networkd dhcpv4 logging endian fix
On a big-endian host, systemd-networkd prints out IPv4 network
addresses byte reversed:
Feb 10 16:43:32 hostname systemd-networkd[151]: eth0 : DHCPv4 address 158.1.24.10/16 via 1.1.24.10
The address obtained is 10.24.1.158/16 and the route is
10.24.0.0/16 dev eth0 src 10.24.1.187
The macro ADDRESS_FMT_VAL() unpacks a "struct in_addr" in a
little-endian specific manner.
This patch forces the passed address into host order, then unpacks it.
On an x86 later than i486, compiled with -O2, the only extra overhead
is a single bswap instruction.
Diffstat (limited to 'src/libsystemd-network/dhcp-internal.h')
0 files changed, 0 insertions, 0 deletions