Primarily this series is attempting to address a divide-by-zero error in
the bridge sampling code for IPFIX, but a couple of other minor changes
leaked in too. Unfortunately I haven't been able to reproduce this issue
locally in the testsuite. Full description below, also available in the
commit message (but trimmed for brevity).

Program terminated with signal SIGFPE, Arithmetic exception.
(gdb) bt
#0  0x000000000042f76b in dpif_ipfix_bridge_sample (di=0x197c390, 
packet=packet@entry=0x7f624ffdf438, flow=flow@entry=0x7f624ffe1e30, 
input_odp_port=3, output_odp_port=4294967295, output_tunnel_key=0x0)
    at ../ofproto/ofproto-dpif-ipfix.c:1701
#1  0x00000000004341b5 in process_upcall (udpif=udpif@entry=0x18bddc0, 
upcall=upcall@entry=0x7f624fff1c30, odp_actions=odp_actions@entry=0x0) at 
../ofproto/ofproto-dpif-upcall.c:1145
#2  0x0000000000434eb7 in recv_upcalls (handler=0x18c9b90, handler=0x18c9b90) 
at ../ofproto/ofproto-dpif-upcall.c:705
#3  0x00000000004352fa in udpif_upcall_handler (arg=0x18c9b90) at 
../ofproto/ofproto-dpif-upcall.c:631
#4  0x00000000004af7c4 in ovsthread_wrapper (aux_=<optimized out>) at 
../lib/ovs-thread.c:340
#5  0x00007f62690bc182 in start_thread (arg=0x7f624ffff700) at 
pthread_create.c:312
#6  0x00007f62688db47d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111
...
(gdb) p di->bridge_exporter->probability
$2 = 0

Romain and/or Wenyu, do you mind reviewing this series?

Joe Stringer (3):
  tests: Add basic IPFIX test.
  ipfix: Add bridge_exporter_enabled().
  ipfix: Fix SIGFPE in bridge exporter sampling.

 ofproto/ofproto-dpif-ipfix.c | 14 ++++++++++++--
 tests/ofproto-dpif.at        | 37 +++++++++++++++++++++++++++++++++++++
 2 files changed, 49 insertions(+), 2 deletions(-)

-- 
2.1.4

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to