[Qemu-devel] [PATCH] linux-user: add new netlink types

Laurent Vivier posted 1 patch 6 years, 8 months ago
Test asan failed
Test docker-mingw@fedora passed
Test docker-clang@ubuntu passed
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20190306200925.17605-1-laurent@vivier.eu
Maintainers: Riku Voipio <riku.voipio@iki.fi>, Laurent Vivier <laurent@vivier.eu>
linux-user/fd-trans.c | 9 +++++++++
1 file changed, 9 insertions(+)
[Qemu-devel] [PATCH] linux-user: add new netlink types
Posted by Laurent Vivier 6 years, 8 months ago
Add QEMU_IFLA_BR_VLAN_STATS_PER_PORT (from linux v4.20),
    QEMU_IFLA_BR_MULTI_BOOLOPT (from linux v5.0).

The first new entry fixes the following error:

  Unknown QEMU_IFLA_BR type 45

Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
 linux-user/fd-trans.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/linux-user/fd-trans.c b/linux-user/fd-trans.c
index 30425c9df6bc..612819c1b1ec 100644
--- a/linux-user/fd-trans.c
+++ b/linux-user/fd-trans.c
@@ -75,6 +75,8 @@ enum {
     QEMU_IFLA_BR_MCAST_STATS_ENABLED,
     QEMU_IFLA_BR_MCAST_IGMP_VERSION,
     QEMU_IFLA_BR_MCAST_MLD_VERSION,
+    QEMU_IFLA_BR_VLAN_STATS_PER_PORT,
+    QEMU_IFLA_BR_MULTI_BOOLOPT,
     QEMU___IFLA_BR_MAX,
 };
 
@@ -438,6 +440,7 @@ static abi_long host_to_target_data_bridge_nlattr(struct nlattr *nlattr,
     case QEMU_IFLA_BR_MCAST_STATS_ENABLED:
     case QEMU_IFLA_BR_MCAST_IGMP_VERSION:
     case QEMU_IFLA_BR_MCAST_MLD_VERSION:
+    case QEMU_IFLA_BR_VLAN_STATS_PER_PORT:
         break;
     /* uint16_t */
     case QEMU_IFLA_BR_PRIORITY:
@@ -543,6 +546,12 @@ static abi_long host_to_target_slave_data_bridge_nlattr(struct nlattr *nlattr,
     case QEMU_IFLA_BRPORT_ROOT_ID:
     case QEMU_IFLA_BRPORT_BRIDGE_ID:
         break;
+    /* br_boolopt_multi { uint32_t, uint32_t } */
+    case QEMU_IFLA_BR_MULTI_BOOLOPT:
+        u32 = NLA_DATA(nlattr);
+        u32[0] = tswap32(u32[0]); /* optval */
+        u32[1] = tswap32(u32[1]); /* optmask */
+        break;
     default:
         gemu_log("Unknown QEMU_IFLA_BRPORT type %d\n", nlattr->nla_type);
         break;
-- 
2.20.1


Re: [Qemu-devel] [PATCH] linux-user: add new netlink types
Posted by Philippe Mathieu-Daudé 6 years, 8 months ago
On 3/6/19 9:09 PM, Laurent Vivier wrote:
> Add QEMU_IFLA_BR_VLAN_STATS_PER_PORT (from linux v4.20),
>     QEMU_IFLA_BR_MULTI_BOOLOPT (from linux v5.0).
> 
> The first new entry fixes the following error:
> 
>   Unknown QEMU_IFLA_BR type 45
> 
> Signed-off-by: Laurent Vivier <laurent@vivier.eu>

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

> ---
>  linux-user/fd-trans.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/linux-user/fd-trans.c b/linux-user/fd-trans.c
> index 30425c9df6bc..612819c1b1ec 100644
> --- a/linux-user/fd-trans.c
> +++ b/linux-user/fd-trans.c
> @@ -75,6 +75,8 @@ enum {
>      QEMU_IFLA_BR_MCAST_STATS_ENABLED,
>      QEMU_IFLA_BR_MCAST_IGMP_VERSION,
>      QEMU_IFLA_BR_MCAST_MLD_VERSION,
> +    QEMU_IFLA_BR_VLAN_STATS_PER_PORT,
> +    QEMU_IFLA_BR_MULTI_BOOLOPT,
>      QEMU___IFLA_BR_MAX,
>  };
>  
> @@ -438,6 +440,7 @@ static abi_long host_to_target_data_bridge_nlattr(struct nlattr *nlattr,
>      case QEMU_IFLA_BR_MCAST_STATS_ENABLED:
>      case QEMU_IFLA_BR_MCAST_IGMP_VERSION:
>      case QEMU_IFLA_BR_MCAST_MLD_VERSION:
> +    case QEMU_IFLA_BR_VLAN_STATS_PER_PORT:
>          break;
>      /* uint16_t */
>      case QEMU_IFLA_BR_PRIORITY:
> @@ -543,6 +546,12 @@ static abi_long host_to_target_slave_data_bridge_nlattr(struct nlattr *nlattr,
>      case QEMU_IFLA_BRPORT_ROOT_ID:
>      case QEMU_IFLA_BRPORT_BRIDGE_ID:
>          break;
> +    /* br_boolopt_multi { uint32_t, uint32_t } */
> +    case QEMU_IFLA_BR_MULTI_BOOLOPT:
> +        u32 = NLA_DATA(nlattr);
> +        u32[0] = tswap32(u32[0]); /* optval */
> +        u32[1] = tswap32(u32[1]); /* optmask */
> +        break;
>      default:
>          gemu_log("Unknown QEMU_IFLA_BRPORT type %d\n", nlattr->nla_type);
>          break;
>