qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH COLO-Frame v16 32/35] net: Add notifier/callback


From: Jason Wang
Subject: Re: [Qemu-devel] [PATCH COLO-Frame v16 32/35] net: Add notifier/callback for netdev init
Date: Tue, 26 Apr 2016 14:59:18 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0


On 04/21/2016 08:30 AM, Hailiang Zhang wrote:
> ping ... ?
>
> Hi Jason,
>
> Any comments on the net parts ?

Looks good overall, just few nits.

Thanks

>
> Thanks,
> Hailiang
>
> On 2016/4/8 14:26, zhanghailiang wrote:
>> We can register some callback for this notifier,
>> this will be used by COLO to register a callback which
>> will add each netdev a buffer filter.
>>
>> Signed-off-by: zhanghailiang <address@hidden>
>> Cc: Jason Wang <address@hidden>
>> Cc: Yang Hongyang <address@hidden>
>> ---
>> v16:
>> - Simplify the codes by using some helpers in QEMU
>> v14:
>> - New patch
>> ---
>>   include/net/net.h |  3 +++
>>   net/net.c         | 12 ++++++++++++
>>   2 files changed, 15 insertions(+)
>>
>> diff --git a/include/net/net.h b/include/net/net.h
>> index 73e4c46..d8abe7a 100644
>> --- a/include/net/net.h
>> +++ b/include/net/net.h
>> @@ -8,6 +8,7 @@
>>   #include "net/queue.h"
>>   #include "migration/vmstate.h"
>>   #include "qapi-types.h"
>> +#include "qemu/notify.h"
>>
>>   #define MAX_QUEUE_NUM 1024
>>
>> @@ -176,6 +177,8 @@ struct NICInfo {
>>       int nvectors;
>>   };
>>
>> +void netdev_init_add_notifier(Notifier *notify);
>> +
>>   extern int nb_nics;
>>   extern NICInfo nd_table[MAX_NICS];
>>   extern int default_net;
>> diff --git a/net/net.c b/net/net.c
>> index 0ad6217..6d846f4 100644
>> --- a/net/net.c
>> +++ b/net/net.c
>> @@ -56,6 +56,9 @@
>>   static VMChangeStateEntry *net_change_state_entry;
>>   static QTAILQ_HEAD(, NetClientState) net_clients;
>>
>> +static NotifierList netdev_init_notifiers =
>> +    NOTIFIER_LIST_INITIALIZER(netdev_init_notifiers);
>> +
>>   const char *host_net_devices[] = {
>>       "tap",
>>       "socket",
>> @@ -931,6 +934,10 @@ static int net_init_nic(const NetClientOptions
>> *opts, const char *name,
>>       return idx;
>>   }
>>
>> +void netdev_init_add_notifier(Notifier *notify)
>> +{
>> +    notifier_list_add(&netdev_init_notifiers, notify);
>> +}
>>
>>   static int (* const
>> net_client_init_fun[NET_CLIENT_OPTIONS_KIND__MAX])(
>>       const NetClientOptions *opts,
>> @@ -1017,6 +1024,11 @@ static int net_client_init1(const void
>> *object, int is_netdev, Error **errp)
>>           }
>>           return -1;
>>       }
>> +    if (is_netdev) {
>> +        const Netdev *netdev = object;
>> +
>> +        notifier_list_notify(&netdev_init_notifiers, netdev->id);
>> +    }
>>       return 0;
>>   }
>>
>>
>
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]