diff mbox series

linux-user: add new netlink types

Message ID 20190306200925.17605-1-laurent@vivier.eu
State New
Headers show
Series linux-user: add new netlink types | expand

Commit Message

Laurent Vivier March 6, 2019, 8:09 p.m. UTC
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(+)

Comments

Philippe Mathieu-Daudé March 7, 2019, 1:13 a.m. UTC | #1
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;
>
diff mbox series

Patch

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;