[ovs-dev] Business Contacts

2020-06-05 Thread Jamie Wagner
Hi,

Can we send you a sample of one of our B2B Marketing lists? Shall I send you
5 to 8 samples for your review.

All Industrial Sectors:

Information Technology | Logistics | Oil & Gas | Automotive | Energy |
Transportation | Construction | Pharmaceuticals | Veterinary | Travel
 |Telecommunications | Retail | Banking | Manufacturing |Health Care
| Interior Designers | Facility Management | Education & E-Learning |
Architects | Food & Beverages | Real Estate| HR | Hospitality | Aviation and
more. etc.

Our lists come with complete information such as First Name, Last Name,
Company Name, Company URL, Title, Physical Address, Phone Number, Industry,
Revenue, Employee size and especially verified Email Addresses.

 

Job titles will come like CEOs, CFOs, CTOs, COOs, CIOs, Presidents,
Chairman's, GMs, Mid level Managers, Sales and Marketing Managers, HR
Managers, Finance Manager, Travel Trade Marketing Manager, Tour Group
Leader, Corporate Travel Specialist,

 

Kindly just share your requirements by filling in the below table:

Industries:?

Job Titles:?

Geography:?

I'll come up with the data counts & costs for your review.

Regards,

 

Jamie Wagner

Business Development Executive 

  _  

Note: You were specifically sent this email based upon your company profile.
If for some reason this was sent in error or you wish not to receive any
further messages from us please reply with subject line as "Exclude" to
exclude from all future mailings.

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] Excel: Crear, editar y administrar reglas

2020-06-05 Thread Automatizar y optimizar el trabajo en Excel
Buenos día 
Quise aprovechar la oportunidad de hacerte una invitación para tomar nuestro 
curso de 9 horas en 3 sesiones de 3 Horas :
 
Nombre: Excel: Fórmulas y funciones.
Fechas y horas: 
Sábado 20 de junio - Sábado 27 de junio y Sábado 4 de julio
Formato: En línea con interacción en vivo.
Precio:
Individual (1 conexión):Por solo 2,695 + IVA 
Empresarial (3 conexiones):Por solo 7,235 + IVA
Lugar: En Vivo desde su computadora
Instructor: José Chabarría

Ese curso te enseña a utilizar las funciones más comunes de Microsoft Excel, la 
creación de fórmulas,
y a automatizar una hoja de cálculo. Al término del curso, el participante será 
capaz de utilizar con 
soltura la hoja de cálculo de Excel.

Al finalizar el curso, el participante será capaz de:

- Escribir fórmulas dinámicas desde cero.
- Utilizar funciones avanzadas.
- Automatizar y optimizar el trabajo en Excel.
- Construir fórmulas para analizar fechas, campos de texto, valores numéricos y 
matrices.

Solicita información respondiendo a este correo con la palabra Excel, junto con 
los siguientes datos:

Nombre:
Correo electrónico:
Número telefónico:
Email Alterno:

Números de Atención: 55 15 54 66 30 - 55 30 16 70 85  

Qué tengas un gran día.
Saludos.


___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH ovs-dev] netdev-offload-tc: Allow installing arp rules to TC dp.

2020-06-05 Thread 0-day Robot
Bleep bloop.  Greetings Tonghao Zhang, I am a robot and I have tried out your 
patch.
Thanks for your contribution.

I encountered some error that I wasn't expecting.  See the details below.


git-am:
error: sha1 information is lacking or useless (lib/netdev-offload-tc.c).
error: could not build fake ancestor
hint: Use 'git am --show-current-patch' to see the failed patch
Patch failed at 0001 netdev-offload-tc: Allow installing arp rules to TC dp.
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".


Please check this out.  If you feel there has been an error, please email 
acon...@redhat.com

Thanks,
0-day Robot
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH v2 2/2] tc: Support new terse dump kernel API

2020-06-05 Thread 0-day Robot
Bleep bloop.  Greetings Roi Dayan, I am a robot and I have tried out your patch.
Thanks for your contribution.

I encountered some error that I wasn't expecting.  See the details below.


checkpatch:
WARNING: Line is 86 characters long (recommended limit is 79)
#146 FILE: lib/tc.c:1750:
VLOG_ERR_RL(_rl, "failed to parse flower classifier terse 
options");

Lines checked: 226, Warnings: 1, Errors: 0


Please check this out.  If you feel there has been an error, please email 
acon...@redhat.com

Thanks,
0-day Robot
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH v2 1/2] netdev-offload: Implement terse dump support

2020-06-05 Thread 0-day Robot
Bleep bloop.  Greetings Roi Dayan, I am a robot and I have tried out your patch.
Thanks for your contribution.

I encountered some error that I wasn't expecting.  See the details below.


checkpatch:
WARNING: Line is 86 characters long (recommended limit is 79)
#146 FILE: lib/tc.c:1750:
VLOG_ERR_RL(_rl, "failed to parse flower classifier terse 
options");

Lines checked: 226, Warnings: 1, Errors: 0


Please check this out.  If you feel there has been an error, please email 
acon...@redhat.com

Thanks,
0-day Robot
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH ovn v2] Make the notify() calls work with IPv6 in the OCF resource-agent

2020-06-05 Thread 0-day Robot
Bleep bloop.  Greetings Michele Baldessari, I am a robot and I have tried out 
your patch.
Thanks for your contribution.

I encountered some error that I wasn't expecting.  See the details below.


git-am:
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch' to see the failed patch
Patch failed at 0001 Make the notify() calls work with IPv6 in the OCF 
resource-agent
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".


Please check this out.  If you feel there has been an error, please email 
acon...@redhat.com

Thanks,
0-day Robot
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH v2 3/4] netdev-offload-tc: Allow to match the IP and port mask of tunnel

2020-06-05 Thread 0-day Robot
Bleep bloop.  Greetings Tonghao Zhang, I am a robot and I have tried out your 
patch.
Thanks for your contribution.

I encountered some error that I wasn't expecting.  See the details below.


git-am:
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch' to see the failed patch
Patch failed at 0001 netdev-offload-tc: Allow to match the IP and port mask of 
tunnel
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".


Please check this out.  If you feel there has been an error, please email 
acon...@redhat.com

Thanks,
0-day Robot
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH v2 2/4] netdev-offload-tc: Use ipv6_addr_is_set instead of is_all_zeros

2020-06-05 Thread 0-day Robot
Bleep bloop.  Greetings Tonghao Zhang, I am a robot and I have tried out your 
patch.
Thanks for your contribution.

I encountered some error that I wasn't expecting.  See the details below.


checkpatch:
WARNING: Line is 86 characters long (recommended limit is 79)
#146 FILE: lib/tc.c:1750:
VLOG_ERR_RL(_rl, "failed to parse flower classifier terse 
options");

Lines checked: 226, Warnings: 1, Errors: 0


Please check this out.  If you feel there has been an error, please email 
acon...@redhat.com

Thanks,
0-day Robot
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH v2 1/4] dpif-netlink: Generate ufids for installing TC flowers

2020-06-05 Thread 0-day Robot
Bleep bloop.  Greetings Tonghao Zhang, I am a robot and I have tried out your 
patch.
Thanks for your contribution.

I encountered some error that I wasn't expecting.  See the details below.


checkpatch:
WARNING: Line is 86 characters long (recommended limit is 79)
#146 FILE: lib/tc.c:1750:
VLOG_ERR_RL(_rl, "failed to parse flower classifier terse 
options");

Lines checked: 226, Warnings: 1, Errors: 0


Please check this out.  If you feel there has been an error, please email 
acon...@redhat.com

Thanks,
0-day Robot
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH 1/7] event: add api to manage user defined events

2020-06-05 Thread 0-day Robot
Bleep bloop.  Greetings Gowrishankar Muthukrishnan, I am a robot and I have 
tried out your patch.
Thanks for your contribution.

I encountered some error that I wasn't expecting.  See the details below.


build:
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I ./include -I ./include 
-I ./lib -I ./lib -Wstrict-prototypes -Wall -Wextra -Wno-sign-compare 
-Wpointer-arith -Wformat -Wformat-security -Wswitch-enum -Wunused-parameter 
-Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wold-style-definition 
-Wmissing-prototypes -Wmissing-field-initializers -fno-strict-aliasing -Wshadow 
-Werror -Werror -g -O2 -MT lib/dpif-netdev-perf.lo -MD -MP -MF 
lib/.deps/dpif-netdev-perf.Tpo -c lib/dpif-netdev-perf.c -o 
lib/dpif-netdev-perf.o
depbase=`echo lib/dpif.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/sh ./libtool  --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. 
   -I ./include -I ./include -I ./lib -I ./lib-Wstrict-prototypes -Wall 
-Wextra -Wno-sign-compare -Wpointer-arith -Wformat -Wformat-security 
-Wswitch-enum -Wunused-parameter -Wbad-function-cast -Wcast-align 
-Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes 
-Wmissing-field-initializers -fno-strict-aliasing -Wshadow -Werror -Werror   -g 
-O2 -MT lib/dpif.lo -MD -MP -MF $depbase.Tpo -c -o lib/dpif.lo lib/dpif.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I ./include -I ./include 
-I ./lib -I ./lib -Wstrict-prototypes -Wall -Wextra -Wno-sign-compare 
-Wpointer-arith -Wformat -Wformat-security -Wswitch-enum -Wunused-parameter 
-Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wold-style-definition 
-Wmissing-prototypes -Wmissing-field-initializers -fno-strict-aliasing -Wshadow 
-Werror -Werror -g -O2 -MT lib/dpif.lo -MD -MP -MF lib/.deps/dpif.Tpo -c 
lib/dpif.c -o lib/dpif.o
depbase=`echo lib/event.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/sh ./libtool  --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. 
   -I ./include -I ./include -I ./lib -I ./lib-Wstrict-prototypes -Wall 
-Wextra -Wno-sign-compare -Wpointer-arith -Wformat -Wformat-security 
-Wswitch-enum -Wunused-parameter -Wbad-function-cast -Wcast-align 
-Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes 
-Wmissing-field-initializers -fno-strict-aliasing -Wshadow -Werror -Werror   -g 
-O2 -MT lib/event.lo -MD -MP -MF $depbase.Tpo -c -o lib/event.lo lib/event.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I ./include -I ./include 
-I ./lib -I ./lib -Wstrict-prototypes -Wall -Wextra -Wno-sign-compare 
-Wpointer-arith -Wformat -Wformat-security -Wswitch-enum -Wunused-parameter 
-Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wold-style-definition 
-Wmissing-prototypes -Wmissing-field-initializers -fno-strict-aliasing -Wshadow 
-Werror -Werror -g -O2 -MT lib/event.lo -MD -MP -MF lib/.deps/event.Tpo -c 
lib/event.c -o lib/event.o
lib/event.c: In function 'event_delete':
lib/event.c:258:9: error: implicit declaration of function 'stopwatch_count' 
[-Werror=implicit-function-declaration]
 if (!stopwatch_count()) {
 ^
lib/event.c:259:13: error: implicit declaration of function 'stopwatch_exit' 
[-Werror=implicit-function-declaration]
 stopwatch_exit();
 ^
lib/event.c:261:13: error: implicit declaration of function 'stopwatch_delete' 
[-Werror=implicit-function-declaration]
 stopwatch_delete(ev->name);
 ^
cc1: all warnings being treated as errors
make[2]: *** [lib/event.lo] Error 1
make[2]: Leaving directory 
`/var/lib/jenkins/jobs/0day_robot_upstream_build_from_pw/workspace'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory 
`/var/lib/jenkins/jobs/0day_robot_upstream_build_from_pw/workspace'
make: *** [all] Error 2


Please check this out.  If you feel there has been an error, please email 
acon...@redhat.com

Thanks,
0-day Robot
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH] docs: Remove duplicate word from vhost-user doc.

2020-06-05 Thread Gregory Rose



On 6/5/2020 12:24 PM, Flavio Leitner wrote:

Fixes: 49df3c0fe779 ("docs: DPDK isn't a datapath, so don't use the term.")
Signed-off-by: Flavio Leitner 
---
  Documentation/topics/dpdk/vhost-user.rst | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/Documentation/topics/dpdk/vhost-user.rst 
b/Documentation/topics/dpdk/vhost-user.rst
index c6c6fd8bd..17abf78c9 100644
--- a/Documentation/topics/dpdk/vhost-user.rst
+++ b/Documentation/topics/dpdk/vhost-user.rst
@@ -25,9 +25,9 @@
  DPDK vHost User Ports
  =
  
-OVS userspace switching supports supports vHost user ports as a

-primary way to interact with guests.  For more information on vHost
-User, refer to the `QEMU documentation`_ on same.
+OVS userspace switching supports vHost user ports as a primary way to
+interact with guests.  For more information on vHost User, refer to
+the `QEMU documentation`_ on same.
  
  .. important::
  



Stuttering documentation isn't good.

Acked-by: Greg Rose 
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH v2 3/5] Fixes for build with extra warnings

2020-06-05 Thread 0-day Robot
Bleep bloop.  Greetings Anton Ivanov, I am a robot and I have tried out your 
patch.
Thanks for your contribution.

I encountered some error that I wasn't expecting.  See the details below.


build:
/bin/sh ./libtool  --tag=CC   --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. 
   -I ./include -I ./include -I ./lib -I ./lib-Wstrict-prototypes -Wall 
-Wextra -Wno-sign-compare -Wpointer-arith -Wformat -Wformat-security 
-Wswitch-enum -Wunused-parameter -Wbad-function-cast -Wcast-align 
-Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes 
-Wmissing-field-initializers -fno-strict-aliasing -Wshadow -Werror -Werror   -g 
-O2 -MT lib/async-append-aio.lo -MD -MP -MF $depbase.Tpo -c -o 
lib/async-append-aio.lo lib/async-append-aio.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I ./include -I ./include 
-I ./lib -I ./lib -Wstrict-prototypes -Wall -Wextra -Wno-sign-compare 
-Wpointer-arith -Wformat -Wformat-security -Wswitch-enum -Wunused-parameter 
-Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wold-style-definition 
-Wmissing-prototypes -Wmissing-field-initializers -fno-strict-aliasing -Wshadow 
-Werror -Werror -g -O2 -MT lib/async-append-aio.lo -MD -MP -MF 
lib/.deps/async-append-aio.Tpo -c lib/async-append-aio.c -o 
lib/async-append-aio.o
lib/async-append-aio.c: In function 'async_append_is_full':
lib/async-append-aio.c:83:13: error: passing argument 1 of 'byteq_is_full' 
discards 'const' qualifier from pointer target type [-Werror]
 || byteq_is_full(>byteq));
 ^
In file included from lib/async-append-aio.c:28:0:
lib/byteq.h:37:6: note: expected 'struct byteq *' but argument is of type 
'const struct byteq *'
 bool byteq_is_full(struct byteq *);
  ^
lib/async-append-aio.c: In function 'async_append_is_empty':
lib/async-append-aio.c:89:5: error: passing argument 1 of 'byteq_is_empty' 
discards 'const' qualifier from pointer target type [-Werror]
 return byteq_is_empty(>byteq);
 ^
In file included from lib/async-append-aio.c:28:0:
lib/byteq.h:36:6: note: expected 'struct byteq *' but argument is of type 
'const struct byteq *'
 bool byteq_is_empty(struct byteq *);
  ^
cc1: all warnings being treated as errors
make[2]: *** [lib/async-append-aio.lo] Error 1
make[2]: Leaving directory 
`/var/lib/jenkins/jobs/0day_robot_upstream_build_from_pw/workspace'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory 
`/var/lib/jenkins/jobs/0day_robot_upstream_build_from_pw/workspace'
make: *** [all] Error 2


Please check this out.  If you feel there has been an error, please email 
acon...@redhat.com

Thanks,
0-day Robot
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] hi

2020-06-05 Thread wilder Kahn
 My name is lemu toniv,
please i am not always online on here,
write me at email ( lemuto...@gmail.com)
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] [PATCH] docs: Remove duplicate word from vhost-user doc.

2020-06-05 Thread Flavio Leitner
Fixes: 49df3c0fe779 ("docs: DPDK isn't a datapath, so don't use the term.")
Signed-off-by: Flavio Leitner 
---
 Documentation/topics/dpdk/vhost-user.rst | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/Documentation/topics/dpdk/vhost-user.rst 
b/Documentation/topics/dpdk/vhost-user.rst
index c6c6fd8bd..17abf78c9 100644
--- a/Documentation/topics/dpdk/vhost-user.rst
+++ b/Documentation/topics/dpdk/vhost-user.rst
@@ -25,9 +25,9 @@
 DPDK vHost User Ports
 =
 
-OVS userspace switching supports supports vHost user ports as a
-primary way to interact with guests.  For more information on vHost
-User, refer to the `QEMU documentation`_ on same.
+OVS userspace switching supports vHost user ports as a primary way to
+interact with guests.  For more information on vHost User, refer to
+the `QEMU documentation`_ on same.
 
 .. important::
 
-- 
2.26.2

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] LbonquePostαle.fr :Vous avez un nouveau  à dispαsition

2020-06-05 Thread La Banque postale
Chère Cliente, Cher Client,

Vous avez reçu une notification importante concernant le fonctionnement
de votre compte dans votre Espace Client Banque postale.

Nous vous invitons à en prendre connaissance dans les meilleurs délais :

"Une opération nécessitant une intervention de votre part doit être régularisée 
au plus tôt."

Pour le consulter, connectez-vous sur votre Espace client : Cliquez-ici.

Nous vous prions de croire, chère cliente, cher client,
à l'assurance de nos meilleures considérations.

La Banque postale

La Banque postale, SA au capital de 2 499 597 122 € – Siège social : 16 
boulevard des Italiens,
75009 Paris - Immatriculée sous le n° 662042449 RCS Paris - Identifiant CE 
FR76662042449 - Orias n°07 022 735.

***

Ce message est généré automatiquement, ne répondez pas à l'expéditeur.
Si vous n'êtes pas destinataire(s) de ce message, merci de le détruire.

Afin de contribuer au respect de l'environnement, merci de n'imprimer ce mail 
qu'en cas de nécessité.

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH] raft: Avoid sending equal snapshots.

2020-06-05 Thread Ilya Maximets
On 5/28/20 7:06 PM, Ilya Maximets wrote:
> On 5/23/20 8:36 PM, Han Zhou wrote:
>>
>>
>> On Sat, May 23, 2020 at 10:34 AM Ilya Maximets > > wrote:
>>>
>>> Snapshots are huge.  In some cases we could receive several outdated
>>> append replies from the remote server.  This could happen in high
>>> scale cases if the remote server is overloaded and not able to process
>>> all the raft requests in time.  As an action to each outdated append
>>> reply we're sending full database snapshot.  While remote server is
>>> already overloaded those snapshots will stuck in jsonrpc backlog for
>>> a long time making it grow up to few GB.  Since remote server wasn't
>>> able to timely process incoming messages it will likely not able to
>>> process snapshots leading to the same situation with low chances to
>>> recover.  Remote server will likely stuck in 'candidate' state, other
>>> servers will grow their memory consumption due to growing jsonrpc
>>> backlogs:
>>
>> Hi Ilya, this patch LGTM. Just not not clear about this last part of the 
>> commit message. Why would remote server stuck in 'candidate' state if there 
>> are pending messages from leader for it to handle? If the follower was busy 
>> processing older messages, it wouldn't have had a chance to see election 
>> timer timeout without receiving heartbeat from leader, so it shouldn't try 
>> to start voting, right? Otherwise:
>>
>> Acked-by: Han Zhou mailto:hz...@ovn.org>>
> 
> Thanks!  Applied to master.

As agreed during OVN weekly irc meeting, I also backported this fix
to branch-2.13.

Best regards, Ilya Maximets.
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] RE; KINDLY ACCEPT MY FUND PROPOSAL

2020-06-05 Thread Mrs. Maria Nelsoma via dev
From: Mrs. Maria Nelsoma

I am Mrs. Maria Nelsoma Who married to Mr. Robert Nelsoma who worked in Many 
Embassy like USA, AUSTRALIA AND FRANCE before he finally end up in Benin 
Republic.  We were married for 25 years without a child. He died after a brief 
illness that lasted for only four days. Before his death we were both born 
again Christian. 

Since his death I decided not to remarry or get a child outside my matrimonial 
home which the Bible is against. When my late husband was alive he deposited 
the sum of $4.2 Four Million Two hundred Thousand Dollars (4.2) Million U.S. 
Dollars) in the bank here in a fixed suspense account and he declare the fund 
where made for our family intending business,

Presently, I am very sick at the Centre National Hospitalier et Universitaire 
(CNHU) Hospital here in Benin Republic, my doctor told me that I have serious 
cancer which the doctor gave me no assurance of surviving it and I have few 
time to live here on earth. I decided to use that fund to help the orphanages, 
widows, and the Less Privilege ones all over the world.  Having known my 
condition according to the doctor I decided to donate this fund to a church or 
individual that will utilize this money the way I wish by helping the house of 
God or building.

The Bible made us to understand that blessed is the hand that giveth. I took 
this decision because I don’t have any child that will inherit this money. I 
don’t want a situation where this money will be used in an ungodly way. This is 
why I am taking this decision. I am not afraid of death hence I know where I am 
going. I know that I am going to be in the bosom of the Lord. 

 With God all things are possible. As soon as I receive your reply I shall give 
you the contact of the bank here in Benin Republic where my husband deposited 
the money. I want you and the church to always pray for me because the lord is 
my shepherd, my happiness is that I lived a life of a worthy of emulations.

Whosoever that wants to serve the Lord must serve him in spirit and Truth. 
Please always be prayerful all through your life. Please assure me that you 
will act accordingly as I Stated herein. That you will not betray me or you 
shall take an Oath of this fund that you will never go against my last wish. 

Do not be afraid of the bank where the fund was deposited because the bank my 
husband deposited this fund has as Corresponding or Affiliated Bank in Europe 
and United State. 

Remain blessed in the Lord.

Yours,
Mrs. Maria Nelsoma
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] [PATCH ovs-dev v2] netdev-offload-tc: Allow installing arp rules to TC dp.

2020-06-05 Thread xiangxia . m . yue
From: Tonghao Zhang 

This patch allows to install arp rules to tc dp.
In the future, arp will be offloaded to hardware to
be processed. So OvS enable this now.

$ ovs-appctl dpctl/add-flow 'recirc_id(0),in_port(3),eth(),\
  eth_type(0x0806),arp(op=2,tha=00:50:56:e1:4b:ab,tip=10.255.1.116)' 2

$ ovs-appctl dpctl/dump-flows
  ... arp(tip=10.255.1.116,op=2,tha=00:50:56:e1:4b:ab) ...

$ tc filter show dev  ingress
  ...
  eth_type arp
  arp_tip 10.255.1.116
  arp_op reply
  arp_tha 00:50:56:e1:4b:ab
  not_in_hw
action order 1: mirred (Egress Redirect to device ) stolen
...

Cc: Simon Horman 
Cc: Paul Blakey 
Cc: Roi Dayan 
Cc: Ben Pfaff 
Cc: William Tu 
Cc: Ilya Maximets 
Signed-off-by: Tonghao Zhang 
---
v2:
* rebase code for master branch
* build testing on travis-ci: 
https://travis-ci.com/github/ovn-open-virtual-networks/ovs/builds/169818283 
* fix build err on https://travis-ci.org/github/horms2/ovs/jobs/694632844#L2809
* fix coding style(add a space both before and after ':'.)
---
 include/openvswitch/match.h | 11 +++
 lib/match.c | 32 ++
 lib/netdev-offload-tc.c | 27 +++
 lib/odp-util.c  |  3 +-
 lib/tc.c| 66 +
 lib/tc.h|  8 +
 6 files changed, 146 insertions(+), 1 deletion(-)

diff --git a/include/openvswitch/match.h b/include/openvswitch/match.h
index 3b196c7fa462..9e480318e2b3 100644
--- a/include/openvswitch/match.h
+++ b/include/openvswitch/match.h
@@ -197,6 +197,8 @@ void match_set_tp_dst_masked(struct match *, ovs_be16 port, 
ovs_be16 mask);
 void match_set_tcp_flags(struct match *, ovs_be16);
 void match_set_tcp_flags_masked(struct match *, ovs_be16 flags, ovs_be16 mask);
 void match_set_nw_proto(struct match *, uint8_t);
+void match_set_nw_proto_masked(struct match *match,
+   const uint8_t nw_proto, const uint8_t mask);
 void match_set_nw_src(struct match *, ovs_be32);
 void match_set_nw_src_masked(struct match *, ovs_be32 ip, ovs_be32 mask);
 void match_set_nw_dst(struct match *, ovs_be32);
@@ -210,6 +212,9 @@ void match_set_nw_frag(struct match *, uint8_t nw_frag);
 void match_set_nw_frag_masked(struct match *, uint8_t nw_frag, uint8_t mask);
 void match_set_icmp_type(struct match *, uint8_t);
 void match_set_icmp_code(struct match *, uint8_t);
+void match_set_arp_opcode_masked(struct match *match,
+ const uint8_t opcode,
+ const uint8_t mask);
 void match_set_arp_sha(struct match *, const struct eth_addr);
 void match_set_arp_sha_masked(struct match *,
   const struct eth_addr arp_sha,
@@ -218,6 +223,12 @@ void match_set_arp_tha(struct match *, const struct 
eth_addr);
 void match_set_arp_tha_masked(struct match *,
   const struct eth_addr arp_tha,
   const struct eth_addr mask);
+void match_set_arp_spa_masked(struct match *match,
+  const ovs_be32 arp_spa,
+  const ovs_be32 mask);
+void match_set_arp_tpa_masked(struct match *match,
+  const ovs_be32 arp_tpa,
+  const ovs_be32 mask);
 void match_set_ipv6_src(struct match *, const struct in6_addr *);
 void match_set_ipv6_src_masked(struct match *, const struct in6_addr *,
const struct in6_addr *);
diff --git a/lib/match.c b/lib/match.c
index 29b25a73bab4..a77554851146 100644
--- a/lib/match.c
+++ b/lib/match.c
@@ -940,6 +940,14 @@ match_set_nw_proto(struct match *match, uint8_t nw_proto)
 match->wc.masks.nw_proto = UINT8_MAX;
 }
 
+void
+match_set_nw_proto_masked(struct match *match,
+  const uint8_t nw_proto, const uint8_t mask)
+{
+match->flow.nw_proto = nw_proto;
+match->wc.masks.nw_proto = mask;
+}
+
 void
 match_set_nw_src(struct match *match, ovs_be32 nw_src)
 {
@@ -1033,6 +1041,30 @@ match_set_icmp_code(struct match *match, uint8_t 
icmp_code)
 match_set_tp_dst(match, htons(icmp_code));
 }
 
+void
+match_set_arp_opcode_masked(struct match *match,
+const uint8_t opcode,
+const uint8_t mask)
+{
+match_set_nw_proto_masked(match, opcode, mask);
+}
+
+void
+match_set_arp_spa_masked(struct match *match,
+ const ovs_be32 arp_spa,
+ const ovs_be32 mask)
+{
+match_set_nw_src_masked(match, arp_spa, mask);
+}
+
+void
+match_set_arp_tpa_masked(struct match *match,
+ const ovs_be32 arp_tpa,
+ const ovs_be32 mask)
+{
+match_set_nw_dst_masked(match, arp_tpa, mask);
+}
+
 void
 match_set_arp_sha(struct match *match, const struct eth_addr sha)
 {
diff --git a/lib/netdev-offload-tc.c b/lib/netdev-offload-tc.c
index 19295573fb03..aa6d22e74f29 100644
--- a/lib/netdev-offload-tc.c
+++ 

Re: [ovs-dev] [PATCH v7] AB bonding: Add "primary" interface concept

2020-06-05 Thread Jeff Squyres (jsquyres) via dev
Is there anything else that is needed before this patch can be merged?

Thanks!


> On May 22, 2020, at 5:12 PM, Jeff Squyres  wrote:
> 
> In AB bonding, if the current active slave becomes disabled, a
> replacement slave is arbitrarily picked from the remaining set of
> enabled slaves.  This commit adds the concept of a "primary" slave: an
> interface that will always be (or become) the current active slave if
> it is enabled.
> 
> The rationale for this functionality is to allow the designation of a
> preferred interface for a given bond.  For example:
> 
> 1. Bond is created with interfaces p1 (primary) and p2, both enabled.
> 2. p1 becomes the current active slave (because it was designated as
>   the primary).
> 3. Later, p1 fails/becomes disabled.
> 4. p2 is chosen to become the current active slave.
> 5. Later, p1 becomes re-enabled.
> 6. p1 is chosen to become the current active slave (because it was
>   designated as the primary)
> 
> Note that p1 becomes the active slave once it becomes re-enabled, even
> if nothing has happened to p2.
> 
> This "primary" concept exists in Linux kernel network interface
> bonding, but did not previously exist in OVS bonding.
> 
> Only one primary slave inteface is supported per bond, and is only
> supported for active/backup bonding.
> 
> The primary slave interface is designated via
> "other_config:bond-primary" when creating a bond.
> 
> Signed-off-by: Jeff Squyres 
> Reviewed-by: Aaron Conole 
> Tested-by: Greg Rose 
> Acked-by: Greg Rose 
> ---
> v7:
> - After rebasing patch to head of tree, adjust test output as result
>  of changes from 81f71381f.
> 
> v6:
> - Style: bleep bloop.  Fix use of {}.
> 
> v5:
> - Handle when bond is reconfigured to remove "bond-primary" config.
> - Fix potential flapping between remaining slaves.
> - Add a test to re-add a removed primary interface and make sure the
>  bond reflects that properly.
> - Add a test to remove "bond-primary" config and make sure the bond
>  reflects that properly.
> 
> v4:
> - Style: bleep bloop.  Trim line length below 79 characters.
> 
> v3:
> - Adjusted print logic for when the primary slave is not attached
> 
> v2:
> - Added "ovs-vsctl bond/show" label when primary interface is no
>  longer enslaved
> - Fixed strcmp() usage nits
> - Moved "other_config:bond-primary" docs to the "Bonding
>  Configuration" group
> - Expanded commit message
> - Added more test cases (including one for when the primary interface
>  is no longer enslaved)
> 
> ofproto/bond.c|  75 +++-
> ofproto/bond.h|   1 +
> tests/lacp.at |   1 +
> tests/ofproto-dpif.at | 199 +-
> vswitchd/bridge.c |   5 ++
> vswitchd/vswitch.xml  |   8 ++
> 6 files changed, 287 insertions(+), 2 deletions(-)
> 
> diff --git a/ofproto/bond.c b/ofproto/bond.c
> index 405202fb6..4ad1a20ae 100644
> --- a/ofproto/bond.c
> +++ b/ofproto/bond.c
> @@ -93,6 +93,7 @@ struct bond_slave {
> /* Link status. */
> bool enabled;   /* May be chosen for flows? */
> bool may_enable;/* Client considers this slave bondable. */
> +bool is_primary;/* This slave is preferred over others. */
> long long delay_expires;/* Time after which 'enabled' may change. */
> 
> /* Rebalancing info.  Used only by bond_rebalance(). */
> @@ -126,6 +127,7 @@ struct bond {
> enum lacp_status lacp_status; /* Status of LACP negotiations. */
> bool bond_revalidate;   /* True if flows need revalidation. */
> uint32_t basis; /* Basis for flow hash function. */
> +char *primary;  /* Name of the primary slave interface. */
> 
> /* SLB specific bonding info. */
> struct bond_entry *hash; /* An array of BOND_BUCKETS elements. */
> @@ -241,6 +243,7 @@ bond_create(const struct bond_settings *s, struct 
> ofproto_dpif *ofproto)
> 
> bond->active_slave_mac = eth_addr_zero;
> bond->active_slave_changed = false;
> +bond->primary = NULL;
> 
> bond_reconfigure(bond, s);
> return bond;
> @@ -290,6 +293,7 @@ bond_unref(struct bond *bond)
> update_recirc_rules__(bond);
> 
> hmap_destroy(>pr_rule_ops);
> +free(bond->primary);
> free(bond->name);
> free(bond);
> }
> @@ -459,6 +463,39 @@ bond_reconfigure(struct bond *bond, const struct 
> bond_settings *s)
> bond->bond_revalidate = false;
> }
> 
> +/*
> + * If a primary interface is set on the new settings:
> + * 1. If the bond has no primary previously set, save it and
> + * revalidate.
> + * 2. If the bond has a different primary previously set, save the
> + * new one and revalidate.
> + * 3. If the bond has the same primary previously set, do nothing.
> + */
> +if (s->primary) {
> +bool changed = false;
> +if (bond->primary) {
> +if (strcmp(bond->primary, s->primary)) {
> +free(bond->primary);
> +changed = true;
> +   

Re: [ovs-dev] [PATCH v2 2/5] Make ByteQ safe for simultaneous producer/consumer

2020-06-05 Thread Anton Ivanov

On 04/06/2020 21:47, Ben Pfaff wrote:

On Tue, Jun 02, 2020 at 08:21:49AM +0100, anton.iva...@cambridgegreys.com wrote:

From: Anton Ivanov 

A ByteQ with unlocked head and tail is unsafe for simultaneous
consume/produce.

It isn't meant for that use, or at least it wasn't.  If you're changing
the goal then you should document the new guarantees, as do the other
OVS data structures that have thread-safety guarantees.


Ack. I will do in the next patch revision.

It is guaranteed for parallel use by ONE producer and ONE consumer. More 
than one on either side will not work.


--
Anton R. Ivanov
Cambridgegreys Limited. Registered in England. Company Number 10273661
https://www.cambridgegreys.com/

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH ovn v2] Make the notify() calls work with IPv6 in the OCF resource-agent

2020-06-05 Thread Numan Siddique
On Wed, Jun 3, 2020 at 6:14 PM Michele Baldessari 
wrote:

> When the VIP is an IPv6 address we get the following error in the
> resource agent:
> ovndb_servers_notify_0:355:stderr [ + ovn-sbctl -- --id=@conn_uuid create
> Connection 'target=ptcp\:6642\:[fd00:fd00:fd00:2000::a2]'
> inactivity_probe=18 -- set SB_Global . connections=@conn_uuid ]
> ovndb_servers_notify_0:355:stderr [ ovn-sbctl:
> ptcp\:6642\:[fd00:fd00:fd00:2000::a2]: unexpected "[" parsing string ]
>
> This is because MASTER_IP is an IPv6 address and is being passed to
> ovn-[ns]bctl without being escaped and the command errors out with
> unexpected parsing string errors. The rest of the create Connection
> command was already escaping the columns, we are just missing the ip
> address bits in case of IPv6.
>
> Let's make sure we escape the '[]:' characters and avoid this problem.
> Tested this on an OpenStack environment on both IPv6 and IPv4.
>
> Signed-off-by: Michele Baldessari 
>

Thanks Michele for the fix. I applied this patch to master, branch-20.06
and branch-20.03.

Thanks
Numan


> ---
>  utilities/ovndb-servers.ocf | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/utilities/ovndb-servers.ocf b/utilities/ovndb-servers.ocf
> index 56c2bc3227c3..354818a78d4d 100755
> --- a/utilities/ovndb-servers.ocf
> +++ b/utilities/ovndb-servers.ocf
> @@ -249,7 +249,9 @@ ovsdb_server_notify() {
>  if [ "x${LISTEN_ON_MASTER_IP_ONLY}" = xno ]; then
> LISTEN_ON_IP="0.0.0.0"
>  else
> -   LISTEN_ON_IP=${MASTER_IP}
> +   # ovn-[sn]bctl want ':[]' characters to be escaped. We do so
> in order
> +   # to make this work when MASTER_IP is an IPv6 address
> +   LISTEN_ON_IP=$(sed -e 's/\(\[\|\]\|:\)/\\\1/g' <<<
> ${MASTER_IP})
>  fi
>  conn=`ovn-nbctl get NB_global . connections`
>  if [ "$conn" == "[]" ]
> --
> 2.26.2
>
> ___
> dev mailing list
> d...@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
>
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH ovs-dev] netdev-offload-tc: Allow installing arp rules to TC dp.

2020-06-05 Thread Tonghao Zhang
On Fri, Jun 5, 2020 at 4:12 PM Simon Horman  wrote:
>
> On Thu, Jun 04, 2020 at 08:31:08PM +0800, xiangxia.m@gmail.com wrote:
> > From: Tonghao Zhang 
> >
> > This patch allows to install arp rules to tc dp.
> > In the future, arp will be offloaded to hardware to
> > be processed. So OvS enable this now.
> >
> > $ ovs-appctl dpctl/add-flow 'recirc_id(0),in_port(3),eth(),\
> >   eth_type(0x0806),arp(op=2,tha=00:50:56:e1:4b:ab,tip=10.255.1.116)' 2
> >
> > $ ovs-appctl dpctl/dump-flows
> >   ... arp(tip=10.255.1.116,op=2,tha=00:50:56:e1:4b:ab) ...
> >
> > $ tc filter show dev  ingress
> >   ...
> >   eth_type arp
> >   arp_tip 10.255.1.116
> >   arp_op reply
> >   arp_tha 00:50:56:e1:4b:ab
> >   not_in_hw
> > action order 1: mirred (Egress Redirect to device ) stolen
> > ...
> >
> > Cc: Simon Horman 
> > Cc: Paul Blakey 
> > Cc: Roi Dayan 
> > Cc: Ben Pfaff 
> > Cc: William Tu 
> > Cc: Ilya Maximets 
> > Signed-off-by: Tonghao Zhang 
>
> Thanks for your patch, mostly it looks good to me.
>
> Travis-CI flagged a minor problem, as described below.
> Could you take a look into it and consider posting v2?
Yes, I tested it on my host, but not found the build error. and run
the "make check"
I will fix it using the Travis-CI. Thanks for your reviews.
> ...
>
> > diff --git a/lib/odp-util.c b/lib/odp-util.c
> > index 72601dc6ba2b..c630b830ecd0 100644
> > --- a/lib/odp-util.c
> > +++ b/lib/odp-util.c
> > @@ -7993,7 +7993,8 @@ get_arp_key(const struct flow *flow, struct 
> > ovs_key_arp *arp)
> >
> >  arp->arp_sip = flow->nw_src;
> >  arp->arp_tip = flow->nw_dst;
> > -arp->arp_op = htons(flow->nw_proto);
> > +arp->arp_op = flow->nw_proto == UINT8_MAX ?
> > +  UINT16_MAX: htons(flow->nw_proto);
>
> This appears to cause a build error.
>
> https://travis-ci.org/github/horms2/ovs/jobs/694632844#L2809
>
> lib/odp-util.c:7997:36: error: restricted ovs_be16 degrades to integer
> lib/odp-util.c:7996:17: error: incorrect type in assignment (different base 
> types)
> lib/odp-util.c:7996:17:expected restricted ovs_be16 [usertype] arp_op
> lib/odp-util.c:7996:17:got int
>
> Perhaps using OVS_BE16_MAX instead of UINT16_MAX is a good approach here.
>
> Also, there should be a space both before and after ':'.
> E.g.
>
> arp->arp_op = flow->nw_proto == UINT8_MAX ?
> OVS_BE16_MAX : htons(flow->nw_proto);
>
> >  arp->arp_sha = flow->arp_sha;
> >  arp->arp_tha = flow->arp_tha;
> >  }
>
> ...



-- 
Best regards, Tonghao
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH ovs v2] ovsdb idl: Try committing the pending txn in ovsdb_idl_loop_run.

2020-06-05 Thread Numan Siddique
On Fri, Jun 5, 2020 at 12:39 AM Han Zhou  wrote:

> On Thu, Jun 4, 2020 at 11:47 AM  wrote:
> >
> > From: Numan Siddique 
> >
> > The function ovsdb_idl_loop_run(), after calling ovsdb_idl_run(),
> > returns a transaction object (of type 'struct ovsdb_idl_txn').
> > The returned transaction object can be NULL if there is a pending
> > transaction (loop->committing_txn) in the idl loop object.
> >
> > Normally the clients of idl library, first call ovsdb_idl_loop_run(),
> > then do their own processing and create any idl transactions during
> > this processing and then finally call ovsdb_idl_loop_commit_and_wait().
> >
> > If ovsdb_idl_loop_run() returns NULL transaction object, then much
> > of the processing done by the client gets wasted as in the case
> > of ovn-controller.
> >
> > The client (in this case ovn-controller), can skip the processing
> > and instead call ovsdb_idl_loop_commit_and_wait() if the transaction
> > oject is NULL. But ovn-controller uses IDL tracking and it may
> > loose the tracked changes in that run.
> >
> > This patch tries to improve this scenario, by checking if the
> > pending transaction can be committed in the ovsdb_idl_loop_run()
> > itself and if the pending transaction is cleared (because of the
> > response messages from ovsdb-server due to a transaction message
> > in the previous run), ovsdb_idl_loop_run() can return a valid
> > transaction object.
> >
> > CC: Han Zhou 
> > Signed-off-by: Numan Siddique 
> > ---
> >  lib/ovsdb-idl.c | 134 +++-
> >  1 file changed, 88 insertions(+), 46 deletions(-)
> >
> > diff --git a/lib/ovsdb-idl.c b/lib/ovsdb-idl.c
> > index f54e360e3..b436b3b80 100644
> > --- a/lib/ovsdb-idl.c
> > +++ b/lib/ovsdb-idl.c
> > @@ -385,6 +385,8 @@ static void ovsdb_idl_send_cond_change(struct
> ovsdb_idl *idl);
> >  static void ovsdb_idl_destroy_indexes(struct ovsdb_idl_table *);
> >  static void ovsdb_idl_add_to_indexes(const struct ovsdb_idl_row *);
> >  static void ovsdb_idl_remove_from_indexes(const struct ovsdb_idl_row *);
> > +static enum ovsdb_idl_txn_status ovsdb_idl_try_commit_loop_txn(
> > +struct ovsdb_idl_loop *loop);
> >
> >  static void
> >  ovsdb_idl_db_init(struct ovsdb_idl_db *db, const struct ovsdb_idl_class
> *class,
> > @@ -5340,6 +5342,12 @@ struct ovsdb_idl_txn *
> >  ovsdb_idl_loop_run(struct ovsdb_idl_loop *loop)
> >  {
> >  ovsdb_idl_run(loop->idl);
> > +
> > +/* See if we can commit the loop->committing_txn. */
> > +if (loop->committing_txn) {
> > +ovsdb_idl_try_commit_loop_txn(loop);
> > +}
> > +
> >  loop->open_txn = (loop->committing_txn
> >|| ovsdb_idl_get_seqno(loop->idl) ==
> loop->skip_seqno
> >? NULL
> > @@ -5347,6 +5355,51 @@ ovsdb_idl_loop_run(struct ovsdb_idl_loop *loop)
> >  return loop->open_txn;
> >  }
> >
> > +/* Attempts to commit the current idl loop transaction and destroys the
> > + * transaction if not TXN_INCOMPLETE. */
> > +static enum ovsdb_idl_txn_status
> > +ovsdb_idl_try_commit_loop_txn(struct ovsdb_idl_loop *loop)
> > +{
> > +ovs_assert(loop->committing_txn);
> > +
> > +struct ovsdb_idl_txn *txn = loop->committing_txn;
> > +enum ovsdb_idl_txn_status status = ovsdb_idl_txn_commit(txn);
> > +if (status != TXN_INCOMPLETE) {
> > +switch (status) {
> > +case TXN_TRY_AGAIN:
> > +/* We want to re-evaluate the database when it's changed
> from
> > + * the contents that it had when we started the commit.
>  (That
> > + * might have already happened.) */
> > +loop->skip_seqno = loop->precommit_seqno;
> > +break;
> > +
> > +case TXN_SUCCESS:
> > +/* Possibly some work on the database was deferred because
> no
> > + * further transaction could proceed. */
> > +loop->cur_cfg = loop->next_cfg;
> > +break;
> > +
> > +case TXN_UNCHANGED:
> > +loop->cur_cfg = loop->next_cfg;
> > +break;
> > +
> > +case TXN_ABORTED:
> > +case TXN_NOT_LOCKED:
> > +case TXN_ERROR:
> > +break;
> > +
> > +case TXN_UNCOMMITTED:
> > +case TXN_INCOMPLETE:
> > +default:
> > +OVS_NOT_REACHED();
> > +}
> > +ovsdb_idl_txn_destroy(txn);
> > +loop->committing_txn = NULL;
> > +}
> > +
> > +return status;
> > +}
> > +
> >  /* Attempts to commit the current transaction, if one is open, and sets
> up the
> >   * poll loop to wake up when some more work might be needed.
> >   *
> > @@ -5377,57 +5430,46 @@ ovsdb_idl_loop_commit_and_wait(struct
> ovsdb_idl_loop *loop)
> >  loop->precommit_seqno = ovsdb_idl_get_seqno(loop->idl);
> >  }
> >
> > -struct ovsdb_idl_txn *txn = loop->committing_txn;
> > -int retval;
> > -if (txn) {
> > -enum ovsdb_idl_txn_status status = ovsdb_idl_txn_commit(txn);
> > -if (status 

[ovs-dev] [PATCH ovs v3] ovsdb idl: Try committing the pending txn in ovsdb_idl_loop_run.

2020-06-05 Thread numans
From: Numan Siddique 

The function ovsdb_idl_loop_run(), after calling ovsdb_idl_run(),
returns a transaction object (of type 'struct ovsdb_idl_txn').
The returned transaction object can be NULL if there is a pending
transaction (loop->committing_txn) in the idl loop object.

Normally the clients of idl library, first call ovsdb_idl_loop_run(),
then do their own processing and create any idl transactions during
this processing and then finally call ovsdb_idl_loop_commit_and_wait().

If ovsdb_idl_loop_run() returns NULL transaction object, then much
of the processing done by the client gets wasted as in the case
of ovn-controller.

The client (in this case ovn-controller), can skip the processing
and instead call ovsdb_idl_loop_commit_and_wait() if the transaction
oject is NULL. But ovn-controller uses IDL tracking and it may
loose the tracked changes in that run.

This patch tries to improve this scenario, by checking if the
pending transaction can be committed in the ovsdb_idl_loop_run()
itself and if the pending transaction is cleared (because of the
response messages from ovsdb-server due to a transaction message
in the previous run), ovsdb_idl_loop_run() can return a valid
transaction object.

CC: Han Zhou 
Signed-off-by: Numan Siddique 
---
 lib/ovsdb-idl.c | 143 +++-
 1 file changed, 93 insertions(+), 50 deletions(-)

diff --git a/lib/ovsdb-idl.c b/lib/ovsdb-idl.c
index f54e360e3..7606b6ddc 100644
--- a/lib/ovsdb-idl.c
+++ b/lib/ovsdb-idl.c
@@ -385,6 +385,8 @@ static void ovsdb_idl_send_cond_change(struct ovsdb_idl 
*idl);
 static void ovsdb_idl_destroy_indexes(struct ovsdb_idl_table *);
 static void ovsdb_idl_add_to_indexes(const struct ovsdb_idl_row *);
 static void ovsdb_idl_remove_from_indexes(const struct ovsdb_idl_row *);
+static int ovsdb_idl_try_commit_loop_txn(struct ovsdb_idl_loop *loop,
+ bool *may_need_wakeup);
 
 static void
 ovsdb_idl_db_init(struct ovsdb_idl_db *db, const struct ovsdb_idl_class *class,
@@ -5340,6 +5342,12 @@ struct ovsdb_idl_txn *
 ovsdb_idl_loop_run(struct ovsdb_idl_loop *loop)
 {
 ovsdb_idl_run(loop->idl);
+
+/* See if we can commit the loop->committing_txn. */
+if (loop->committing_txn) {
+ovsdb_idl_try_commit_loop_txn(loop, NULL);
+}
+
 loop->open_txn = (loop->committing_txn
   || ovsdb_idl_get_seqno(loop->idl) == loop->skip_seqno
   ? NULL
@@ -5347,6 +5355,87 @@ ovsdb_idl_loop_run(struct ovsdb_idl_loop *loop)
 return loop->open_txn;
 }
 
+/* Attempts to commit the current transaction, if one is open.
+ *
+ * If a transaction was open, in this or a previous iteration of the main loop,
+ * and had not before finished committing (successfully or unsuccessfully), the
+ * return value is one of:
+ *
+ *  1: The transaction committed successfully (or it did not change anything in
+ * the database).
+ *  0: The transaction failed.
+ * -1: The commit is still in progress.
+ *
+ * Thus, the return value is -1 if the transaction is in progress and otherwise
+ * true for success, false for failure.
+ *
+ * (In the corner case where the IDL sends a transaction to the database and
+ * the database commits it, and the connection between the IDL and the database
+ * drops before the IDL receives the message confirming the commit, this
+ * function can return 0 even though the transaction succeeded.)
+ */
+static int
+ovsdb_idl_try_commit_loop_txn(struct ovsdb_idl_loop *loop,
+  bool *may_need_wakeup)
+{
+if (!loop->committing_txn) {
+/* Not a meaningful return value: no transaction was in progress. */
+return 1;
+}
+
+int retval;
+struct ovsdb_idl_txn *txn = loop->committing_txn;
+
+enum ovsdb_idl_txn_status status = ovsdb_idl_txn_commit(txn);
+if (status != TXN_INCOMPLETE) {
+switch (status) {
+case TXN_TRY_AGAIN:
+/* We want to re-evaluate the database when it's changed from
+ * the contents that it had when we started the commit.  (That
+ * might have already happened.) */
+loop->skip_seqno = loop->precommit_seqno;
+if (ovsdb_idl_get_seqno(loop->idl) != loop->skip_seqno
+&& may_need_wakeup) {
+*may_need_wakeup = true;
+}
+retval = 0;
+break;
+
+case TXN_SUCCESS:
+/* Possibly some work on the database was deferred because no
+ * further transaction could proceed.  Wake up again. */
+retval = 1;
+loop->cur_cfg = loop->next_cfg;
+if (may_need_wakeup) {
+*may_need_wakeup =  true;
+}
+break;
+
+case TXN_UNCHANGED:
+retval = 1;
+loop->cur_cfg = loop->next_cfg;
+break;
+
+case TXN_ABORTED:
+case TXN_NOT_LOCKED:
+case TXN_ERROR:
+

Re: [ovs-dev] [PATCH v2 0/2] Implement terse dump for netdev-offload

2020-06-05 Thread Simon Horman
On Thu, Jun 04, 2020 at 01:58:08PM +0200, Simon Horman wrote:
> On Thu, Jun 04, 2020 at 01:51:04PM +0300, Roi Dayan wrote:
> > 
> > 
> > On 2020-06-04 1:46 PM, Roi Dayan wrote:
> > > In order to improve revalidator performance, extend netdev-offload with 
> > > terse
> > > dump support. In terse dump mode modify code that parses netlink to 
> > > flower and
> > > flower to match to only provide the essential data for conversion instead 
> > > of
> > > parsing all filter and actions data.
> > > 
> > > Implement support for new TC TCA_DUMP_FLAGS_TERSE flag. With the flag set 
> > > TC
> > > kernel implementation skips output of all other data besides stats, 
> > > cookie and
> > > flags which allows to pack much more filters in single netlink packet and
> > > reduces amount of syscalls required to execute filter dump.
> > > 
> > > The impact of the change is measured by benchmarking revalidator poll 
> > > interval
> > > time with 100k of simple L2 flows with two revalidator threads on setup 
> > > with 2x
> > > Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz, 32GB memory. For such 
> > > configuration
> > > poll interval is reduced from ~1020ms to ~220ms. 
> > > 
> > > Pointer to the kernel patches for the new TC flag:
> > > https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatchwork.ozlabs.org%2Fproject%2Fnetdev%2Fcover%2F20200515114014.3135-1-vladbu%2540mellanox.com%2Fdata=02%7C01%7Croid%40mellanox.com%7C6cd2642b7e5c46cd61e308d80874ce08%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C637268645057358795sdata=gHfuLy9ZdymCq%2FqMsP5HPTWTNfO%2BcI%2BeEcopbZ9%2F1hY%3Dreserved=0
> > > 
> > > Pointer to travis ci
> > > https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftravis-ci.org%2Fgithub%2Froidayan%2Fovs%2Fbuilds%2F694595308data=02%7C01%7Croid%40mellanox.com%7C6cd2642b7e5c46cd61e308d80874ce08%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C637268645057358795sdata=935ft%2B4OpTZyVGqju4Y3A4mOZusXwN%2F3ZMaonHJwLpo%3Dreserved=0
> > > 
> > > 
> > > Vlad Buslov (2):
> > >   netdev-offload: Implement terse dump support
> > >   tc: Support new terse dump kernel API
> > > 
> > >  lib/dpif-netlink.c| 70 
> > > +-
> > >  lib/netdev-offload-provider.h |  3 +-
> > >  lib/netdev-offload-tc.c   | 71 
> > > ---
> > >  lib/netdev-offload.c  | 10 +++---
> > >  lib/netdev-offload.h  |  6 ++--
> > >  lib/tc.c  | 59 +++
> > >  lib/tc.h  |  5 +--
> > >  ofproto/ofproto-dpif-upcall.c | 24 +--
> > >  8 files changed, 173 insertions(+), 75 deletions(-)
> > > 
> > 
> > forgot to include changelog. 
> > v2
> > - fixing travis errors.
> 
> Thanks, just to be on the safe side I'm running this through Travis again.
> 
> https://travis-ci.org/github/horms2/ovs/builds/694611682
> https://travis-ci.org/github/horms2/ovs/builds/694611768

Thanks again,

I've pushed this series to master.
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH ovs-dev] netdev-offload-tc: Allow installing arp rules to TC dp.

2020-06-05 Thread Simon Horman
On Thu, Jun 04, 2020 at 08:31:08PM +0800, xiangxia.m@gmail.com wrote:
> From: Tonghao Zhang 
> 
> This patch allows to install arp rules to tc dp.
> In the future, arp will be offloaded to hardware to
> be processed. So OvS enable this now.
> 
> $ ovs-appctl dpctl/add-flow 'recirc_id(0),in_port(3),eth(),\
>   eth_type(0x0806),arp(op=2,tha=00:50:56:e1:4b:ab,tip=10.255.1.116)' 2
> 
> $ ovs-appctl dpctl/dump-flows
>   ... arp(tip=10.255.1.116,op=2,tha=00:50:56:e1:4b:ab) ...
> 
> $ tc filter show dev  ingress
>   ...
>   eth_type arp
>   arp_tip 10.255.1.116
>   arp_op reply
>   arp_tha 00:50:56:e1:4b:ab
>   not_in_hw
> action order 1: mirred (Egress Redirect to device ) stolen
> ...
> 
> Cc: Simon Horman 
> Cc: Paul Blakey 
> Cc: Roi Dayan 
> Cc: Ben Pfaff 
> Cc: William Tu 
> Cc: Ilya Maximets 
> Signed-off-by: Tonghao Zhang 

Thanks for your patch, mostly it looks good to me.

Travis-CI flagged a minor problem, as described below.
Could you take a look into it and consider posting v2?

...

> diff --git a/lib/odp-util.c b/lib/odp-util.c
> index 72601dc6ba2b..c630b830ecd0 100644
> --- a/lib/odp-util.c
> +++ b/lib/odp-util.c
> @@ -7993,7 +7993,8 @@ get_arp_key(const struct flow *flow, struct ovs_key_arp 
> *arp)
>  
>  arp->arp_sip = flow->nw_src;
>  arp->arp_tip = flow->nw_dst;
> -arp->arp_op = htons(flow->nw_proto);
> +arp->arp_op = flow->nw_proto == UINT8_MAX ?
> +  UINT16_MAX: htons(flow->nw_proto);

This appears to cause a build error.

https://travis-ci.org/github/horms2/ovs/jobs/694632844#L2809

lib/odp-util.c:7997:36: error: restricted ovs_be16 degrades to integer
lib/odp-util.c:7996:17: error: incorrect type in assignment (different base 
types)
lib/odp-util.c:7996:17:expected restricted ovs_be16 [usertype] arp_op
lib/odp-util.c:7996:17:got int

Perhaps using OVS_BE16_MAX instead of UINT16_MAX is a good approach here.

Also, there should be a space both before and after ':'.
E.g.

arp->arp_op = flow->nw_proto == UINT8_MAX ?
OVS_BE16_MAX : htons(flow->nw_proto);

>  arp->arp_sha = flow->arp_sha;
>  arp->arp_tha = flow->arp_tha;
>  }

...
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] Utilização em Segurança de Motoserras, Motoroçadoras e Sopradores

2020-06-05 Thread Utilização em Segurança de Motoserras, Motoroçadoras e Sopradores
QVO LEGIS - FORMAÇÃO E CONSULTADORIA

Formação certificada pela DGERT

__

Utilização em Segurança de Motoserras, Motoroçadoras e Sopradores

Formação Obrigatória



Local: formação na sua empresa

Enquadramento



A ação de formação foi elaborada tendo como principal objetivo reunir 
competências nos formandos para a utilização em segurança das 
motoserras,motoroçadoras e sopradores, evitando o acidente, através da 
consciencialização sobre os perigos e riscos a que os trabalhadores estão 
expostos aquando da utilização destas máquinas. Para isso são indicadas as 
normas de segurança e boas práticas aplicáveis, de forma a eliminar ou 
minimizar esses mesmos perigos.


Existe uma vasta gama no mercado de tipos de máquinas, em que a preocupação a 
ter, é que a potência do motor e o tipo de utensílio de corte a utilizar 
estejam em perfeitas condições. A escolha depende da vegetação a cortar, 
declive e características do terreno. A utilização em segurança é também um dos 
objetivos de qualquer utilizador.

Esta formação dá resposta ao Lei n.º 102/2009, de 10 de setembro



REGIME JURÍDICO DA PROMOÇÃO DA SEGURANÇA E SAÚDE NO TRABALHO

Artigo 20.º Formação dos trabalhadores

1 - O trabalhador deve receber uma formação adequada no domínio da segurança e 
saúde no trabalho, tendo em atenção o posto de trabalho e o exercício de 
atividades de risco elevado.



Decreto-Lei nº 50/2005; Aplicar as regras segurança no trabalho com estes 
equipamentos,












Conteudo da formação:

Alguns conceitos relativos a segurança no trabalho





Indicar causas, consequências e medidas preventivas de acidentes de trabalho





Informar sobre as estatísticas de acidentes de trabalho





Enumerar riscos genéricos e sinalética





Dar a conhecer os riscos específicos da utilização de motosserras, medidas 
preventivas e respetivos EPIs





Apresentar alguns conceitos de utilização do motosserra





Mostrar algumas consequências de acidentes com motosserras





Dar a conhecer os riscos específicos da utilização de motorroçadoras, medidas 
preventivas e respetivos EPIs





Dar a conhecer os riscos específicos da utilização do Sopradores e Aspiradores, 
medidas preventivas e respetivos EPIs





Apresentar alguns conceitos de utilização da motorroçadora





Mostrar algumas consequências de acidentes com motorroçado



Apresentar conceitos de utilização segura do Sopradores e Aspiradores








Destinatários 



Diretores e Quadros superiores; responsáveis pela manutenção dos equipamentos e 
das instalações, responsáveis de produção e da Qualidade;

 Responsáveis da Qualidade e Coordenadores de Segurança; 

Técnicos ou Técnicos Superiores de Higiene e Segurança.

Consultores; todos aqueles que pretendam adquirir ou aperfeiçoar conhecimentos.

Todos os operacionais que utilizam as máquinas;

Trabalhadores de tratamento de espaços verdes das autarquias;

Trabalhadores de limpeza das florestas e controlo de residuos florestais.

Empresas de limpeza de florestas e terrenos.


















Pedidos de informação: forma...@qvolegis.pt (+351) 219169402 | (+351) 967201906





Reenvie a um/a amigo/a! 



Obrigado.



Esta newsletter, visa informar as ações de formação disponiveis para a sua 
valorização pessoal e profissional. A QVOLEGIS utiliza os dados dos seus 
clientes e potenciais clientes de acordo com a legislação do Regulamento Geral 
da Proteção de Dados . 

Assim, se não desejar receber as nossas informações ou se pretender alterar os 
seus dados de contacto, por favor envie email para ge...@qvolegis.pt

Estamos gratos pela sua atenção e vontade de continuar a receber as nossas 
informações.



-- 
Este e-mail foi verificado em termos de vírus pelo software antivírus Avast.
https://www.avast.com/antivirus
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev