Skip to content

Commit 5f01c60

Browse files
committed
linux-user: netlink: Add missing IFA_PROTO to host_to_target_data_addr_rtattr()
Fix this warning: Unknown host IFA type: 11 While adding IFA_PROTO, convert all IFA_XXX values over to QEMU_IFA_XXX values to avoid a build failure on Ubuntu 22.04 (kernel v5.18 which does not know IFA_PROTO yet). Signed-off-by: Helge Deller <deller@gmx.de> Reviewed-by: Laurent Vivier <laurent@vivier.eu>
1 parent 0e3aff9 commit 5f01c60

File tree

1 file changed

+25
-8
lines changed

1 file changed

+25
-8
lines changed

linux-user/fd-trans.c

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,22 @@
3131
#include "fd-trans.h"
3232
#include "signal-common.h"
3333

34+
enum {
35+
QEMU_IFA_UNSPEC,
36+
QEMU_IFA_ADDRESS,
37+
QEMU_IFA_LOCAL,
38+
QEMU_IFA_LABEL,
39+
QEMU_IFA_BROADCAST,
40+
QEMU_IFA_ANYCAST,
41+
QEMU_IFA_CACHEINFO,
42+
QEMU_IFA_MULTICAST,
43+
QEMU_IFA_FLAGS,
44+
QEMU_IFA_RT_PRIORITY,
45+
QEMU_IFA_TARGET_NETNSID,
46+
QEMU_IFA_PROTO,
47+
QEMU__IFA__MAX,
48+
};
49+
3450
enum {
3551
QEMU_IFLA_BR_UNSPEC,
3652
QEMU_IFLA_BR_FORWARD_DELAY,
@@ -1138,20 +1154,21 @@ static abi_long host_to_target_data_addr_rtattr(struct rtattr *rtattr)
11381154

11391155
switch (rtattr->rta_type) {
11401156
/* binary: depends on family type */
1141-
case IFA_ADDRESS:
1142-
case IFA_LOCAL:
1157+
case QEMU_IFA_ADDRESS:
1158+
case QEMU_IFA_LOCAL:
1159+
case QEMU_IFA_PROTO:
11431160
break;
11441161
/* string */
1145-
case IFA_LABEL:
1162+
case QEMU_IFA_LABEL:
11461163
break;
11471164
/* u32 */
1148-
case IFA_FLAGS:
1149-
case IFA_BROADCAST:
1165+
case QEMU_IFA_FLAGS:
1166+
case QEMU_IFA_BROADCAST:
11501167
u32 = RTA_DATA(rtattr);
11511168
*u32 = tswap32(*u32);
11521169
break;
11531170
/* struct ifa_cacheinfo */
1154-
case IFA_CACHEINFO:
1171+
case QEMU_IFA_CACHEINFO:
11551172
ci = RTA_DATA(rtattr);
11561173
ci->ifa_prefered = tswap32(ci->ifa_prefered);
11571174
ci->ifa_valid = tswap32(ci->ifa_valid);
@@ -1398,8 +1415,8 @@ static abi_long target_to_host_data_addr_rtattr(struct rtattr *rtattr)
13981415
{
13991416
switch (rtattr->rta_type) {
14001417
/* binary: depends on family type */
1401-
case IFA_LOCAL:
1402-
case IFA_ADDRESS:
1418+
case QEMU_IFA_LOCAL:
1419+
case QEMU_IFA_ADDRESS:
14031420
break;
14041421
default:
14051422
qemu_log_mask(LOG_UNIMP, "Unknown target IFA type: %d\n",

0 commit comments

Comments
 (0)