[ovs-dev] [PATCH ovn] Fix testsuite 85 - "ensure one gw controller restart in HA doesn't bounce the master ok".

2019-11-10 Thread numans
From: Numan Siddique This testsuite is failing frequently in travis CI and locally when tests are run with "-j5". The test case deletes the chassis row for chassis 'gw2' and expects that this doesn't cause the chassisresident port on the master ('gw1') to not bounce as 'gw1' has higher

[ovs-dev] [PATCH ovn v2] Fix ha chassis failover issues for stale ha chassis entries

2019-11-07 Thread numans
From: Numan Siddique If ha chassis rows of an HA chassis group become stale i.e the HA_Chassis.chassis column is empty (because ovn-controller is not running in that chassis) except one row and when ha_chassis_group_is_active() is called on that ovn-controller, then it returns false. Ideally it

[ovs-dev] [PATCH ovn] Fix ha chassis failover issues for stale ha chassis entries

2019-11-05 Thread numans
From: Numan Siddique If ha chassis rows of an HA chassis group become stale i.e the HA_Chassis.chassis column is empty (because ovn-controller is not running in that chassis) except one row and when ha_chassis_group_is_active() is called on that ovn-controller, then it returns false. Ideally it

[ovs-dev] [PATCH ovn 3/3] Send service monitor health checks

2019-10-31 Thread numans
From: Numan Siddique ovn-controller will periodically sends out the service monitor packets for the services configured in the SB DB Service_Monitor table. This patch makes use of the action - handle_svc_check to handle the service monitor reply packets from the service. This patch supports

[ovs-dev] [PATCH ovn 1/3] ovn-northd: Add support for Load Balancer health check

2019-10-31 Thread numans
From: Numan Siddique The present Load balancer feature in OVN provides load balancing functionality to the back end ips without checking if the chosen backend ip is reachable or not. In case a back end service is down and if that IP is chosen, then packet will be lost. This patch series adds

[ovs-dev] [PATCH ovn 2/3] Add a new action - handle_svc_check

2019-10-31 Thread numans
From: Numan Siddique This action will be used in an upcoming patch to handle the service monitor replies from ovn-controller when it sends out service monitor requests. This action gets translated to openflow controller action. Signed-off-by: Numan Siddique --- include/ovn/actions.h | 17

[ovs-dev] [PATCH ovn 0/3] Health check feature for Load balancer backends

2019-10-31 Thread numans
From: Numan Siddique This series adds load balancer health check feature. With this ovn-controllers will periodically check the status of the backend services. Only those services which are online/active will be considered for load balancing. Right now this feature is restricted to IPv4 Load

[ovs-dev] [PATCH ovn v2] Require Python 3 and remove support for Python 2.

2019-11-14 Thread numans
From: Numan Siddique OVS removed the support for Python 2 in the commit [1]. And its time we do the same for OVN. Python3 is now mandatory, otherwise configure will fail. This patch takes care of removing Python 2 references. [1] - 1ca0323e7c29("Require Python 3 and remove support for Python

[ovs-dev] [PATCH ovn] Require Python 3 and remove support for Python 2.

2019-11-12 Thread numans
From: Numan Siddique OVS removed the support for Python 2 in the commit [1]. And its time we do the same for OVN. This patch takes care of removing Python 2 references. [1] - 1ca0323e7c29("Require Python 3 and remove support for Python 2.") Signed-off-by: Numan Siddique --- Makefile.am

[ovs-dev] [PATCH ovn v2 1/3] ovn-northd: Add support for Load Balancer health check

2019-11-05 Thread numans
From: Numan Siddique The present Load balancer feature in OVN provides load balancing functionality to the back end ips without checking if the chosen backend ip is reachable or not. In case a back end service is down and if that IP is chosen, then packet will be lost. This patch series adds

[ovs-dev] [PATCH ovn v2 0/3] Health check feature for Load balancer backends

2019-11-05 Thread numans
From: Numan Siddique This series adds load balancer health check feature. With this ovn-controllers will periodically check the status of the backend services. Only those services which are online/active will be considered for load balancing. Right now this feature is restricted to IPv4 Load

[ovs-dev] [PATCH ovn v2 2/3] Add a new action - handle_svc_check

2019-11-05 Thread numans
From: Numan Siddique This action will be used in an upcoming patch to handle the service monitor replies from ovn-controller when it sends out service monitor requests. This action gets translated to openflow controller action. Acked-by: Mark Michelson Signed-off-by: Numan Siddique ---

[ovs-dev] [PATCH ovn v2 3/3] Send service monitor health checks

2019-11-05 Thread numans
From: Numan Siddique ovn-controller will periodically sends out the service monitor packets for the services configured in the SB DB Service_Monitor table. This patch makes use of the action - handle_svc_check to handle the service monitor reply packets from the service. This patch supports

[ovs-dev] [PATCH ovn] travis: Fix CI failure for osx builds

2019-11-08 Thread numans
From: Numan Siddique The below failure is seen checking for Python 3 (version 3.4 or later)... /usr/local/bin/python3 checking where Python six library is available... configure: error: Missing Python six library. The command "./.travis/${TRAVIS_OS_NAME}-build.sh $OPTS" exited with 1.

[ovs-dev] [PATCH ovn] docs: Add note about RBAC and remote ovn-northd connection

2019-11-08 Thread numans
From: Frode Nordahl Signed-off-by: Frode Nordahl Acked-by: Aliasgar Ginwala --- .../topics/role-based-access-control.rst | 7 ++ Documentation/tutorials/ovn-rbac.rst | 25 +++ 2 files changed, 32 insertions(+) diff --git

[ovs-dev] [PATCH ovn v3] Require Python 3 and remove support for Python 2.

2019-11-22 Thread numans
From: Numan Siddique OVS removed the support for Python 2 in the commit [1]. And its time we do the same for OVN. Python3 is now mandatory, otherwise configure will fail. This patch takes care of removing Python 2 references. [1] - 1ca0323e7c29("Require Python 3 and remove support for Python

[ovs-dev] [PATCH v2] ovsdb replication: Provide option to configure probe interval.

2019-12-13 Thread numans
From: Numan Siddique When ovsdb-server is in backup mode and connects to the active ovsdb-server for replication, and if takes more than 5 seconds to get the dump of the whole database, it will drop the connection soon after as the default probe interval is 5 seconds. This results in a snowball

[ovs-dev] [PATCH] ovsdb replication: Provider option to configure probe interval.

2019-12-13 Thread numans
From: Numan Siddique When ovsdb-server is in backup mode and connects to the active ovsdb-server for replication, and if takes more than 5 seconds to get the dump of the whole database, it will drop the connection soon after as the default probe interval is 5 seconds. This results in a snowball

[ovs-dev] [PATCH v3] ovsdb replication: Provide option to configure probe interval.

2019-12-13 Thread numans
From: Numan Siddique When ovsdb-server is in backup mode and connects to the active ovsdb-server for replication, and if takes more than 5 seconds to get the dump of the whole database, it will drop the connection soon after as the default probe interval is 5 seconds. This results in a snowball

[ovs-dev] [PATCH ovn] ovn-northd: Consider load balancer active backends in router pipeline

2019-12-07 Thread numans
From: Numan Siddique The commit [1] which added lood balancer health check support missed out on updating the logical flows to consider only active backends in the logical router pipeline if a load balancer is associated. This patch fixes it. It also refactors the code a bit. Without this, an

[ovs-dev] [PATCH ovn] ovndb-servers.ocf: Change from 'openvswitch' to 'ovn' in default vars.

2019-10-28 Thread numans
From: Numan Siddique CC: Aliasgar Ginwala Signed-off-by: Numan Siddique --- utilities/ovndb-servers.ocf | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/utilities/ovndb-servers.ocf b/utilities/ovndb-servers.ocf index cd4742668..5fe7849ab 100755 ---

[ovs-dev] [PATCH] rhel: Remove the cond 'build_python3'

2019-10-21 Thread numans
From: Numan Siddique A previous patch removed python2 support from ovs. So we can remove this condition and make python3 mandatory for builds. Without this patch, make rpm-fedora on centos 7 fails unless we pass RPMBUILD_OPT="--with build_python3". Signed-off-by: Numan Siddique ---

[ovs-dev] [PATCH v2] ovsdb-server: Allow replication from older schema version servers.

2019-10-21 Thread numans
From: Numan Siddique Presently, replication is not allowed if there is a schema version mismatch between the schema returned by the active ovsdb-server and the local db schema. This is causing failures in OVN DB HA deployments during uprades. In the case of OpenStack tripleo deployment with

[ovs-dev] [PATCH ovn] Fix system-ovn test failures

2019-10-29 Thread numans
From: Numan Siddique The commit b740928656a1("testsuite: Use ovn-macros instead of ofproto-macros.") missed updating the system test suite files to include ovn-macros.at. This patch adds it. CC: Han Zhou Signed-off-by: Numan Siddique --- tests/system-kmod-testsuite.at | 1 +

[ovs-dev] [PATCH ovn] Fix virtual port binding when the parents are scheduled in the same chassis

2019-10-16 Thread numans
From: Numan Siddique If a virtual port has 2 parents and if both of them are scheduled on the same chassis, then virtual port binding doesn't work. For virtual port binding we have the below logical flows: inport == p1 && !is_chassis_resident("vip-port") && arp .. actions=bind_vport(vip-port);

[ovs-dev] [PATCH ovn] Fix system-userpsace test cases

2019-10-23 Thread numans
From: Numan Siddique During each system userspace test, we see the below warning messages in the ovn-controller.log. We need to add this to whitelist. "chassis|WARN|Could not find Chassis : stored (hv1) ovs (hv1)" Signed-off-by: Numan Siddique --- tests/system-ovn.at | 35

[ovs-dev] [PATCH ovn] Skip IPv6 NS packets in router egress SNAT pipeline

2019-11-19 Thread numans
From: Numan Siddique When ovn-controller injects IPv6 NS packet to learn the mac, in some setups it is observed that the packet is dropped by ovs-vswitchd. We see below logs 2019-11-18T10:42:17.973Z|1|ofproto_dpif_upcall(handler6)|INFO|received packet on unassociated datapath port

[ovs-dev] [PATCH ovn] ofctrl_check_and_add_flow: Replace the actions of an existing flow if actions have changed.

2019-11-29 Thread numans
From: Numan Siddique If ofctrl_check_and_add_flow(F') is called where flow F' has match-actions (M, A2) and if there already exists a flow F with match-actions (M, A1) in the desired flow table, then this function doesn't update the existing flow F with new actions actions A2. This patch

[ovs-dev] [PATCH v4] ovsdb replication: Provide option to configure probe interval.

2019-12-20 Thread numans
From: Numan Siddique When ovsdb-server is in backup mode and connects to the active ovsdb-server for replication, and if takes more than 5 seconds to get the dump of the whole database, it will drop the connection soon after as the default probe interval is 5 seconds. This results in a snowball

[ovs-dev] [PATCH ovn] ovn-controller: Fix memory issues due to lflow expr caching.

2020-02-12 Thread numans
From: Numan Siddique The patch [1], which added caching of lflow expr introduced a memory leak. The patch [1] also didn't take care of deleting the expr from the cache for the deleted lflows. This results in those lflow exprs in cache hanging in forever. This patch also addresses these 2

[ovs-dev] [RFC OVN 1/4] Refactor binding_run()to take two context argument - binding_ctx_in and binding_ctx_out.

2020-02-13 Thread numans
From: Numan Siddique No functional changes are introduced in this patch. Signed-off-by: Numan Siddique --- controller/binding.c| 260 +--- controller/binding.h| 39 +++--- controller/ovn-controller.c | 120 ++--- 3 files changed,

[ovs-dev] [RFC OVN 0/4] Incremental processing improvements.

2020-02-13 Thread numans
From: Numan Siddique This patch series tries to handle port binding, datapath binding and ovs interface changes incrementally. First 2 patches does some refactoring. Submitting this as RFC to get some comments. Still need to update the proper commit messages and fix one test case related to

[ovs-dev] [RFC OVN 2/4] ovn-controller: Refactor binding.c

2020-02-13 Thread numans
From: Numan Siddique Signed-off-by: Numan Siddique --- controller/binding.c| 682 ++-- controller/binding.h| 16 +- controller/ovn-controller.c | 49 ++- controller/pinctrl.c| 19 +- controller/pinctrl.h| 4 +- 5 files

[ovs-dev] [RFC OVN 4/4] ovn-controller: I-P for datapath binding

2020-02-13 Thread numans
From: Numan Siddique This patch adds partial support of incremental processing of datapath binding. If a datapath is deleted, then a full recompute is triggered. Signed-off-by: Numan Siddique --- controller/ovn-controller.c | 26 +- 1 file changed, 25 insertions(+), 1

[ovs-dev] [RFC OVN 3/4] ovn-controller: I-P for port binding

2020-02-13 Thread numans
From: Numan Siddique Signed-off-by: Numan Siddique --- controller/binding.c| 456 ++-- controller/binding.h| 7 +- controller/ovn-controller.c | 50 +++- 3 files changed, 432 insertions(+), 81 deletions(-) diff --git a/controller/binding.c

[ovs-dev] [PATCH ovn] build: ensure python3 is used for all python scripts

2020-02-13 Thread numans
From: James Page As OVN is Python 3 only ensure that the build process only uses PYTHON3 and not PYTHON. Signed-off-by: James Page --- automake.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/automake.mk b/automake.mk index 2b0bb4b12..a7947a3f5 100644 ---

[ovs-dev] [PATCH ovn] ovn-controller: Revert lflow expr caching

2020-02-25 Thread numans
From: Numan Siddique This patch reverts the below patches which added lflow expr caching supported and follow up patches which fixed few issues. With the present lflow expr caching we still have issues with logical flows referencing port groups/address sets. If a port group/address set change

[ovs-dev] [PATCH ovn] ovn-northd: Add the option to configure probe interval

2020-03-04 Thread numans
From: Numan Siddique This patch adds the option 'NB_Global.options:probe_interval' to configure the probe interval for the North and South db connections from ovn-northd. Requested-by: Girish Moodalbail Signed-off-by: Numan Siddique --- northd/ovn-northd.c | 16 ovn-nb.xml

[ovs-dev] [RFC v2 ovn 2/6] ovn-controller: Refactor binding.c

2020-03-03 Thread numans
From: Numan Siddique Signed-off-by: Numan Siddique --- controller/binding.c| 682 ++-- controller/binding.h| 16 +- controller/ovn-controller.c | 49 ++- controller/pinctrl.c| 19 +- controller/pinctrl.h| 4 +- 5 files

[ovs-dev] [RFC v2 ovn 3/6] ovn-controller: I-P for port binding in runtime_data stage

2020-03-03 Thread numans
From: Numan Siddique This patch handles the port binding changes incrementally in the runtime_data stage. Signed-off-by: Numan Siddique --- controller/binding.c| 455 ++-- controller/binding.h| 7 +- controller/ovn-controller.c | 50 +++- 3

[ovs-dev] [RFC v2 ovn 4/6] ovn-controller: I-P for datapath binding

2020-03-03 Thread numans
From: Numan Siddique This patch adds partial support of incremental processing of datapath binding. If a datapath is deleted, then a full recompute is triggered. Signed-off-by: Numan Siddique --- controller/ovn-controller.c | 26 +- 1 file changed, 25 insertions(+), 1

[ovs-dev] [RFC v2 ovn 1/6] Refactor binding_run()to take two context argument - binding_ctx_in and binding_ctx_out.

2020-03-03 Thread numans
From: Numan Siddique No functional changes are introduced in this patch. Signed-off-by: Numan Siddique --- controller/binding.c| 260 +--- controller/binding.h| 39 +++--- controller/ovn-controller.c | 120 ++--- 3 files changed,

[ovs-dev] [RFC v2 ovn 5/6] ofctrl_check_and_add_flow: Replace the actions of an existing flow if actions have changed.

2020-03-03 Thread numans
From: Numan Siddique If ofctrl_check_and_add_flow(F') is called where flow F' has match-actions (M, A2) and if there already exists a flow F with match-actions (M, A1) in the desired flow table, then this function doesn't update the existing flow F with new actions actions A2. This patch

[ovs-dev] [RFC v2 ovn 6/6] ovn-controller: I-P for ct zone and OVS interface changes

2020-03-03 Thread numans
From: Numan Siddique Signed-off-by: Numan Siddique --- controller/binding.c| 22 -- controller/ovn-controller.c | 86 - controller/ovn-controller.h | 22 ++ controller/physical.c | 47 controller/physical.h

[ovs-dev] [RFC v2 ovn 0/6] Incremental processing improvements.

2020-03-03 Thread numans
From: Numan Siddique This patch series tries to handle port binding, datapath binding and ovs interface changes incrementally. First 2 patches does some refactoring. Submitting this as RFC to get some comments. Still need to update the proper commit messages and fix one test case related to

[ovs-dev] [PATCH ovn] system tests: Fix occasional failure of the test - "Load balancer health checks".

2020-02-28 Thread numans
From: Numan Siddique Due to some timing issues, ovn-controller logs the warning message - "handle service check: Service monitor not found". This can happen if the service monitor is created in SB DB before the port for the service is bound. This patch adds this warning message to the WHITELIST

[ovs-dev] [PATCH ovn] Fix travis CI compilation issue for OSX job

2020-01-24 Thread numans
From: Numan Siddique After the commit [1], the job fails with the below compilation error * lib/actions.c:1187:38: error: format specifies type 'unsigned short' but the argument has type 'int' [-Werror,-Wformat] ds_put_format(s, "=%"PRIu16, dst->weight ? dst->weight : 100);

[ovs-dev] [PATCH] Fix travis CI compilation issue for OSX job

2020-01-24 Thread numans
From: Numan Siddique After the commit [1], the job fails with the below compilation error * lib/actions.c:1187:38: error: format specifies type 'unsigned short' but the argument has type 'int' [-Werror,-Wformat] ds_put_format(s, "=%"PRIu16, dst->weight ? dst->weight : 100);

[ovs-dev] [PATCH ovn 2/4] ovn-controller: Remove ports from struct local_datapaths.

2020-01-24 Thread numans
From: Numan Siddique struct local_datapaths stores the array of port bindings for each datapath. These ports are used only in the pinctrl module to check if a mac binding has been learnt for the buffered packets. MAC bindings are always learnt in the router pipeline and so logical_port column

[ovs-dev] [PATCH ovn 3/4] Refactor lflow functions to take two context argument - lflow_ctx_in and lflow_ctx_out.

2020-01-24 Thread numans
From: Numan Siddique Presently most of the lflow_*() functions called from ovn-controller.c takes lots of arguments. This patch adds 'struct lflow_ctx_in' and 'struct lflow_ctx_out' to simplify the code a bit. This also reduces some code in ovn-controller.c and improves readability to some

[ovs-dev] [PATCH ovn 1/4] Make is_switch() in lflow.c a util function

2020-01-24 Thread numans
From: Numan Siddique This patch renames is_switch() to datapath_is_switch() and moves to lib/ovn-util.c. Upcoming patch will make use of it. Signed-off-by: Numan Siddique --- controller/lflow.c | 11 ++- lib/ovn-util.c | 6 ++ lib/ovn-util.h | 3 ++- 3 files changed, 10

[ovs-dev] [PATCH ovn 4/4] Refactor physical module functions to take context argument - physical_ctx.

2020-01-24 Thread numans
From: Numan Siddique No functional changes are introduced in this patch. Signed-off-by: Numan Siddique --- controller/ovn-controller.c | 183 ++-- controller/physical.c | 104 +--- controller/physical.h | 52 +- 3 files

[ovs-dev] [PATCH ovn v2] ovn-northd: Consider load balancer active backends in router pipeline

2020-01-27 Thread numans
From: Numan Siddique The commit [1] which added lood balancer health check support missed out on updating the logical flows to consider only active backends in the logical router pipeline if a load balancer is associated. This patch fixes it. It also refactors the code a bit. Without this, an

[ovs-dev] [PATCH ovn] Fix tcp_reset action handling

2020-02-05 Thread numans
From: Numan Siddique The current handling of tcp_reset, has few issues. 1. The IP and TCP checksum of the packet injected by ovn-controller is wrong. 2. The ack tcp flag is not set. 3. If there are load balancers configured, the tcp reset packet is sent to the conntrack, which results in

[ovs-dev] [PATCH ovn] rhel: Fix make rpm-fedora

2020-01-31 Thread numans
From: Numan Siddique Recent patches which added Interconnection feature broke "make rpm-fedora". This patch fixes it. Signed-off-by: Numan Siddique --- Makefile.am | 6 +- rhel/ovn-fedora.spec.in | 10 ++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git

[ovs-dev] [PATCH] AUTHORS: Add Manoj Sharma

2020-01-30 Thread numans
From: Numan Siddique Signed-off-by: Numan Siddique --- AUTHORS.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.rst b/AUTHORS.rst index 5062d6687..230e487f0 100644 --- a/AUTHORS.rst +++ b/AUTHORS.rst @@ -236,6 +236,7 @@ Luis E. P. l...@hotmail.com Lukasz

[ovs-dev] [PATCH ovn] ovn-northd: Address scale issues with DNAT flows.

2020-02-01 Thread numans
From: Numan Siddique When the commit [1] added Distributed NAT support in OVN, it didn't address the requirement of making East/West NAT traffic distributed. The E/W NAT traffic was still centralized. Later a couple of patches [2], addressed this requirement. But the approach taken in [2]

[ovs-dev] [PATCH v2 ovn] Save the addr set and port groups in lflow expr cache

2020-02-18 Thread numans
From: Numan Siddique After the patch [1], which added caching of lflow expr, the lflow_resource_ref is not rebuilt properly when lflow_run() is called. If a lflow is already cached in lflow expr cache, then the lflow_resource_ref is not updated. But flow_output_run() clears the

[ovs-dev] [PATCH ovn] ovn-controller: Check for NULL before accessing ovsrec_open_vswitch row.

2020-02-20 Thread numans
From: Numan Siddique There are occasional crashes seen with OpenShift CI gdb) bt * This patch fixes it. Reported-by: Alexander Constantinescu Signed-off-by: Numan Siddique --- controller/ovn-controller.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git

[ovs-dev] [PATCH ovn v2] ovn-controller: Check for NULL before accessing ovsrec_open_vswitch row.

2020-02-20 Thread numans
From: Numan Siddique There are occasional crashes seen with OpenShift CI gdb) bt 0 hmap_first_with_hash (hmap=0x128, hmap=0x128, hash=2563384147) at include/openvswitch/hmap.h:328 1 smap_find__ (smap=0x128, key=key@entry=0x558de1ab278f "ovn-openflow-probe-interval", key_len=27,

[ovs-dev] [PATCH ovn 1/2] Fix incorrect version display

2020-02-14 Thread numans
From: Numan Siddique Running any ovn binary with --version displays wrong version information. This patch fixes it. Signed-off-by: Numan Siddique --- controller-vtep/ovn-controller-vtep.c | 4 ++-- controller/ovn-controller.c | 2 +- ic/ovn-ic.c | 4 ++--

[ovs-dev] [PATCH ovn 2/2] rhel: Fix make rpm-fedora

2020-02-14 Thread numans
From: Numan Siddique After the OVN version change to 20.03.90, make rpm-fedora is broken. This patch fixes it. It now detects the OVS version from the configured ovs build dir and uses it. Signed-off-by: Numan Siddique --- Makefile.am | 1 + acinclude.m4| 3 +++

[ovs-dev] [PATCH ovn] ovn-ctl: Provide the option to configure inactive probe from standby to active.

2020-02-16 Thread numans
From: Numan Siddique Recently ovsdb-server supported an unixctl command - ovsdb-server/set-active-ovsdb-server-probe-interval to configure inactive probe interval from standby connection to the active. This patch provides the option to configure this from ovn-ctl and the pacemaker OVN OCF

[ovs-dev] [PATCH ovn] ovn-controller: Don't clear the lflow resources ref during flow_output_run

2020-02-18 Thread numans
From: Numan Siddique After the patch [1], which added caching of lflow expr, the lflow_resource_ref is not rebuilt properly when lflow_run() is called. If a lflow is already cached in lflow expr cache, then the lflow_resource_ref is not updated. But flow_output_run() clears the

[ovs-dev] [PATCH ovn 1/2] Refactor lflow functions to take one context argument - lflow_ctx.

2020-01-10 Thread numans
From: Numan Siddique Presently most of the lflow_*() functions called from ovn-controller.c takes lots of arguments. This patch adds 'struct lflow_ctx' to simplify the code a bit. This also reduces some code in ovn-controller.c and improves readability to some degree. No functional changes are

[ovs-dev] [PATCH ovn 2/2] Refactor physical module functions to take context argument - physical_ctx.

2020-01-10 Thread numans
From: Numan Siddique No functional changes are introduced in this patch. Signed-off-by: Numan Siddique --- controller/ovn-controller.c | 185 ++-- controller/physical.c | 126 +++- controller/physical.h | 46 - 3 files

[ovs-dev] [PATCH ovn v2] Restrict ARP/IPv6 ND replies for LB VIP only on chassis redirect port

2020-01-09 Thread numans
From: Numan Siddique Presently when ARP/ND request for the load balance VIP is received from the provider network, all the ovn-controllers' reply to the ARP/ND request which have ovn-bridge-mappings configured. This patch restricts these ARP/ND replies only on the chassis where the chassis

[ovs-dev] [PATCH ovn] Restrict ARP replies for LB VIP only on chassis redirect port

2020-01-09 Thread numans
From: Numan Siddique Presently when ARP request for the load balance VIP is received from the provider network, all the ovn-controllers' reply to the ARP request which have ovn-bridge-mappings configured. This patch restricts these ARP replies only on the chassis where the chassis redirect port

[ovs-dev] [PATCH ovn 1/2] expr: Evaluate the condition expression in a separate step.

2020-01-09 Thread numans
From: Numan Siddique A new function is added - expr_evaluate_condition() which evaluates the condition expression - is_chassis_resident. expr_simply() will no longer evaluates this condition. An upcoming commit needs this in order to cache the logical flow expressions so that every lflow_*()

[ovs-dev] [PATCH ovn 2/2] ovn-controller: Cache logical flow expr tree for each lflow.

2020-01-09 Thread numans
From: Numan Siddique This patch caches the logical flow expr tree for each logical flow. This cache is stored as an hashmap in the output_flow engine data. When a logical flow is deleted, the expr tree for that lflow is deleted in the flow_output_sb_logical_flow_handler(). Below are the details

[ovs-dev] [PATCH ovn 0/2] Caching logical flow expr tree for each lflow

2020-01-09 Thread numans
From: Numan Siddique This patch series tries to improve the time taken to proceess logical flows by caching the expr tree. For large scale deployments with lots of logical flows, the logical flow processing to OpenFlow rules takes a lot of time as it is CPU intensive. This patch series tries to

[ovs-dev] [PATCH 2/2] ovn-controller: Remove ports from struct local_datapaths.

2020-01-22 Thread numans
From: Numan Siddique struct local_datapaths stores the array of port bindings for each datapath. These ports are used only in the pinctrl module to check if a mac binding has been learnt for the buffered packets. MAC bindings are always learnt in the router pipeline and so logical_port column

[ovs-dev] [PATCH 1/2] Make is_switch() in lflow.c a util function

2020-01-22 Thread numans
From: Numan Siddique This patch renames is_switch() to datapath_is_switch() and moves to lib/ovn-util.c. Upcoming patch will make use of it. Signed-off-by: Numan Siddique --- controller/lflow.c | 11 ++- lib/ovn-util.c | 6 ++ lib/ovn-util.h | 3 ++- 3 files changed, 10

[ovs-dev] [PATCH] Fix links to ovs-advanced tutorial

2020-01-17 Thread numans
From: Lars Kellogg-Stedman This fixes the broken link in the README to the ovs-advanced tutorial. This also adds a hyperlink to Documentation/tutorials/ovn-sandbox.rst where the tutorial is referenced. Closes #7 Signed-off-by: Lars Kellogg-Stedman --- Documentation/tutorials/ovn-sandbox.rst

[ovs-dev] [PATCH ovn v2 0/2] Caching logical flow expr tree for each lflow

2020-01-21 Thread numans
From: Numan Siddique This patch series tries to improve the time taken to proceess logical flows by caching the expr tree. For large scale deployments with lots of logical flows, the logical flow processing to OpenFlow rules takes a lot of time as it is CPU intensive. This patch series tries to

[ovs-dev] [PATCH ovn v2 2/2] ovn-controller: Cache logical flow expr tree for each lflow.

2020-01-21 Thread numans
From: Numan Siddique This patch caches the logical flow expr tree for each logical flow. This cache is stored as an hashmap in the output_flow engine data. When a logical flow is deleted, the expr tree for that lflow is deleted in the flow_output_sb_logical_flow_handler(). Below are the details

[ovs-dev] [PATCH ovn v2 1/2] expr: Evaluate the condition expression in a separate step.

2020-01-21 Thread numans
From: Numan Siddique A new function is added - expr_evaluate_condition() which evaluates the condition expression - is_chassis_resident. expr_simply() will no longer evaluates this condition. An upcoming commit needs this in order to cache the logical flow expressions so that every lflow_*()

[ovs-dev] [PATCH ovn] Fix the travis CI compilation error seen for osx job

2020-01-10 Thread numans
From: Numan Siddique After the commit [1], travis CI job for osx [2] is failing with the below error: * In file included from lib/actions.c:25: ./lib/ovn-l7.h:246:9: error: 'ND_OPT_ROUTE_INFO' macro redefined [-Werror,-Wmacro-redefined] ^ /usr/include/netinet/icmp6.h:329:9: note:

[ovs-dev] [PATCH ovn] ovn-controller: Don't monitor connection table columns

2019-12-24 Thread numans
From: Numan Siddique ovn-controller doesn't need to know any changes to the connection table row. This patch omits alerts for the Connection table columns. In a large scale deployment like 1000 chassis, this can cause lot of CPU cycle wastages as ovsdb-server has to send out updates to all the

[ovs-dev] [PATCH v6] ovsdb replication: Provide option to configure probe interval.

2020-01-06 Thread numans
From: Numan Siddique When ovsdb-server is in backup mode and connects to the active ovsdb-server for replication, and if takes more than 5 seconds to get the dump of the whole database, it will drop the connection soon after as the default probe interval is 5 seconds. This results in a snowball

[ovs-dev] [PATCH v5] ovsdb replication: Provide option to configure probe interval.

2020-01-06 Thread numans
From: Numan Siddique When ovsdb-server is in backup mode and connects to the active ovsdb-server for replication, and if takes more than 5 seconds to get the dump of the whole database, it will drop the connection soon after as the default probe interval is 5 seconds. This results in a snowball

[ovs-dev] [PATCH ovn v2] ovn-northd: Add lflows to by pass the svc monitor packets from conntrack.

2020-03-12 Thread numans
From: Numan Siddique The commit [1] added lflows to by pass the service monitor health check packets from conntrack. But it missed out adding in the ingress pre_acl and egress pre_acl of logical switch pipeline. This patch adds these missing lflows. It also enhanced the system lb health check

[ovs-dev] [PATCH ovn] ovn-northd: Add lflows to by pass the svc monitor packets from conntrack.

2020-03-11 Thread numans
From: Numan Siddique The commit [1] added lflows to by pass the service monitor health check packets from conntrack. But it missed out adding in the ingress pre_acl and egress pre_acl of logical switch pipeline. This patch adds these missing lflows. It also enhanced the system lb health check

[ovs-dev] [PATCH ovn v3] ovn-nbctl: Create daemon control socket in ovn run dir

2020-04-08 Thread numans
From: Numan Siddique ovn-nbctl when run as a daemon is creating the ctl socket in the ovs rundir. This patch fixes this issue by creating it in the ovn rundir. When an ovn service is run with -u option (which specifies the ctl socket path) and if this path is not absolute, the ovn ctl socket

[ovs-dev] [PATCH ovn] tests: Fix occasional failures for test 85.

2020-04-17 Thread numans
From: Numan Siddique The test case "85: ovn -- send gratuitous ARP for NAT rules on HA distributed router" fails occaionally. On faster systems, chances of failure are higher. This patch fixes this. Signed-off-by: Numan Siddique --- tests/ovn.at | 21 +++-- 1 file changed,

[ovs-dev] [PATCH ovn v3 09/10] This patch processes the logical flows of tracked datapaths and tracked logical ports. To handle the tracked logical port changes, reference of logical flows to port bin

2020-04-17 Thread numans
From: Venkata Anil Co-Authored-by: Numan Siddique Signed-off-by: Venkata Anil Signed-off-by: Numan Siddique --- controller/lflow.c | 69 - controller/lflow.h | 12 +++- controller/ovn-controller.c | 116 +++-

[ovs-dev] [PATCH ovn v3 06/10] ovn-controller: I-P for ct zone and OVS interface changes in flow output stage.

2020-04-17 Thread numans
From: Numan Siddique This patch handles ct zone changes and OVS interface changes incrementally in the flow output stage. Any changes to ct zone can be handled by running physical_run() instead of running flow_output_run(). And any changes to OVS interfaces can be either handled incrementally

[ovs-dev] [PATCH ovn v3 07/10] I-P engine: Provide the option for an engine to store changed data

2020-04-17 Thread numans
From: Numan Siddique With this patch, an engine node which is an input to another engine node can provide the tracked data. The parent of this engine node can handle this tracked data incrementally. At the end of the engine_run(), the tracked data of the nodes are cleared. Signed-off-by: Numan

[ovs-dev] [PATCH ovn v3 03/10] ovn-controller: I-P for SB port binding and OVS interface in runtime_data.

2020-04-17 Thread numans
From: Numan Siddique This patch handles SB port binding changes and OVS interface changes incrementally in the runtime_data stage which otherwise would have resulted in calls to binding_run(). Prior to this patch, port binding changes were handled differently. The changes were only evaluated to

[ovs-dev] [PATCH ovn v3 05/10] ofctrl_check_and_add_flow: Replace the actions of an existing flow if actions have changed.

2020-04-17 Thread numans
From: Numan Siddique If ofctrl_check_and_add_flow(F') is called where flow F' has match-actions (M, A2) and if there already exists a flow F with match-actions (M, A1) in the desired flow table, then this function doesn't update the existing flow F with new actions actions A2. This patch is

[ovs-dev] [PATCH ovn v3 04/10] ovn-controller: I-P for datapath binding

2020-04-17 Thread numans
From: Numan Siddique This patch adds partial support of incremental processing of datapath binding. If a datapath is deleted, then a full recompute is triggered if that datapath is present in the 'local_datapaths' hmap of runtime data. Signed-off-by: Numan Siddique ---

[ovs-dev] [PATCH ovn v3 08/10] I-P engine: Handle runtime data changes in flow output engine

2020-04-17 Thread numans
From: Numan Siddique In order to handle runtime data changes incrementally, the flow outut runtime data handle should know the changed runtime data. Runtime data now tracks the changed data for any OVS interface and SB port binding changes. The tracked data contains a hmap of tracked datapaths

[ovs-dev] [PATCH ovn v3 10/10] I-P: Handle sbrec_chassis changes

2020-04-17 Thread numans
From: Numan Siddique When ovn-controller updates the nb_cfg column of its chassis, this results in full recomputation on all the nodes. This results in wastage of CPU cycles. To address this, this patch handles sbrec_chassis changes incrementally. We don't need to handle any sbrec_chassis

[ovs-dev] [PATCH ovn v3 02/10] ovn-controller: Store the local port bindings in the runtime data I-P state.

2020-04-17 Thread numans
From: Numan Siddique This patch adds a new data structure - 'struct local_binding' which represents a probable local port binding. A new object of this structure is creared for each interface present in the integration bridge (br-int) with the external_ids:iface-id set. This struct has 2 main

[ovs-dev] [PATCH ovn v3 01/10] Refactor binding_run() to take two context argument - binding_ctx_in and binding_ctx_out.

2020-04-17 Thread numans
From: Numan Siddique No functional changes are introduced in this patch. Signed-off-by: Numan Siddique --- controller/binding.c| 263 +--- controller/binding.h| 39 -- controller/ovn-controller.c | 120 +--- 3 files changed, 217

[ovs-dev] [PATCH ovn v3 00/10] Incremental processing improvements.

2020-04-17 Thread numans
From: Numan Siddique This patch series handles port binding, datapath binding, ovs interface changes, runtime data changes, sb chassis changes incrementally. Below are the results of some testing I did with ovn-fake-multinode setup Test setup -- 1. ovn-central fake node running OVN dbs

[ovs-dev] [PATCH ovn v2] ovn-nbctl: Create daemon control socket in ovn run dir

2020-04-07 Thread numans
From: Numan Siddique ovn-nbctl when run as a daemon is creating the ctl socket in the ovs rundir. This patch fixes this issue by creating it in the ovn rundir. When an ovn service is run with -u option (which specifies the ctl socket path) and if this path is not absolute, the ovn ctl socket

[ovs-dev] [PATCH ovn] Create daemon pidfiles in ovn run dir.

2020-04-21 Thread numans
From: Numan Siddique If an OVN service is started with --pidfile option, the pidfile is created in the ovs rundir. This patch fixes it by using the ovn rundir if either the pidfile is not specified or if specified, it is not absolute path. Signed-off-by: Numan Siddique ---

[ovs-dev] [PATCH ovn] controller: Use OpenFlow version 1.5

2020-04-21 Thread numans
From: Numan Siddique When adding flows to the group table, we need to use OFP15_VERSION to set the selection_method. Right now ovn-controller is setting select_method=dp_hash for OVN load balancers, but when encoding the group mod, it is ignored. Signed-off-by: Numan Siddique ---

[ovs-dev] [PATCH ovn] pinctrl: Handle service monitors even if the lport doesn't have IPv4 addresses set.

2020-04-17 Thread numans
From: Numan Siddique If a logical port is only configured with MAC address(es) in the Logical_Switch_Port.addresses, pinctrl is ignoring the service monitors configured for that logical port. This patch allows that. Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=1801058 Signed-off-by:

  1   2   3   4   5   6   7   8   >