Re: [ovs-dev] [PATCH v2] lib/tc: Support optional tunnel id

2019-01-30 Thread Roi Dayan
Hi Simon,

Just pinging about this change.

Thanks,
Roi


On 21/01/2019 17:32, Adi Nissim wrote:
> Currently the TC tunnel_key action is always
> initialized with the given tunnel id value. However,
> some tunneling protocols define the tunnel id as an optional field.
> 
> This patch initializes the id field of tunnel_key:set and tunnel_key:unset
> only if a value is provided.
> 
> In the case that a tunnel key value is not provided by the user
> the key flag will not be set.
> 
> Signed-off-by: Adi Nissim 
> Acked-by: Paul Blakey 
> ---
> v1->v2: check if mask.tunnel.id == OVS_BE64_MAX
> so we won't do match in the case of a partial mask.
> 
>  lib/netdev-tc-offloads.c | 13 +++--
>  lib/tc.c | 21 +++--
>  lib/tc.h |  1 +
>  3 files changed, 27 insertions(+), 8 deletions(-)
> 
> diff --git a/lib/netdev-tc-offloads.c b/lib/netdev-tc-offloads.c
> index 73ce7b9..abfbaeb 100644
> --- a/lib/netdev-tc-offloads.c
> +++ b/lib/netdev-tc-offloads.c
> @@ -574,7 +574,9 @@ parse_tc_flower_to_match(struct tc_flower *flower,
>  }
> 
>  if (flower->tunnel) {
> -match_set_tun_id(match, flower->key.tunnel.id);
> +if (flower->mask.tunnel.id == OVS_BE64_MAX) {
> +match_set_tun_id(match, flower->key.tunnel.id);
> +}
>  if (flower->key.tunnel.ipv4.ipv4_dst) {
>  match_set_tun_src(match, flower->key.tunnel.ipv4.ipv4_src);
>  match_set_tun_dst(match, flower->key.tunnel.ipv4.ipv4_dst);
> @@ -628,7 +630,10 @@ parse_tc_flower_to_match(struct tc_flower *flower,
>  size_t tunnel_offset =
>  nl_msg_start_nested(buf, OVS_KEY_ATTR_TUNNEL);
> 
> -nl_msg_put_be64(buf, OVS_TUNNEL_KEY_ATTR_ID, 
> action->encap.id);
> +if (action->encap.id_present) {
> +nl_msg_put_be64(buf, OVS_TUNNEL_KEY_ATTR_ID,
> +action->encap.id);
> +}
>  if (action->encap.ipv4.ipv4_src) {
>  nl_msg_put_be32(buf, OVS_TUNNEL_KEY_ATTR_IPV4_SRC,
>  action->encap.ipv4.ipv4_src);
> @@ -830,11 +835,13 @@ parse_put_flow_set_action(struct tc_flower *flower, 
> struct tc_action *action,
>  tunnel_len = nl_attr_get_size(set);
> 
>  action->type = TC_ACT_ENCAP;
> +action->encap.id_present = false;
>  flower->action_count++;
>  NL_ATTR_FOR_EACH_UNSAFE(tun_attr, tun_left, tunnel, tunnel_len) {
>  switch (nl_attr_type(tun_attr)) {
>  case OVS_TUNNEL_KEY_ATTR_ID: {
>  action->encap.id = nl_attr_get_be64(tun_attr);
> +action->encap.id_present = true;
>  }
>  break;
>  case OVS_TUNNEL_KEY_ATTR_IPV4_SRC: {
> @@ -1099,6 +1106,8 @@ netdev_tc_flow_put(struct netdev *netdev, struct match 
> *match,
>  flower.key.tunnel.tp_dst = tnl->tp_dst;
>  flower.mask.tunnel.tos = tnl_mask->ip_tos;
>  flower.mask.tunnel.ttl = tnl_mask->ip_ttl;
> +flower.mask.tunnel.id = (tnl->flags & FLOW_TNL_F_KEY) ?
> + tnl_mask->tun_id : 0;
>  flower_match_to_tun_opt(, tnl, tnl_mask);
>  flower.tunnel = true;
>  }
> diff --git a/lib/tc.c b/lib/tc.c
> index b19f075..e435663 100644
> --- a/lib/tc.c
> +++ b/lib/tc.c
> @@ -571,6 +571,7 @@ nl_parse_flower_tunnel(struct nlattr **attrs, struct 
> tc_flower *flower)
>  ovs_be32 id = nl_attr_get_be32(attrs[TCA_FLOWER_KEY_ENC_KEY_ID]);
> 
>  flower->key.tunnel.id = be32_to_be64(id);
> +flower->mask.tunnel.id = OVS_BE64_MAX;
>  }
>  if (attrs[TCA_FLOWER_KEY_ENC_IPV4_SRC_MASK]) {
>  flower->key.tunnel.ipv4.ipv4_src =
> @@ -1014,6 +1015,7 @@ nl_parse_act_tunnel_key(struct nlattr *options, struct 
> tc_flower *flower)
>  action->encap.ipv6.ipv6_dst = nl_attr_get_in6_addr(ipv6_dst);
>  }
>  action->encap.id = id ? be32_to_be64(nl_attr_get_be32(id)) : 0;
> +action->encap.id_present = id ? true : false;
>  action->encap.tp_dst = dst_port ? nl_attr_get_be16(dst_port) : 0;
>  action->encap.tos = tos ? nl_attr_get_u8(tos) : 0;
>  action->encap.ttl = ttl ? nl_attr_get_u8(ttl) : 0;
> @@ -1631,9 +1633,9 @@ nl_msg_put_act_tunnel_geneve_option(struct ofpbuf 
> *request,
>  }
> 
>  static void
> -nl_msg_put_act_tunnel_key_set(struct ofpbuf *request, ovs_be64 id,
> -  ovs_be32 ipv4_src, ovs_be32 ipv4_dst,
> -  struct in6_addr *ipv6_src,
> +nl_msg_put_act_tunnel_key_set(struct ofpbuf *request, bool id_present,
> +  ovs_be64 id, ovs_be32 ipv4_src,
> +  ovs_be32 ipv4_dst, struct in6_addr *ipv6_src,
>struct in6_addr *ipv6_dst,
>ovs_be16 tp_dst, uint8_t tos, uint8_t ttl,
>struct 

Re: [ovs-dev] dpif-netdev:fix reload pmd's dead lock

2019-01-30 Thread 0-day Robot
Bleep bloop.  Greetings Lilijun, 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:
Failed to merge in the changes.
Patch failed at 0001 dpif-netdev:fix reload pmd's dead lock
The copy of the patch that failed is found in:
   
/var/lib/jenkins/jobs/upstream_build_from_pw/workspace/.git/rebase-apply/patch
When you have resolved this problem, run "git am --resolved".
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...@bytheb.org

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


[ovs-dev] [PATCH] [PATCH]dpif-netdev:fix reload pmd's dead lock

2019-01-30 Thread Lilijun
This patch fix the dead lock when using dpdk userspace datapath. The
problem is described as follows:
1) when add or delete port, the main thread will call
reconfigure_datapath() in the function dpif_netdev_run()
2) Here the dp->port_mutex is locked. In dp_netdev_reload_pmd__(), it
will notify each pmd to reload.
3) If pmd is doing packet upcall in fast_path_processing() and try to get
dp->port_mutex in
do_xlate_actions()-->tnl_route_lookup_flow()-->dpif_netdev_port_query_by_name().
Here pmd get lock failed because the main thread has got the lock in
step 2.
4) So the main thread was stuck for waiting pmd to reload done. Now we
got a dead lock.

Here reload_affected_pmds() may not need to lock dp->port_mutex. So we
release the lock temporarily when calling  reload_affected_pmds().

Signed-off-by: Lilijun 
---
 lib/dpif-netdev.c | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index 1564db9c6..bfd6aa74c 100644
--- a/lib/dpif-netdev.c
+++ b/lib/dpif-netdev.c
@@ -4665,8 +4665,11 @@ reconfigure_datapath(struct dp_netdev *dp)
 
 /* Reload affected pmd threads.  We must wait for the pmd threads before
  * reconfiguring the ports, because a port cannot be reconfigured while
- * it's being used. */
+ * it's being used. We need release dp->port_mutex to make sure that pmds
+ * don't wait for getting the mutex when handling packet upcalls*/
+ovs_mutex_unlock(>port_mutex);
 reload_affected_pmds(dp);
+ovs_mutex_lock(>port_mutex);
 
 /* Step 3: Reconfigure ports. */
 
@@ -4761,7 +4764,9 @@ reconfigure_datapath(struct dp_netdev *dp)
 }
 
 /* Reload affected pmd threads. */
+ovs_mutex_unlock(>port_mutex);
 reload_affected_pmds(dp);
+ovs_mutex_lock(>port_mutex);
 }
 
 /* Returns true if one of the netdevs in 'dp' requires a reconfiguration */
-- 
2.14.1.windows.1


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


[ovs-dev] [PATCH] netdev-dpdk: shrink critical region under tx_q[qid].tx_lock

2019-01-30 Thread Li RongQing
netdev_dpdk_filter_packet_len() does not need to be protected
by tx_q[].tx_lock, and tx_q[].tx_lock can not protect it too,
same to netdev_dpdk_qos_run

so move them out of this lock to improve the scalability

Signed-off-by: Li RongQing 
---
 lib/netdev-dpdk.c | 33 ++---
 1 file changed, 22 insertions(+), 11 deletions(-)

diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index 4bf0ca9e8..bf4918e2c 100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -2333,15 +2333,15 @@ __netdev_dpdk_vhost_send(struct netdev *netdev, int qid,
 goto out;
 }
 
-rte_spinlock_lock(>tx_q[qid].tx_lock);
-
 cnt = netdev_dpdk_filter_packet_len(dev, cur_pkts, cnt);
 /* Check has QoS has been configured for the netdev */
 cnt = netdev_dpdk_qos_run(dev, cur_pkts, cnt, true);
 dropped = total_pkts - cnt;
 
+rte_spinlock_lock(>tx_q[qid].tx_lock);
+
+int vhost_qid = qid * VIRTIO_QNUM + VIRTIO_RXQ;
 do {
-int vhost_qid = qid * VIRTIO_QNUM + VIRTIO_RXQ;
 unsigned int tx_pkts;
 
 tx_pkts = rte_vhost_enqueue_burst(vid, vhost_qid, cur_pkts, cnt);
@@ -2462,15 +2462,20 @@ netdev_dpdk_send__(struct netdev_dpdk *dev, int qid,
 return;
 }
 
-if (OVS_UNLIKELY(concurrent_txq)) {
-qid = qid % dev->up.n_txq;
-rte_spinlock_lock(>tx_q[qid].tx_lock);
-}
-
 if (OVS_UNLIKELY(batch->packets[0]->source != DPBUF_DPDK)) {
 struct netdev *netdev = >up;
 
+if (OVS_UNLIKELY(concurrent_txq)) {
+qid = qid % dev->up.n_txq;
+rte_spinlock_lock(>tx_q[qid].tx_lock);
+}
+
 dpdk_do_tx_copy(netdev, qid, batch);
+
+if (OVS_UNLIKELY(concurrent_txq)) {
+rte_spinlock_unlock(>tx_q[qid].tx_lock);
+}
+
 dp_packet_delete_batch(batch, true);
 } else {
 int tx_cnt, dropped;
@@ -2481,8 +2486,17 @@ netdev_dpdk_send__(struct netdev_dpdk *dev, int qid,
 tx_cnt = netdev_dpdk_qos_run(dev, pkts, tx_cnt, true);
 dropped = batch_cnt - tx_cnt;
 
+if (OVS_UNLIKELY(concurrent_txq)) {
+qid = qid % dev->up.n_txq;
+rte_spinlock_lock(>tx_q[qid].tx_lock);
+}
+
 dropped += netdev_dpdk_eth_tx_burst(dev, qid, pkts, tx_cnt);
 
+if (OVS_UNLIKELY(concurrent_txq)) {
+rte_spinlock_unlock(>tx_q[qid].tx_lock);
+}
+
 if (OVS_UNLIKELY(dropped)) {
 rte_spinlock_lock(>stats_lock);
 dev->stats.tx_dropped += dropped;
@@ -2490,9 +2504,6 @@ netdev_dpdk_send__(struct netdev_dpdk *dev, int qid,
 }
 }
 
-if (OVS_UNLIKELY(concurrent_txq)) {
-rte_spinlock_unlock(>tx_q[qid].tx_lock);
-}
 }
 
 static int
-- 
2.16.2

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


Re: [ovs-dev] [PATCH v1] rhel: retain OVS_CTL_OPTS for systemd service files

2019-01-30 Thread Aaron Conole
Gregory Rose  writes:

> Pinging Aaron once again?

Whoops - completely missed this.  I'll take a look.

> - Greg
>
> On 1/22/2019 2:08 PM, Gregory Rose wrote:
>>
>> Aaron,
>>
>> This patch seems to have fallen through the cracks.  Would you mind
>> giving this a review?  Martin is no
>> longer with VMware so I will be following up on this patch.
>>
>> Thanks,
>>
>> - Greg
>>
>>
>> On 9/14/2018 12:49 PM, Martin Xu wrote:
>>> OVS init.d script calls ovs-ctl with $OVS_CTL_OPTS defined in the
>>> config file. This variable is replaced by OPTIONS in systemd service
>>> files. This patch addes $OVS_CTL_OPTS back to be passed along with
>>> $OPTIONS
>>> for backward compatibility.
>>>
>>> VMware-BZ: #2036847
>>>
>>> Signed-off-by: Martin Xu 
>>> CC: Aaron Conole 
>>> ---
>>>   rhel/usr_lib_systemd_system_ovs-vswitchd.service.in | 4 ++--
>>>   rhel/usr_lib_systemd_system_ovsdb-server.service | 4 ++--
>>>   rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template | 5
>>> +
>>>   3 files changed, 9 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in
>>> b/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in
>>> index 11b34c6..e4dbdf3 100644
>>> --- a/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in
>>> +++ b/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in
>>> @@ -21,10 +21,10 @@ ExecStartPre=-/usr/bin/chmod 0775 /dev/hugepages
>>>   ExecStart=/usr/share/openvswitch/scripts/ovs-ctl \
>>>     --no-ovsdb-server --no-monitor --system-id=random \
>>>     ${OVSUSER} \
>>> -  start $OPTIONS
>>> +  start $OPTIONS $OVS_CTL_OPTS
>>>   ExecStop=/usr/share/openvswitch/scripts/ovs-ctl --no-ovsdb-server stop
>>>   ExecReload=/usr/share/openvswitch/scripts/ovs-ctl --no-ovsdb-server \
>>>     --no-monitor --system-id=random \
>>>     ${OVSUSER} \
>>> -  restart $OPTIONS
>>> +  restart $OPTIONS $OVS_CTL_OPTS
>>>   TimeoutSec=300
>>> diff --git a/rhel/usr_lib_systemd_system_ovsdb-server.service
>>> b/rhel/usr_lib_systemd_system_ovsdb-server.service
>>> index 70da1ec..09f946b 100644
>>> --- a/rhel/usr_lib_systemd_system_ovsdb-server.service
>>> +++ b/rhel/usr_lib_systemd_system_ovsdb-server.service
>>> @@ -16,10 +16,10 @@ EnvironmentFile=-/run/openvswitch/useropts
>>>   ExecStart=/usr/share/openvswitch/scripts/ovs-ctl \
>>>     --no-ovs-vswitchd --no-monitor --system-id=random \
>>>     ${OVSUSER} \
>>> -  start $OPTIONS
>>> +  start $OPTIONS $OVS_CTL_OPTS
>>>   ExecStop=/usr/share/openvswitch/scripts/ovs-ctl --no-ovs-vswitchd stop
>>>   ExecReload=/usr/share/openvswitch/scripts/ovs-ctl --no-ovs-vswitchd \
>>>  ${OVSUSER} \
>>> -   --no-monitor restart $OPTIONS
>>> +   --no-monitor restart $OPTIONS $OVS_CTL_OPTS
>>>   RuntimeDirectory=openvswitch
>>>   RuntimeDirectoryMode=0755
>>> diff --git
>>> a/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template
>>> b/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template
>>> index 9364454..0ce5b6b 100644
>>> --- a/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template
>>> +++ b/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template
>>> @@ -23,5 +23,10 @@
>>>   #
>>>   OPTIONS=""
>>>   +# OVS_CTL_OPTS: Extra options to pass along with OPTIONS to ovs-ctl.
>>> +# This flag is retained for backward compatibility. For example,
>>> +# user can specify --ovs-vswitchd-wrapper=valgrind.
>>> +# OVS_CTL_OPTS=
>>> +
>>>   # Uncomment and set the OVS User/Group value
>>>   #OVS_USER_ID="openvswitch:openvswitch"
>>
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] Fundamentos legales y aplicación práctica.

2019-01-30 Thread CFDI en 100 casos prácticos
Cursos escenciales - Webinar Interactivo – Viernes 08 de Febrero

Capacitación a tu Medida Todo sobre CFDI en 100 casos prácticos
 
El asistente conocerá los recientes cambios en materia de comprobantes fiscales
 digitales y su complemento de pago a fin de cerciorarse de la emisión correcta 
para
 sus clientes y los aspectos que debe cuidar para implementar el control 
interno correcto 
en el crédito y cobranza a proveedores, de acuerdo con lo previsto en el Anexo 
20 y las Guías de llenado. 

Revisión general a los CFDI, fundamentos legales y aplicación práctica en casos 
específicos. 

Ejes Temáticos:

• Marco Jurídico.
• Casos prácticos de los CFDI.
• Registro Contable de los CFDI. 
 
Para mayor información, responder sobre este correo con la palabra CFDI+ los 
siguientes datos:

NOMBRE:

TELÉFONO:

EMPRESA: 

Llamanos al (045) 55 1554 6630
www.Innovalearn.mx 


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


Re: [ovs-dev] [PATCH v1] rhel: retain OVS_CTL_OPTS for systemd service files

2019-01-30 Thread Gregory Rose

Pinging Aaron once again?

- Greg

On 1/22/2019 2:08 PM, Gregory Rose wrote:


Aaron,

This patch seems to have fallen through the cracks.  Would you mind 
giving this a review?  Martin is no

longer with VMware so I will be following up on this patch.

Thanks,

- Greg


On 9/14/2018 12:49 PM, Martin Xu wrote:

OVS init.d script calls ovs-ctl with $OVS_CTL_OPTS defined in the
config file. This variable is replaced by OPTIONS in systemd service
files. This patch addes $OVS_CTL_OPTS back to be passed along with 
$OPTIONS

for backward compatibility.

VMware-BZ: #2036847

Signed-off-by: Martin Xu 
CC: Aaron Conole 
---
  rhel/usr_lib_systemd_system_ovs-vswitchd.service.in | 4 ++--
  rhel/usr_lib_systemd_system_ovsdb-server.service | 4 ++--
  rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template | 5 
+

  3 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in 
b/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in

index 11b34c6..e4dbdf3 100644
--- a/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in
+++ b/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in
@@ -21,10 +21,10 @@ ExecStartPre=-/usr/bin/chmod 0775 /dev/hugepages
  ExecStart=/usr/share/openvswitch/scripts/ovs-ctl \
    --no-ovsdb-server --no-monitor --system-id=random \
    ${OVSUSER} \
-  start $OPTIONS
+  start $OPTIONS $OVS_CTL_OPTS
  ExecStop=/usr/share/openvswitch/scripts/ovs-ctl --no-ovsdb-server stop
  ExecReload=/usr/share/openvswitch/scripts/ovs-ctl --no-ovsdb-server \
    --no-monitor --system-id=random \
    ${OVSUSER} \
-  restart $OPTIONS
+  restart $OPTIONS $OVS_CTL_OPTS
  TimeoutSec=300
diff --git a/rhel/usr_lib_systemd_system_ovsdb-server.service 
b/rhel/usr_lib_systemd_system_ovsdb-server.service

index 70da1ec..09f946b 100644
--- a/rhel/usr_lib_systemd_system_ovsdb-server.service
+++ b/rhel/usr_lib_systemd_system_ovsdb-server.service
@@ -16,10 +16,10 @@ EnvironmentFile=-/run/openvswitch/useropts
  ExecStart=/usr/share/openvswitch/scripts/ovs-ctl \
    --no-ovs-vswitchd --no-monitor --system-id=random \
    ${OVSUSER} \
-  start $OPTIONS
+  start $OPTIONS $OVS_CTL_OPTS
  ExecStop=/usr/share/openvswitch/scripts/ovs-ctl --no-ovs-vswitchd stop
  ExecReload=/usr/share/openvswitch/scripts/ovs-ctl --no-ovs-vswitchd \
 ${OVSUSER} \
-   --no-monitor restart $OPTIONS
+   --no-monitor restart $OPTIONS $OVS_CTL_OPTS
  RuntimeDirectory=openvswitch
  RuntimeDirectoryMode=0755
diff --git 
a/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template 
b/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template

index 9364454..0ce5b6b 100644
--- a/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template
+++ b/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template
@@ -23,5 +23,10 @@
  #
  OPTIONS=""
  +# OVS_CTL_OPTS: Extra options to pass along with OPTIONS to ovs-ctl.
+# This flag is retained for backward compatibility. For example,
+# user can specify --ovs-vswitchd-wrapper=valgrind.
+# OVS_CTL_OPTS=
+
  # Uncomment and set the OVS User/Group value
  #OVS_USER_ID="openvswitch:openvswitch"




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


[ovs-dev] Herramientas de tablas

2019-01-30 Thread Excel - Tablas Dinámicas
Cursos escenciales - Webinar Interactivo – Viernes 22 de Febrero

Bases de datos y tablas dinámicas en Excel

Nuestro curso está diseñado para enseñarte a importar o construir bases de 
datos correctamente estructuradas para la creación
de tablas dinámicas y todas las herramientas que la herramienta nos ofrece para 
esta función.

Identificaremos y aplicaremos las funciones y utilidades del software para 
tareas propias del área financiera más comunes
en el ámbito empresarial. 

Ejes Temáticos:

• Estructura y composición de una base de datos.
• Asistente para creación de tablas dinámicas.
• Campos, filtros, etiquetas y valores.
• Diseño de tabla dinámica.
• Herramientas de tablas.

Para mayor información, responder sobre este correo con la palabra EXCEL + los 
siguientes datos:

NOMBRE:

TELÉFONO:

EMPRESA: 

Llamanos al (045) 55 1554 6630
www.Innovalearn.mx 


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


Re: [ovs-dev] [PATCH v2 1/2] dpdk: Use svec instead of re-inventing.

2019-01-30 Thread Ian Stokes

On 1/29/2019 8:11 AM, Ilya Maximets wrote:

No need to implement dynamic vector to store arguments.
'svec' perfectly covers all the needed functionality.

Signed-off-by: Ilya Maximets 
Acked-by: Aaron Conole 


Thanks for the v2 Ilya, I've pushed this to master.

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


[ovs-dev] From Mrs.Maryam.

2019-01-30 Thread mrsmaryam tukur via dev
Dearest One,
It is my pleasure to write you after much consideration since can not be able 
to see you face to face, at first.being the wife of late Dr Ken B.TUKUR, from 
ZULU in republic of SOUTH AFRICA (S.A) Iam Mrs MARYAM KEN TUKUR and my husband 
was a limited liability cocoa and Gold merchant in South-Africa .

Before his death after his business trip to Abidjan-Coted'ivoire west -Africa 
to negotiate on a cocoa business on 6th of February 2004 a week after he came 
back from Abidjan,he was assassinated with my first son by unknown assassins 
which my son dead instantly but my husband dead two week after in the hospital 
, on that faithful afternoon I didn't know that my husband is going to leave me 
after I lost my jovial and intelligent son. But before he gave up the ghost it 
was as if he knew hewas going to die .

He KEN TUKUR my lovely husband ( may his soul rest in perfectpeace ) he 
disclosed to me that he deposited the sum of USD$ 10,000,000.00 million dollars 
with a bank in Abidjan -Cote d'ivoirethat the money was meant for his cocoa 
business he wanted toinvest in Abidjan-Cote d'ivoire.  Though according to my 
husband he told me to take care of the money for the future sake of his other 
children , so he instructed me to seek for a life time investment abroad .

As a result of this assassination we cannot stay in South-Africa now .I have 
succeeded in locating and confirming the existence of the fund in Abidjan -Cote 
d'ivoire and also with mosthonest and confidentiality. I am soliciting your 
assistance to help me on how to transfer this money from the bank in Abidjan 
Cote d'ivoire to your bank account abroad so that we will invest in a lucrative 
business in your country . you should understand that this fund is our only 
hope . I am waiting anxiously to hear from you so that we can discuss the 
modalities of this transaction.

Although I and my remaining Son Kevin Jr. have decided to give you a 10% 
interest from the total sumof $10million . Please kingly contact me on the 
above email address immediately for more discussion .
Thank you and God bless You .
Best regards
Mrs.Maryam.
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] [PATCH v2 0/3] fix build with DPDK 18.11 without -ldpdk

2019-01-30 Thread Christian Ehrhardt
DPDK 18.11 can be built using the more modern meson build system.
In that case it no more provides the -ldpdk linker script. Instead
it is expected to use pkgconfig for linker options as well.

FYI here a build log on Ubuntu 19.04 with the three patches applied:
https://launchpadlibrarian.net/409021278/buildlog_ubuntu-disco-amd64.openvswitch_2.11.0~git20190121.4e4f80ec2-0ubuntu1~ppa5_BUILDING.txt.gz

Updates from v1:
- add updated pkg.m4 to support PKG_CHECK_MODULES_STATIC
- include local pkg.m4 in configure.ac

Christian Ehrhardt (3):
  acinclude: Also use LIBS from dpkg pkg-config
  m4: update pkg.m4 to pkg-config 0.29.1.
  configure.ac: use the locally provided pkg.m4

 acinclude.m4 |  17 ++--
 configure.ac |   2 +
 m4/pkg.m4| 217 +--
 3 files changed, 153 insertions(+), 83 deletions(-)

-- 
2.17.1

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


[ovs-dev] [PATCH v2 1/3] acinclude: Also use LIBS from dpkg pkg-config

2019-01-30 Thread Christian Ehrhardt
DPDK 18.11 builds using the more modern meson build system no more
provide the -ldpdk linker script. Instead it is expected to use
pkgconfig for linker options as well.

This change will set DPDK_LIB from pkg-config (if pkg-config was
available) and since that already carries the whole-archive flags around
the PMDs skips the further wrapping in more whole-archive if that is
already part of DPDK_LIB.

Signed-off-by: Christian Ehrhardt 
---
 acinclude.m4 | 17 -
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/acinclude.m4 b/acinclude.m4
index f038fd457..a45411860 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -223,9 +223,9 @@ AC_DEFUN([OVS_CHECK_DPDK], [
 case "$with_dpdk" in
   yes)
 DPDK_AUTO_DISCOVER="true"
-PKG_CHECK_MODULES([DPDK], [libdpdk],
-  [DPDK_INCLUDE="$DPDK_CFLAGS"],
-  [DPDK_INCLUDE="-I/usr/local/include/dpdk 
-I/usr/include/dpdk"])
+PKG_CHECK_MODULES_STATIC([DPDK], [libdpdk],
+ [DPDK_INCLUDE="$DPDK_CFLAGS", 
DPDK_LIB="$DPDK_LIBS"],
+ [DPDK_INCLUDE="-I/usr/local/include/dpdk 
-I/usr/include/dpdk", DPDK_LIB="-ldpdk"])
 ;;
   *)
 DPDK_AUTO_DISCOVER="false"
@@ -238,10 +238,10 @@ AC_DEFUN([OVS_CHECK_DPDK], [
DPDK_INCLUDE="-I$DPDK_INCLUDE_PATH/dpdk"
 fi
 DPDK_LIB_DIR="$with_dpdk/lib"
+DPDK_LIB="-ldpdk"
 ;;
 esac
 
-DPDK_LIB="-ldpdk"
 DPDK_EXTRA_LIB=""
 
 ovs_save_CFLAGS="$CFLAGS"
@@ -346,7 +346,14 @@ AC_DEFUN([OVS_CHECK_DPDK], [
 #
 # These options are specified inside a single -Wl directive to prevent
 # autotools from reordering them.
-DPDK_vswitchd_LDFLAGS=-Wl,--whole-archive,$DPDK_LIB,--no-whole-archive
+#
+# OTOH newer versions of dpdk pkg-config (generated with Meson)
+# will already have flagged just the right set of libs with
+# --whole-archive - in those cases do not wrap it once more.
+case "$DPDK_LIB" in
+  *whole-archive*) DPDK_vswitchd_LDFLAGS=$DPDK_LIB;;
+  *) DPDK_vswitchd_LDFLAGS=-Wl,--whole-archive,$DPDK_LIB,--no-whole-archive
+esac
 AC_SUBST([DPDK_vswitchd_LDFLAGS])
 AC_DEFINE([DPDK_NETDEV], [1], [System uses the DPDK module.])
   fi
-- 
2.17.1

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


[ovs-dev] [PATCH v2 2/3] m4: update pkg.m4 to pkg-config 0.29.1.

2019-01-30 Thread Christian Ehrhardt
We want to be able to use PKG_CHECK_MODULES_STATIC which
is not yet available in 0.24.

This should be backport-safe as these macro files are all versioned.
autoconf is smart enough to check the version if you have it locally,
and if the system's is higher, it will use that one instead.

Signed-off-by: Christian Ehrhardt 
---
 m4/pkg.m4 | 217 ++
 1 file changed, 139 insertions(+), 78 deletions(-)

diff --git a/m4/pkg.m4 b/m4/pkg.m4
index c5b26b52e..82bea96ee 100644
--- a/m4/pkg.m4
+++ b/m4/pkg.m4
@@ -1,29 +1,60 @@
-# pkg.m4 - Macros to locate and utilise pkg-config.-*- Autoconf -*-
-# serial 1 (pkg-config-0.24)
-# 
-# Copyright © 2004 Scott James Remnant .
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# PKG_PROG_PKG_CONFIG([MIN-VERSION])
-# --
+dnl pkg.m4 - Macros to locate and utilise pkg-config.   -*- Autoconf -*-
+dnl serial 11 (pkg-config-0.29.1)
+dnl
+dnl Copyright © 2004 Scott James Remnant .
+dnl Copyright © 2012-2015 Dan Nicholson 
+dnl
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 2 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful, but
+dnl WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; if not, write to the Free Software
+dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+dnl 02111-1307, USA.
+dnl
+dnl As a special exception to the GNU General Public License, if you
+dnl distribute this file as part of a program that contains a
+dnl configuration script generated by Autoconf, you may include it under
+dnl the same distribution terms that you use for the rest of that
+dnl program.
+
+dnl PKG_PREREQ(MIN-VERSION)
+dnl ---
+dnl Since: 0.29
+dnl
+dnl Verify that the version of the pkg-config macros are at least
+dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
+dnl installed version of pkg-config, this checks the developer's version
+dnl of pkg.m4 when generating configure.
+dnl
+dnl To ensure that this macro is defined, also add:
+dnl m4_ifndef([PKG_PREREQ],
+dnl [m4_fatal([must install pkg-config 0.29 or later before running 
autoconf/autogen])])
+dnl
+dnl See the "Since" comment for each macro you use to see what version
+dnl of the macros you require.
+m4_defun([PKG_PREREQ],
+[m4_define([PKG_MACROS_VERSION], [0.29.1])
+m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
+[m4_fatal([pkg.m4 version $1 or higher is required but 
]PKG_MACROS_VERSION[ found])])
+])dnl PKG_PREREQ
+
+dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
+dnl --
+dnl Since: 0.16
+dnl
+dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
+dnl first found in the path. Checks that the version of pkg-config found
+dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
+dnl used since that's the first version where most current features of
+dnl pkg-config existed.
 AC_DEFUN([PKG_PROG_PKG_CONFIG],
 [m4_pattern_forbid([^_?PKG_[A-Z_]+$])
 
m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
@@ -45,18 +76,19 @@ if test -n "$PKG_CONFIG"; then
PKG_CONFIG=""
fi
 fi[]dnl
-])# PKG_PROG_PKG_CONFIG
-
-# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-#
-# Check to see whether a particular set of modules exists.  Similar
-# to PKG_CHECK_MODULES(), but does not set variables or print errors.
-#
-# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-# only at the first occurence in configure.ac, so if the first place
-# it's called might be 

[ovs-dev] [PATCH v2 3/3] configure.ac: use the locally provided pkg.m4

2019-01-30 Thread Christian Ehrhardt
Include the locally provided pkg.m4 before calling the
PKG_PROG_PKG_CONFIG macro.

Signed-off-by: Christian Ehrhardt 
---
 configure.ac | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/configure.ac b/configure.ac
index 505e3d041..dc6eebbf5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -28,6 +28,8 @@ AC_PROG_CPP
 AC_PROG_MKDIR_P
 AC_PROG_FGREP
 AC_PROG_EGREP
+
+m4_include([m4/pkg.m4])
 PKG_PROG_PKG_CONFIG
 
 AM_MISSING_PROG([AUTOM4TE], [autom4te])
-- 
2.17.1

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


Re: [ovs-dev] flow: fix a possible memory leak in parse_ct_state

2019-01-30 Thread Ilya Maximets
On 28.01.2019 8:49, Li RongQing wrote:
> state_s should be freed always before exit parse_ct_state
> 

Fixes: b4293a336d8d ("conntrack: Move ct_state parsing to lib/flow.c")

> Signed-off-by: Li RongQing 

LGTM,
Acked-by: Ilya Maximets 

> ---
>  lib/flow.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/lib/flow.c b/lib/flow.c
> index c6e47781b..479b7fe46 100644
> --- a/lib/flow.c
> +++ b/lib/flow.c
> @@ -1261,6 +1261,7 @@ parse_ct_state(const char *state_str, uint32_t 
> default_state,
>  if (!bit) {
>  ds_put_format(ds, "%s: unknown connection tracking state flag",
>cs);
> +free(state_s);
>  return false;
>  }
>  state |= bit;
> 
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH v2 0/3] fix build with DPDK 18.11 without -ldpdk

2019-01-30 Thread Luca Boccassi
On Wed, 2019-01-30 at 11:08 +0100, Christian Ehrhardt wrote:
> DPDK 18.11 can be built using the more modern meson build system.
> In that case it no more provides the -ldpdk linker script. Instead
> it is expected to use pkgconfig for linker options as well.
> 
> FYI here a build log on Ubuntu 19.04 with the three patches applied:
> https://launchpadlibrarian.net/409021278/buildlog_ubuntu-disco-amd64.
> openvswitch_2.11.0~git20190121.4e4f80ec2-
> 0ubuntu1~ppa5_BUILDING.txt.gz
> 
> Updates from v1:
> - add updated pkg.m4 to support PKG_CHECK_MODULES_STATIC
> - include local pkg.m4 in configure.ac
> 
> Christian Ehrhardt (3):
>   acinclude: Also use LIBS from dpkg pkg-config
>   m4: update pkg.m4 to pkg-config 0.29.1.
>   configure.ac: use the locally provided pkg.m4
> 
>  acinclude.m4 |  17 ++--
>  configure.ac |   2 +
>  m4/pkg.m4| 217 +--
> 
>  3 files changed, 153 insertions(+), 83 deletions(-)

Series-acked-by: Luca Boccassi 

-- 
Kind regards,
Luca Boccassi
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] (no subject)

2019-01-30 Thread Phee Rujiphan


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