Re: [ovs-dev] [PATCH ovn v15] Implement RARP activation strategy for ports

2022-06-14 Thread Ihar Hrachyshka
On Tue, Jun 14, 2022 at 1:08 AM Han Zhou wrote: > > > > On Mon, Jun 13, 2022 at 6:07 PM Ihar Hrachyshka wrote: > > > > On Mon, Jun 13, 2022 at 6:30 PM Han Zhou wrote: > > > > > > > > > > > > On Mon, Jun 13, 2022 at 11:41 AM Ihar Hrach

[ovs-dev] [PATCH ovn v16] Implement RARP activation strategy for ports

2022-06-13 Thread Ihar Hrachyshka
s options:additional-chassis-activated in southbound db. This feature is useful in live migration scenarios where it's not advisable to unlock the destination port location prematurily to avoid duplicate packets originating from the port. Acked-by: Han Zhou Signed-off-by: Ihar Hrachyshka

Re: [ovs-dev] [PATCH ovn v15] Implement RARP activation strategy for ports

2022-06-13 Thread Ihar Hrachyshka
On Mon, Jun 13, 2022 at 6:30 PM Han Zhou wrote: > > > > On Mon, Jun 13, 2022 at 11:41 AM Ihar Hrachyshka wrote: > > > > When options:activation-strategy is set to "rarp" for LSP, when used in > > combination with multiple chassis names listed in > >

Re: [ovs-dev] [PATCH ovn v2] Fix pidfile_is_running when $cmd is not passed

2022-06-13 Thread Ihar Hrachyshka
FYI checked that with -fake-multinode. Also checked that if I modify start_northd to pass $cmd (as ovsdb-server), it also correctly matches it (and failing when $cmd is anything different). On Mon, Jun 13, 2022 at 8:45 PM Ihar Hrachyshka wrote: > > [ -z $string ] needs double quotes to

Re: [ovs-dev] [PATCH ovn 2/2] ovn-ctl: [ -s $file ] implies [ -e $file ]

2022-06-13 Thread Ihar Hrachyshka
, 2022 at 3:00 PM Ihar Hrachyshka wrote: > > > > Signed-off-by: Ihar Hrachyshka > > With this patch I also applied, I see the below error > > /usr/share/ovn/scripts/ovn-ctl: line 53: test: syntax error: `-s' unexpected > > I think it should be - test -s &qu

[ovs-dev] [PATCH ovn v2] Fix pidfile_is_running when $cmd is not passed

2022-06-13 Thread Ihar Hrachyshka
-used pids in pidfile_is_running") Signed-off-by: Ihar Hrachyshka --- v2: fixed several syntax errors. v2: converted from one liner to a sequence of if-then checks. v2: squashed with a patch that removes redundant [ -e $file ] check. v1: initial version --- utilities/ovn-ctl | 16 ++

Re: [ovs-dev] [PATCH ovn v14] Implement RARP activation strategy for ports

2022-06-13 Thread Ihar Hrachyshka
On Mon, Jun 13, 2022 at 3:17 PM Han Zhou wrote: > > > > On Mon, Jun 13, 2022 at 11:40 AM Ihar Hrachyshka wrote: > > > > On Thu, Jun 9, 2022 at 3:01 AM Han Zhou wrote: > > > > > > > > > > > > On Tue, Jun 7, 2022 at 7:06 PM Ihar Hrach

Re: [ovs-dev] [PATCH v5 ovn 1/2] Handle re-used pids in pidfile_is_running

2022-06-13 Thread Ihar Hrachyshka
Ouch. I believe this should do: https://patchwork.ozlabs.org/project/ovn/patch/20220613185922.2700748-1-ihrac...@redhat.com/ Ihar On Mon, Jun 13, 2022 at 1:47 PM Numan Siddique wrote: > > On Thu, Jun 9, 2022 at 2:47 PM Mark Michelson wrote: > > > > I added Ihar's Ack and my Ack to both patches

[ovs-dev] [PATCH ovn 2/2] ovn-ctl: [ -s $file ] implies [ -e $file ]

2022-06-13 Thread Ihar Hrachyshka
Signed-off-by: Ihar Hrachyshka --- utilities/ovn-ctl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utilities/ovn-ctl b/utilities/ovn-ctl index 46cbac4c2..5d74b48ed 100755 --- a/utilities/ovn-ctl +++ b/utilities/ovn-ctl @@ -43,7 +43,7 @@ ovn_ic_db_conf_file="$ovn_etcdi

[ovs-dev] [PATCH ovn 1/2] Fix pidfile_is_running when $cmd is not passed

2022-06-13 Thread Ihar Hrachyshka
[ -z $string ] needs double quotes to handle zero-length strings properly. Fixes: 09dc4866fd32 ("Handle re-used pids in pidfile_is_running") Signed-off-by: Ihar Hrachyshka --- utilities/ovn-ctl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utilities/ovn-ctl b/uti

[ovs-dev] [PATCH ovn v15] Implement RARP activation strategy for ports

2022-06-13 Thread Ihar Hrachyshka
s options:additional-chassis-activated in southbound db. This feature is useful in live migration scenarios where it's not advisable to unlock the destination port location prematurily to avoid duplicate packets originating from the port. Signed-off-by: Ihar Hrachyshka --- v15: remove r

Re: [ovs-dev] [PATCH ovn v14] Implement RARP activation strategy for ports

2022-06-13 Thread Ihar Hrachyshka
On Thu, Jun 9, 2022 at 3:01 AM Han Zhou wrote: > > > > On Tue, Jun 7, 2022 at 7:06 PM Ihar Hrachyshka wrote: > > > > When options:activation-strategy is set to "rarp" for LSP, when used in > > combination with multiple chassis names listed in > >

Re: [ovs-dev] [PATCH ovn v14] Implement RARP activation strategy for ports

2022-06-08 Thread Ihar Hrachyshka
to avoid unnecessary I-P pflow node activation. v14: fixed a bug in _run handler for activated_ports where it marked as UNCHANGED when activated_ports list was not empty. On Tue, Jun 7, 2022 at 10:06 PM Ihar Hrachyshka wrote: > > When options:activation-strategy is set to "rarp" fo

Re: [ovs-dev] [PATCH v13 ovn] Implement RARP activation strategy for ports

2022-06-07 Thread Ihar Hrachyshka
On Mon, Jun 6, 2022 at 3:48 AM Han Zhou wrote: > > > > On Fri, Jun 3, 2022 at 1:20 PM Ihar Hrachyshka wrote: > > > > When options:activation-strategy is set to "rarp" for LSP, when used in > > combination with multiple chassis names listed in > >

[ovs-dev] [PATCH ovn v14] Implement RARP activation strategy for ports

2022-06-07 Thread Ihar Hrachyshka
s options:additional-chassis-activated in southbound db. This feature is useful in live migration scenarios where it's not advisable to unlock the destination port location prematurily to avoid duplicate packets originating from the port. Signed-off-by: Ihar Hrachyshka --- NEWS

[ovs-dev] [PATCH ovn] Lock pinctrl_mutex for pinctrl_wait

2022-06-03 Thread Ihar Hrachyshka
The function is called from main thread, and wait_* subprocedures access data structures that are managed by pinctrl thread, so make sure the access to them is guarded. Signed-off-by: Ihar Hrachyshka --- controller/pinctrl.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/controller

Re: [ovs-dev] [PATCH v12 ovn] Implement RARP activation strategy for ports

2022-06-03 Thread Ihar Hrachyshka
Thanks Numan. All comments handled in v13 I just sent. Ihar On Thu, Jun 2, 2022 at 5:06 PM Numan Siddique wrote: > > On Wed, Jun 1, 2022 at 7:00 PM Ihar Hrachyshka wrote: > > > > This is the remaining piece in multi-chassis series. This new version > > has no flow modi

[ovs-dev] [PATCH v13 ovn] Implement RARP activation strategy for ports

2022-06-03 Thread Ihar Hrachyshka
s options:additional-chassis-activated in southbound db. This feature is useful in live migration scenarios where it's not advisable to unlock the destination port location prematurily to avoid duplicate packets originating from the port. Signed-off-by: Ihar Hrachyshka --- v13: use resubmit() act

Re: [ovs-dev] [PATCH v2 ovn 2/2] Ensure pid belongs to ovsdb-server in ovn-ctl

2022-06-02 Thread Ihar Hrachyshka
On Thu, Jun 2, 2022 at 10:34 AM Terry Wilson wrote: > > When checking if ovsdb-server is running, ensure that the binary > we are going to run matches the one actually running with the the > pid that was in our pidfile. > > Signed-off-by: Terry Wilson Acked-b

Re: [ovs-dev] [PATCH v2 ovn 1/2] Handle re-used pids in pidfile_is_running

2022-06-02 Thread Ihar Hrachyshka
nd if it is passed to match the binary against > /proc/$pid/exe. > > Signed-off-by: Terry Wilson Acked-by: Ihar Hrachyshka > --- > utilities/ovn-ctl | 9 - > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/utilities/ovn-ctl b/utilities/o

[ovs-dev] [PATCH ovn] Fix ubsan warning on 0-len memcpy from NULL pointer

2022-06-01 Thread Ihar Hrachyshka
Fixes fa8c591fa2a7("Support LSP:options:requested-chassis as a list") Signed-off-by: Ihar Hrachyshka --- controller/binding.c | 12 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/controller/binding.c b/controller/binding.c index 8a8570f13..227957

Re: [ovs-dev] [PATCH ovn 1/2] Handle re-used pids in pidfile_is_running

2022-06-01 Thread Ihar Hrachyshka
On Wed, Jun 1, 2022 at 1:26 PM Terry Wilson wrote: > > Since pids can be re-used, it is necessary to check that the > process that is running with a pid matches the one that we expect. > > This adds the ability to optionally pass a 'binary' argument to > pidfile_is_running, and if it is passed to

Re: [ovs-dev] [PATCH v12 ovn] Implement RARP activation strategy for ports

2022-06-01 Thread Ihar Hrachyshka
This is the remaining piece in multi-chassis series. This new version has no flow modification done in pinctrl thread. Instead, I-P engine is notified of any newly activated ports, which then triggers pflow update for lports. Ihar On Wed, Jun 1, 2022 at 6:57 PM Ihar Hrachyshka wrote: > >

[ovs-dev] [PATCH v12 ovn] Implement RARP activation strategy for ports

2022-06-01 Thread Ihar Hrachyshka
s options:additional-chassis-activated in southbound db. This feature is useful in live migration scenarios where it's not advisable to unlock the destination port location prematurily to avoid duplicate packets originating from the port. Signed-off-by: Ihar Hrachyshka --- NEWS

[ovs-dev] [PATCH ovn v11 2/4] Support LSP:options:requested-chassis as a list

2022-05-31 Thread Ihar Hrachyshka
e similar to fields designed to track the main chassis (->chassis, ->requested_chassis, ->encap). But because we support any number of additional chassis, these fields are lists. Acked-by: Numan Siddique Signed-off-by: Ihar Hrachyshka --- NEWS | 1 + controll

[ovs-dev] [PATCH ovn v11 3/4] Clone packets to all port chassis

2022-05-31 Thread Ihar Hrachyshka
it to additional chassis. When the sending port is bound on either the main or additional chassis, then handle the packet locally plus send it to all other chassis. This is achieved with additional flows in tables 37 and 38. Acked-by: Numan Siddique Signed-off-by: Ihar Hrachyshka --- controller

[ovs-dev] [PATCH ovn v11 4/4] Implement RARP activation strategy for ports

2022-05-31 Thread Ihar Hrachyshka
ets originating from the port. Signed-off-by: Ihar Hrachyshka --- NEWS | 2 + controller/physical.c | 92 +++ controller/pinctrl.c | 226 +- controller/pinctrl.h | 5 + include/ovn/actions.h | 3 + northd/northd.c | 10 ++ northd/ovn-nort

[ovs-dev] [PATCH ovn v11 1/4] Update port-up on main chassis only

2022-05-31 Thread Ihar Hrachyshka
In a future patch, there will be a scenario where the same port has attachments at multiple (specifically, 2) chassis, so make sure that 'up' property is updated by the main chassis only. Acked-by: Numan Siddique Signed-off-by: Ihar Hrachyshka --- controller/binding.c| 9

[ovs-dev] [PATCH ovn v11 0/4] Support multiple requested-chassis

2022-05-31 Thread Ihar Hrachyshka
rp to allow for other strategies / having default no-op strategy v1: implement in-memory port-activated tracking to avoid races v1: numerous code cleanup / bug fixes v1: special handling for localnet attached switches v0: initial draft (single patch) Ihar Hrachyshka (4): Update port-up on main c

[ovs-dev] [PATCH ovn v10 4/4] Implement RARP activation strategy for ports

2022-05-26 Thread Ihar Hrachyshka
ets originating from the port. Signed-off-by: Ihar Hrachyshka --- NEWS | 2 + controller/physical.c | 92 +++ controller/pinctrl.c | 226 +- controller/pinctrl.h | 5 + include/ovn/actions.h | 3 + northd/northd.c | 10 ++ northd/ovn-nort

[ovs-dev] [PATCH ovn v10 3/4] Clone packets to all port chassis

2022-05-26 Thread Ihar Hrachyshka
it to additional chassis. When the sending port is bound on either the main or additional chassis, then handle the packet locally plus send it to all other chassis. This is achieved with additional flows in tables 37 and 38. Signed-off-by: Ihar Hrachyshka --- controller/binding.c | 2

[ovs-dev] [PATCH ovn v10 2/4] Support LSP:options:requested-chassis as a list

2022-05-26 Thread Ihar Hrachyshka
e similar to fields designed to track the main chassis (->chassis, ->requested_chassis, ->encap). But because we support any number of additional chassis, these fields are lists. Signed-off-by: Ihar Hrachyshka --- NEWS | 1 + controll

[ovs-dev] [PATCH ovn v10 1/4] Update port-up on main chassis only

2022-05-26 Thread Ihar Hrachyshka
In a future patch, there will be a scenario where the same port has attachments at multiple (specifically, 2) chassis, so make sure that 'up' property is updated by the main chassis only. Acked-by: Numan Siddique Signed-off-by: Ihar Hrachyshka --- controller/binding.c| 9

[ovs-dev] [PATCH ovn v10 0/4] Support multiple requested-chassis

2022-05-26 Thread Ihar Hrachyshka
tracking to avoid races v1: numerous code cleanup / bug fixes v1: special handling for localnet attached switches v0: initial draft (single patch) Ihar Hrachyshka (4): Update port-up on main chassis only Support LSP:options:requested-chassis as a list Clone packets to all port chassi

[ovs-dev] [PATCH ovn v9 2/4] Support LSP:options:requested-chassis as a list

2022-05-25 Thread Ihar Hrachyshka
e similar to fields designed to track the main chassis (->chassis, ->requested_chassis, ->encap). But because we support any number of additional chassis, these fields are lists. Signed-off-by: Ihar Hrachyshka --- NEWS | 1 + controll

[ovs-dev] [PATCH ovn v9 3/4] Clone packets to all port chassis

2022-05-25 Thread Ihar Hrachyshka
it to additional chassis. When the sending port is bound on either the main or additional chassis, then handle the packet locally plus send it to all other chassis. This is achieved with additional flows in tables 37 and 38. Signed-off-by: Ihar Hrachyshka --- controller/binding.c | 2

[ovs-dev] [PATCH ovn v9 4/4] Implement RARP activation strategy for ports

2022-05-25 Thread Ihar Hrachyshka
ets originating from the port. Signed-off-by: Ihar Hrachyshka --- NEWS | 2 + controller/physical.c | 92 +++ controller/pinctrl.c | 226 +- controller/pinctrl.h | 5 + include/ovn/actions.h | 3 + northd/northd.c | 10 ++ northd/ovn-nort

[ovs-dev] [PATCH ovn v9 1/4] Update port-up on main chassis only

2022-05-25 Thread Ihar Hrachyshka
In a future patch, there will be a scenario where the same port has attachments at multiple (specifically, 2) chassis, so make sure that 'up' property is updated by the main chassis only. Acked-by: Numan Siddique Signed-off-by: Ihar Hrachyshka --- controller/binding.c| 9

[ovs-dev] [PATCH ovn v9 0/4] Support multiple requested-chassis

2022-05-25 Thread Ihar Hrachyshka
activated tracking to avoid races v1: numerous code cleanup / bug fixes v1: special handling for localnet attached switches v0: initial draft (single patch) Ihar Hrachyshka (4): Update port-up on main chassis only Support LSP:options:requested-chassis as a list Clone packets to all port chassi

Re: [ovs-dev] [PATCH ovn v6 5/5] Implement RARP activation strategy for ports

2022-05-25 Thread Ihar Hrachyshka
I'm sending another version of the series with some of your comments handled (plus rebase), while others are still pending clarifications. See below. On Fri, May 13, 2022 at 2:37 AM Han Zhou wrote: > > > > On Thu, May 5, 2022 at 6:38 AM Ihar Hrachyshka wrote: > > > >

[ovs-dev] [PATCH ovn v8 3/3] Clone packets to both port chassis

2022-05-19 Thread Ihar Hrachyshka
it to additional chassis. When the sending port is bound on either the main or additional chassis, then handle the packet locally plus send it to all other chassis. This is achieved with additional flows in tables 37 and 38. Signed-off-by: Ihar Hrachyshka --- controller/binding.c | 2

[ovs-dev] [PATCH ovn v8 2/3] Support LSP:options:requested-chassis as a list

2022-05-19 Thread Ihar Hrachyshka
e similar to fields designed to track the main chassis (->chassis, ->requested_chassis, ->encap). But because we support any number of additional chassis, these fields are lists. Signed-off-by: Ihar Hrachyshka --- NEWS | 1 + controll

[ovs-dev] [PATCH ovn v8 1/3] Update port-up on main chassis only

2022-05-19 Thread Ihar Hrachyshka
In a future patch, there will be a scenario where the same port has attachments at multiple (specifically, 2) chassis, so make sure that 'up' property is updated by the main chassis only. Signed-off-by: Ihar Hrachyshka --- controller/binding.c| 9 ++--- controller/binding.h

[ovs-dev] [PATCH ovn v8 0/3] Support multiple requested-chassis

2022-05-19 Thread Ihar Hrachyshka
tegy v1: implement in-memory port-activated tracking to avoid races v1: numerous code cleanup / bug fixes v1: special handling for localnet attached switches v0: initial draft (single patch) Ihar Hrachyshka (3): Update port-up on main chassis only Support LSP:options:requested-chassis as a li

[ovs-dev] [PATCH ovn v7 3/3] Clone packets to both port chassis

2022-05-18 Thread Ihar Hrachyshka
it to additional chassis. When the sending port is bound on either the main or additional chassis, then handle the packet locally plus send it to all other chassis. This is achieved with additional flows in tables 37 and 38. Signed-off-by: Ihar Hrachyshka --- controller/binding.c | 2

[ovs-dev] [PATCH ovn v7 2/3] Support LSP:options:requested-chassis as a list

2022-05-18 Thread Ihar Hrachyshka
e similar to fields designed to track the main chassis (->chassis, ->requested_chassis, ->encap). But because we support any number of additional chassis, these fields are lists. Signed-off-by: Ihar Hrachyshka --- NEWS | 1 + controll

[ovs-dev] [PATCH ovn v7 1/3] Update port-up on main chassis only

2022-05-18 Thread Ihar Hrachyshka
In a future patch, there will be a scenario where the same port has attachments at multiple (specifically, 2) chassis, so make sure that 'up' property is updated by the main chassis only. Signed-off-by: Ihar Hrachyshka --- controller/binding.c| 9 ++--- controller/binding.h

[ovs-dev] [PATCH ovn v7 0/3] Support multiple requested-chassis

2022-05-18 Thread Ihar Hrachyshka
to allow for other strategies / having default no-op strategy v1: implement in-memory port-activated tracking to avoid races v1: numerous code cleanup / bug fixes v1: special handling for localnet attached switches v0: initial draft (single patch) Ihar Hrachyshka (3): Update port-up on main chas

Re: [ovs-dev] [PATCH ovn v6 3/5] Support LSP:options:requested-chassis as a list

2022-05-18 Thread Ihar Hrachyshka
: > > > > On Thu, May 5, 2022 at 6:38 AM Ihar Hrachyshka wrote: > > > > When the option is set to a comma separated list of chassis names, OVN > > will attempt to bind the port at any number of other locations in > > addition to the main chassis. > > >

Re: [ovs-dev] [PATCH ovn v6 1/5] Tag all packets that arrived from a tunnel as LOCAL_ONLY

2022-05-18 Thread Ihar Hrachyshka
This patch won't be needed after the next iteration of 'Clone packets...' patch in the set drops. I'm dropping it in the next set. On Wed, May 11, 2022 at 2:20 AM Han Zhou wrote: > > > > On Thu, May 5, 2022 at 6:38 AM Ihar Hrachyshka wrote: > > > > A next patch m

Re: [ovs-dev] [PATCH ovn v6 2/5] Update port-up on main chassis only

2022-05-18 Thread Ihar Hrachyshka
Correct, I'm handling this in the next iteration. On Wed, May 11, 2022 at 2:23 AM Han Zhou wrote: > > > > On Thu, May 5, 2022 at 6:38 AM Ihar Hrachyshka wrote: > > > > In a future patch, there will be a scenario where the same port has > > attachments at multiple

Re: [ovs-dev] [PATCH ovn v6 4/5] Clone packets to both port chassis

2022-05-18 Thread Ihar Hrachyshka
wrote: > > > > On Thu, May 5, 2022 at 6:38 AM Ihar Hrachyshka wrote: > > > > When multiple chassis are set in requested-chassis, port binding is > > configured in multiple cluster locations. In case of live migration > > scenario, only one of the locations run

Re: [ovs-dev] [Patch ovn] OVN - Add Support for Remote Port Mirroring

2022-05-06 Thread Ihar Hrachyshka
Hi Abhiram, thanks for sending the patch. This is *not* a comprehensive review. This is an attempt to clarify the scope of the feature, its potential crossover with other pending work, and other high level comments. API: 1) The proposal more or less directly maps the new OVN mirrors to OVS

[ovs-dev] [PATCH ovn v6 4/5] Clone packets to both port chassis

2022-05-05 Thread Ihar Hrachyshka
it to additional chassis. When the sending port is bound on either the main or additional chassis, then handle the packet locally plus send it to all other chassis. This is achieved with additional flows in tables 37 and 38. Signed-off-by: Ihar Hrachyshka --- controller/binding.c | 2

[ovs-dev] [PATCH ovn v6 5/5] Implement RARP activation strategy for ports

2022-05-05 Thread Ihar Hrachyshka
ets originating from the port. Signed-off-by: Ihar Hrachyshka --- NEWS | 2 + controller/physical.c | 79 +++ controller/pinctrl.c | 226 +- controller/pinctrl.h | 5 + include/ovn/actions.h | 9 ++ lib/actions.c |

[ovs-dev] [PATCH ovn v6 3/5] Support LSP:options:requested-chassis as a list

2022-05-05 Thread Ihar Hrachyshka
e similar to fields designed to track the main chassis (->chassis, ->requested_chassis, ->encap). But because we support any number of additional chassis, these fields are lists. Signed-off-by: Ihar Hrachyshka --- NEWS | 1 + controll

[ovs-dev] [PATCH ovn v6 2/5] Update port-up on main chassis only

2022-05-05 Thread Ihar Hrachyshka
In a future patch, there will be a scenario where the same port has attachments at multiple (specifically, 2) chassis, so make sure that 'up' property is updated by the main chassis only. Signed-off-by: Ihar Hrachyshka --- controller/binding.c| 10 +++--- controller/binding.h

[ovs-dev] [PATCH ovn v6 1/5] Tag all packets that arrived from a tunnel as LOCAL_ONLY

2022-05-05 Thread Ihar Hrachyshka
A next patch may need to clone packets to another chassis as part of "port migration" procedure, but only if they haven't originated at another chassis. This LOCAL_ONLY tag will enforce the requirement. Signed-off-by: Ihar Hrachyshka --- controller/physical.c | 1 + controller/pinc

[ovs-dev] [PATCH ovn v6 0/5] Support multiple requested-chassis

2022-05-05 Thread Ihar Hrachyshka
-op strategy v1: implement in-memory port-activated tracking to avoid races v1: numerous code cleanup / bug fixes v1: special handling for localnet attached switches v0: initial draft (single patch) === Ihar Hrachyshka (5): Tag all packets that arrived from a tunnel as LOCAL_ONLY Update por

[ovs-dev] [PATCH ovn v5 2/5] Update port-up on main chassis only

2022-05-04 Thread Ihar Hrachyshka
In a future patch, there will be a scenario where the same port has attachments at multiple (specifically, 2) chassis, so make sure that 'up' property is updated by the main chassis only. Signed-off-by: Ihar Hrachyshka --- controller/binding.c| 10 +++--- controller/binding.h

[ovs-dev] [PATCH ovn v5 5/5] Implement RARP activation strategy for ports

2022-05-04 Thread Ihar Hrachyshka
ets originating from the port. Signed-off-by: Ihar Hrachyshka --- NEWS | 2 + controller/physical.c | 79 +++ controller/pinctrl.c | 226 +- controller/pinctrl.h | 5 + include/ovn/actions.h | 9 ++ lib/actions.c |

[ovs-dev] [PATCH ovn v5 4/5] Clone packets to both port chassis

2022-05-04 Thread Ihar Hrachyshka
it to additional chassis. When the sending port is bound on either the main or additional chassis, then handle the packet locally plus send it to all other chassis. This is achieved with additional flows in tables 37 and 38. Signed-off-by: Ihar Hrachyshka --- controller/binding.c | 2

[ovs-dev] [PATCH ovn v5 3/5] Support LSP:options:requested-chassis as a list

2022-05-04 Thread Ihar Hrachyshka
e similar to fields designed to track the main chassis (->chassis, ->requested_chassis, ->encap). But because we support any number of additional chassis, these fields are lists. Signed-off-by: Ihar Hrachyshka --- NEWS | 1 + controll

[ovs-dev] [PATCH ovn v5 0/5] Support multiple requested-chassis

2022-05-04 Thread Ihar Hrachyshka
rt-activated tracking to avoid races v1: numerous code cleanup / bug fixes v1: special handling for localnet attached switches v0: initial draft (single patch) === Ihar Hrachyshka (5): Tag all packets that arrived from a tunnel as LOCAL_ONLY Update port-up on main chassis only Support LSP:optio

[ovs-dev] [PATCH ovn v5 1/5] Tag all packets that arrived from a tunnel as LOCAL_ONLY

2022-05-04 Thread Ihar Hrachyshka
A next patch may need to clone packets to another chassis as part of "port migration" procedure, but only if they haven't originated at another chassis. This LOCAL_ONLY tag will enforce the requirement. Signed-off-by: Ihar Hrachyshka --- controller/physical.c | 1 + controller/pinc

Re: [ovs-dev] [PATCH ovn v4 00/15] Support multiple requested-chassis

2022-05-02 Thread Ihar Hrachyshka
On Wed, Apr 20, 2022 at 3:16 PM Numan Siddique wrote: > > On Wed, Apr 20, 2022 at 1:15 PM Ihar Hrachyshka wrote: > > > > Thanks for your review. See below. > > > > On Tue, Apr 19, 2022 at 11:43 AM Numan Siddique wrote: > > > > > > On Tue, Mar 2

[ovs-dev] [PATCH ovn] docs: fix a typo in bandwidth column name

2022-04-29 Thread Ihar Hrachyshka
Signed-off-by: Ihar Hrachyshka --- ovn-nb.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ovn-nb.xml b/ovn-nb.xml index 9010240a8..e9ad002a0 100644 --- a/ovn-nb.xml +++ b/ovn-nb.xml @@ -2365,9 +2365,9 @@ with the highest- will have QoS applied

Re: [ovs-dev] OVN minimal bandwidth guarantee support

2022-04-26 Thread Ihar Hrachyshka
UPD: I've posted a tiny series that implements (1) for your consideration here: https://patchwork.ozlabs.org/project/ovn/list/?series=297048 It would be great if this can be backported to LTS. Seems like a low risk featurette. Thanks, Ihar On Mon, Apr 25, 2022 at 8:56 PM Ihar Hrachyshka wrote

[ovs-dev] [PATCH ovn v2 2/2] qos: add support for port minimum bandwidth guarantee

2022-04-26 Thread Ihar Hrachyshka
Reported-At: https://bugzilla.redhat.com/show_bug.cgi?id=2060310 Signed-off-by: Ihar Hrachyshka --- NEWS | 2 ++ controller/binding.c | 13 ++--- ovn-nb.xml | 5 + ovn-sb.xml | 5 + tests/system-ovn.at | 4 +++- 5 files changed, 25

[ovs-dev] [PATCH ovn v2 1/2] tests: check qos_max_rate and qos_burst are set

2022-04-26 Thread Ihar Hrachyshka
Signed-off-by: Ihar Hrachyshka --- tests/system-ovn.at | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/system-ovn.at b/tests/system-ovn.at index 3d2591ee9..1454f99d2 100644 --- a/tests/system-ovn.at +++ b/tests/system-ovn.at @@ -6338,11 +6338,15 @@ ovn-nbctl lsp

[ovs-dev] [PATCH ovn] qos: add support for port minimum bandwidth guarantee

2022-04-26 Thread Ihar Hrachyshka
Reported-At: https://bugzilla.redhat.com/show_bug.cgi?id=2060310 Signed-off-by: Ihar Hrachyshka --- NEWS | 2 ++ controller/binding.c | 13 ++--- ovn-nb.xml | 5 + ovn-sb.xml | 5 + tests/system-ovn.at | 4 +++- 5 files changed, 25

[ovs-dev] OVN minimal bandwidth guarantee support

2022-04-25 Thread Ihar Hrachyshka
Hi all, I am working on the following feature request: https://bugzilla.redhat.com/show_bug.cgi?id=2060310 Request is to maintain neutron OVN driver parity with the legacy ml2/ovs driver. This means the feature is requested only for ports attached to VLAN / flat networks (meaning, there's a

[ovs-dev] [PATCH v2 ovn] Stop sending garps when binding not bound to chassis

2022-04-20 Thread Ihar Hrachyshka
When a binding switches to another chassis via requested-chassis option, controller should stop sending periodic garps for the port. Signed-off-by: Ihar Hrachyshka --- v1: initial commit v2: don't add to sset instead of later deleting it explicitly from the set --- controller/pinctrl.c | 5

Re: [ovs-dev] [PATCH ovn v3] pinctrl.c: Send GARP only on chassis atached to l3gw

2022-04-20 Thread Ihar Hrachyshka
Thank you, this looks great. Signed-off-by: Ihar Hrachyshka On Wed, Apr 20, 2022 at 4:09 AM Ales Musil wrote: > > The GARP was sent even on chassis that were not serving > as l3gw for the specified router. This could lead to race > on the physical network when multiple chassis s

Re: [ovs-dev] [PATCH ovn v2] pinctrl.c: Send GARP only on chassis atached to l3gw

2022-04-20 Thread Ihar Hrachyshka
On Wed, Apr 20, 2022 at 2:46 AM Ales Musil wrote: > > > On Wed, Apr 20, 2022 at 8:14 AM Ales Musil wrote: > >> Thank you for the review, see my reply below. >> >> On Tue, Apr 19, 2022 at 9:26 PM Ihar Hrachyshka >> wrote: >> >>> Thanks

Re: [ovs-dev] [PATCH ovn v4 00/15] Support multiple requested-chassis

2022-04-20 Thread Ihar Hrachyshka
Thanks for your review. See below. On Tue, Apr 19, 2022 at 11:43 AM Numan Siddique wrote: > > On Tue, Mar 29, 2022 at 8:47 PM Ihar Hrachyshka wrote: > > > > This version of the series switched to supporting multiple chassis set in > > requested-chassis option. This

Re: [ovs-dev] [PATCH ovn v2] pinctrl.c: Send GARP only on chassis atached to l3gw

2022-04-19 Thread Ihar Hrachyshka
Thanks for the patch. Two comments for the test case below. On Tue, Apr 19, 2022 at 1:12 AM Ales Musil wrote: > > The GARP was sent even on chassis that were not serving > as l3gw for the specified router. This could lead to race > on the physical network when multiple chassis send the same >

Re: [ovs-dev] [PATCH ovn v4 14/15] Allow to disable tunneling enforcement for multi-chassis port

2022-04-14 Thread Ihar Hrachyshka
On 4/13/22 11:36 AM, Numan Siddique wrote: On Tue, Apr 12, 2022 at 8:06 PM Ihar Hrachyshka wrote: There's a discussion to have on the intended behavior of a port with 2+ chassis when the switch is attached to localnet. In general, the patch series makes all chassis switch to tunneling when

Re: [ovs-dev] [PATCH ovn v4 14/15] Allow to disable tunneling enforcement for multi-chassis port

2022-04-12 Thread Ihar Hrachyshka
use in environments where MTU discrepancy is not an issue the usual approach of switching to tunneling works fine. Thoughts? Ihar On 3/29/22 8:47 PM, Ihar Hrachyshka wrote: When chassis-mirroring-enabled is set, controller will not enforce tunneling for localnet-attached switches. This may b

Re: [ovs-dev] [PATCH ovn v4 10/15] Support LSP:options:requested-chassis as a list

2022-04-08 Thread Ihar Hrachyshka
On 4/8/22 2:34 PM, Mark Michelson wrote: Hi Ihar, Patches 1-10 look good to me. Acked-by: Mark Michelson I'll have to wait until next week to review patches 11-15. I have one super minor finding below. On 3/29/22 20:46, Ihar Hrachyshka wrote: When the option is set to a comma separated

[ovs-dev] [PATCH ovn] Stop sending garps when binding not bound to chassis

2022-04-06 Thread Ihar Hrachyshka
When a binding switches to another chassis via requested-chassis option, controller should stop sending periodic garps for the port. Signed-off-by: Ihar Hrachyshka --- controller/pinctrl.c | 9 - tests/ovn.at | 93 2 files changed, 100

Re: [ovs-dev] [PATCH ovn v3 00/16] Support additional-chassis for ports

2022-03-29 Thread Ihar Hrachyshka
ld assign a specific priority value to each chassis instead of using the order of the items in the list. This is similar to what is done for other options, like gateway_chassis. On 2/17/22 10:16, Ihar Hrachyshka wrote: This version of the series is complete. It contains the previously missing

[ovs-dev] [PATCH ovn v4 14/15] Allow to disable tunneling enforcement for multi-chassis port

2022-03-29 Thread Ihar Hrachyshka
When chassis-mirroring-enabled is set, controller will not enforce tunneling for localnet-attached switches. This may be useful when the network used to deliver tunnel packets doesn't have MTU headway to redirect all packets originally sent through localnet port. Signed-off-by: Ihar Hrachyshka

[ovs-dev] [PATCH ovn v4 11/15] Clone packets to both port chassis

2022-03-29 Thread Ihar Hrachyshka
it to additional chassis. When the sending port is bound on either the main or additional chassis, then handle the packet locally plus send it to all other chassis. This is achieved with additional flows in tables 37 and 38. Signed-off-by: Ihar Hrachyshka --- controller/binding.c | 2

[ovs-dev] [PATCH ovn v4 15/15] Update NEWS file about new live migration options

2022-03-29 Thread Ihar Hrachyshka
Signed-off-by: Ihar Hrachyshka --- NEWS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/NEWS b/NEWS index 3e8358723..944401c5c 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,9 @@ Post v22.03.0 different OVN Interconnection availability zones. - Replaced the usage of masked ct_label

[ovs-dev] [PATCH ovn v4 12/15] Implement RARP activation strategy for ports

2022-03-29 Thread Ihar Hrachyshka
ets originating from the port. Signed-off-by: Ihar Hrachyshka --- controller/physical.c | 78 + controller/pinctrl.c | 198 +- controller/pinctrl.h | 5 ++ include/ovn/actions.h | 9 ++ lib/actions.c | 40 - northd/

[ovs-dev] [PATCH ovn v4 13/15] Reinject RARP packet when activation-strategy=rarp

2022-03-29 Thread Ihar Hrachyshka
It takes some time for vswitchd to remove the blocking flows, so we need to wait for the flow_mod message handled before reinjecting the received RARP packet into the pipeline. Use a barrier to indicate the message processed by vswitchd. Signed-off-by: Ihar Hrachyshka --- controller/pinctrl.c

[ovs-dev] [PATCH ovn v4 10/15] Support LSP:options:requested-chassis as a list

2022-03-29 Thread Ihar Hrachyshka
e similar to fields designed to track the main chassis (->chassis, ->requested_chassis, ->encap). But because we support any number of additional chassis, these fields are lists. Signed-off-by: Ihar Hrachyshka --- controller/binding.c | 274 ---

[ovs-dev] [PATCH ovn v4 09/15] Update port-up on main chassis only

2022-03-29 Thread Ihar Hrachyshka
In a future patch, there will be a scenario where the same port has attachments at multiple (specifically, 2) chassis, so make sure that 'up' property is updated by the main chassis only. Signed-off-by: Ihar Hrachyshka --- controller/binding.c| 10 +++--- controller/binding.h

[ovs-dev] [PATCH ovn v4 08/15] Tag all packets that arrived from a tunnel as LOCAL_ONLY

2022-03-29 Thread Ihar Hrachyshka
A next patch may need to clone packets to another chassis as part of "port migration" procedure, but only if they haven't originated at another chassis. This LOCAL_ONLY tag will enforce the requirement. Signed-off-by: Ihar Hrachyshka --- controller/physical.c | 1 + controller/pinc

[ovs-dev] [PATCH ovn v4 05/15] Introduce match_outport_dp_and_port_keys in physical.c

2022-03-29 Thread Ihar Hrachyshka
This helper prepares a 'match' struct to match against a datapath and a port key. All existing spots in the file that use such a 'match' struct were updated. It will also be reused later. Signed-off-by: Ihar Hrachyshka --- controller/physical.c | 65

[ovs-dev] [PATCH ovn v4 06/15] Split code to set zone info into put_zones_ofpacts

2022-03-29 Thread Ihar Hrachyshka
Signed-off-by: Ihar Hrachyshka --- controller/physical.c | 50 --- 1 file changed, 19 insertions(+), 31 deletions(-) diff --git a/controller/physical.c b/controller/physical.c index 1c31741ea..0426098b2 100644 --- a/controller/physical.c +++ b/controller

[ovs-dev] [PATCH ovn v4 07/15] Use get_port_binding_tun instead of chassis_tunnel_find

2022-03-29 Thread Ihar Hrachyshka
Right now consider_port_binding first extracts *a* tunnel for a chassis, then later in put_remote_port_redirect_overlay it fetches *the* proper tunnel before configuring encapsulation. Instead of doing it in two steps, just extract the proper tunnel info earlier. Signed-off-by: Ihar Hrachyshka

[ovs-dev] [PATCH ovn v4 04/15] Pass chassis and encap into get_port_binding_tun

2022-03-29 Thread Ihar Hrachyshka
Next patches will need the same functionality while passing a different chassis / encap configuration that is not the primary for a port binding. Signed-off-by: Ihar Hrachyshka --- controller/physical.c | 13 ++--- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/controller

[ovs-dev] [PATCH ovn v4 03/15] northd: separate code for nb->sb port binding chassis update

2022-03-29 Thread Ihar Hrachyshka
The ovn_port_update_sbrec function became too long, and the next patches will touch the code to update chassis mapping for ports. This patch prepares for the next step. Signed-off-by: Ihar Hrachyshka --- northd/northd.c | 62 - 1 file changed, 36

[ovs-dev] [PATCH ovn v4 02/15] northd: introduce separate function to look up chassis

2022-03-29 Thread Ihar Hrachyshka
This function will be reused later. Signed-off-by: Ihar Hrachyshka --- northd/northd.c | 21 +++-- 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/northd/northd.c b/northd/northd.c index 2fb0a93c2..17af42ac4 100644 --- a/northd/northd.c +++ b/northd/northd.c

[ovs-dev] [PATCH ovn v4 01/15] Introduce chassis_is_vtep

2022-03-29 Thread Ihar Hrachyshka
This tiny helper will be reused later. Signed-off-by: Ihar Hrachyshka --- controller/physical.c | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/controller/physical.c b/controller/physical.c index 02fcd5ea8..51901395d 100644 --- a/controller/physical.c +++ b

[ovs-dev] [PATCH ovn v4 00/15] Support multiple requested-chassis

2022-03-29 Thread Ihar Hrachyshka
ddlog implementation v2: re-inject RARP packet after vswitch updates flows v3: re-sent as a single series v4: redesign to reuse requested-chassis option v4: support >2 chassis per port v4: allow to disable tunneling enforcement when n_chassis >= 2 Ihar Hrachyshka (15): Introduce chassis_is_v

[ovs-dev] [PATCH ovn v3 15/16] Implement RARP activation strategy for ports

2022-02-17 Thread Ihar Hrachyshka
he port. Signed-off-by: Ihar Hrachyshka --- controller/physical.c | 74 +++ controller/pinctrl.c | 161 +- controller/pinctrl.h | 2 + include/ovn/actions.h | 9 +++ lib/actions.c | 40 ++- northd/northd.c

[ovs-dev] [PATCH ovn v3 12/16] Introduce LSP:options:requested-additional-chassis

2022-02-17 Thread Ihar Hrachyshka
at the moment of the final port binding location change. The patch mimics behavior of requested-chassis. Corresponding database fields (pb->additional_chassis, pb->requested_additional_chassis, pb->additional_encap) are introduced as part of the patch. Signed-off-by: Ihar Hrachyshka --- c

<    1   2   3   4   5   6   7   8   >