[ovs-dev] [PATCH ovn 0/7] northd: Introduce incremental processing framework

Mark Gray mark.d.gray at redhat.com
Mon Oct 18 10:03:45 UTC 2021


On 16/10/2021 02:21, Han Zhou wrote:
> On Wed, Sep 29, 2021 at 10:23 AM Mark Gray <mark.d.gray at redhat.com> wrote:
>>
>> Add the 'inc-proc-eng' framework to northd. This does *not*
>> add any incremental processing at this stage but provides the
>> framework to do so. Even in this base configuration, we see an
>> advantage as northd no longer processes the databases if it has
>> been woken only to handle, for example, a unixctl command. This
>> can be seen below
>>
>> $ ovn-appctl -t ovn-northd stopwatch/reset
>> $ for i in {1..10}; do ovn-appctl -t ovn-northd stopwatch/show
>> /dev/null; done
>> $ ovn-appctl -t ovn-northd stopwatch/show ovnnb_db_run
>> Statistics for 'ovnnb_db_run'
>>   Total samples: 0
>>   Maximum: 0 msec
>>   Minimum: 0 msec
>>   95th percentile: 0.000000 msec
>>   Short term average: 0.000000 msec
>>   Long term average: 0.000000 msec
>>
>> Hopefully this starting point will allow others to discuss or contribute
>> changes to incrementally process some aspects of northd. We an also
>> decide if it is worth progressing with this in general.
>>
>> Thanks,
>>
>> Mark Gray (7):
>>   inc-proc-eng: Allow definition of engine_node with global scope
>>   northd: Introduce incremental processing for northd
>>   northd: Add n_nat_entries field to 'struct ovn_datapath'
>>   northd: Rename struct northd_context
> 
> Hi Mark,
> 
> Sorry for the slow response, but I encountered a problem when applying the
> series at the 4th patch:
> 
> Applying: northd: Rename struct northd_context
> error: sha1 information is lacking or useless (northd/northd.c).
> error: could not build fake ancestor
> 
> Could you check on your side if it applies cleanly on the current main
> branch?
> 

Hi Han,

It did need a rebase but I don't think that is the cause of your error.
Your error looks like the patches were being applied before ovn-northd.c
was renamed to northd.c? Regardless, I did the rebase and tested. The
new version can be found at
https://patchwork.ozlabs.org/project/ovn/list/?series=267610 :

$ git log --format=oneline -1
3a597e03cd411e8316b68e13f88f1b097ad82ba0 (HEAD -> main, upstream/main)
controller: do not mark bfd and ipv6_pd msgs as local-only

$ git checkout -b test
Switched to a new branch 'test'

$ git-pw series apply 267610
Server version missing
You should provide the server version in the URL configured via
git-config or --server
This will be required in git-pw 2.0
Applying: inc-proc-eng: Allow definition of engine_node with global scope
Applying: northd: Introduce incremental processing for northd
Applying: northd: Add n_nat_entries field to 'struct ovn_datapath'
Applying: northd: Rename struct northd_context
Applying: northd: Introduce struct northd_data
Applying: northd: Add lflow node
Applying: en_lflow: Generate logical flows


> Thanks,
> Han
> 
>>   northd: Introduce struct northd_data
>>   northd: Add lflow node
>>   en_lflow: Generate logical flows
>>
>>  controller/ovn-controller.c |   2 +-
>>  lib/inc-proc-eng.h          |  24 ++-
>>  northd/automake.mk          |   6 +
>>  northd/en-lflow.c           |  54 ++++++
>>  northd/en-lflow.h           |  16 ++
>>  northd/en-northd.c          |  65 +++++++
>>  northd/en-northd.h          |  21 +++
>>  northd/inc-proc-northd.c    | 257 ++++++++++++++++++++++++++
>>  northd/inc-proc-northd.h    |  15 ++
>>  northd/northd.c             | 358 +++++++++++++++++++-----------------
>>  northd/northd.h             |  36 +++-
>>  northd/ovn-northd.c         | 237 ++++++++++++++----------
>>  12 files changed, 807 insertions(+), 284 deletions(-)
>>  create mode 100644 northd/en-lflow.c
>>  create mode 100644 northd/en-lflow.h
>>  create mode 100644 northd/en-northd.c
>>  create mode 100644 northd/en-northd.h
>>  create mode 100644 northd/inc-proc-northd.c
>>  create mode 100644 northd/inc-proc-northd.h
>>
>> --
>> 2.27.0
>>
>>
> 



More information about the dev mailing list