• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

noironetworks / opflex
68%
master: 68%

Build:
Build:
LAST BUILD BRANCH: coveralls
DEFAULT BRANCH: master
Repo Added 02 Jun 2016 10:15PM UTC
Files 285
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH kwai-remote-ip
branch: kwai-remote-ip
CHANGE BRANCH
x
Reset
  • kwai-remote-ip
  • 5.1.1.0
  • 5.1.1.1
  • 5.1.3.0
  • 5.1.3.1
  • 5.1.3.2
  • 5.1.3.3
  • 5.1.3.4
  • 5.1.3.5
  • 5.2.1.0
  • 5.2.1.1
  • 5.2.1.2
  • 5.2.3.0
  • 5.2.3.1
  • 5.2.3.2
  • 5.2.3.3
  • 5.2.3.4
  • 5.2.3.5
  • 5.2.3.6
  • 5.2.3.7
  • Revert-Revert-openshift-hack-jefferson
  • access-allow-untagged
  • add-cwrapper-uts
  • add-dir-order-to-sg
  • add-extepfile-test
  • add-lgtm-rules
  • add-missing-stop
  • add_pipeline_script
  • addcodeqlfilter
  • adjust_drop_counters
  • anm-opflex-rpm
  • anm-patch
  • apic
  • arm64
  • asan-gbp-issues
  • asyncjson
  • asyncjson-kmr2
  • asyncjson_kmr2
  • atomic-1
  • backport-fixes
  • backport-kmr2
  • backport-krm2
  • backport_drop_prune_bug
  • backport_droplog_part1
  • backport_droplog_prune
  • backport_droplog_pruning
  • backport_egress_dns
  • backport_prune_fix
  • backport_tsan_fix
  • bbva
  • bhav-opflex-rpm
  • bpf
  • build-opt
  • bump-release
  • bump-vers-k+
  • bump-version
  • centos
  • centos-master
  • certs
  • cfd-ut
  • change-retry-timeout
  • cicd-lmr-update
  • cleanup-dotfiles
  • cleanup-includes
  • cleanup-lgtm-complaints
  • cleanup-qos
  • cleanup_droplogs
  • clsr
  • clsr2
  • clsr3
  • clsr4
  • codacity
  • codacity-8-14
  • codacity-8-17
  • codacity-cleanup
  • codacity-usleep
  • codacy-warnings
  • collapse-debug-levels
  • common-getuuid
  • complaint-cleanup
  • con_deny
  • config_filter_droplog
  • configurable-timeouts
  • configured-peer-issue
  • const-operator
  • cov-1
  • cov-2
  • cov-8-21
  • cov-exc
  • cov-fixes
  • cov-issue
  • cov_0513
  • coveralls
  • coveralls-logs
  • coveralls-reporting-fixes
  • coverity
  • coverity-8-14
  • coverity-fixes-uninit
  • coverity_0529
  • coverity_0531
  • coverity_0601
  • coverity_0602
  • coverity_fix_01
  • cpp-min-version-change
  • cpp14-bump
  • csr-flows
  • csr-integration
  • csr-service
  • ct-rel
  • deb-build-problems
  • deb-rules
  • debian_warnings-2
  • debian_warnings-3
  • deny_rule_2
  • deny_rules
  • devtoolset-8
  • disable-scheduled-codeql-scan
  • disable-untagged-dup
  • dns_bkup_restore
  • dns_fixes
  • dns_records
  • dns_uts
  • drop-log-redirect-args
  • drop_deny
  • dropflow-ut
  • droplog-uts
  • droplog_part1
  • droplog_test
  • droplogcfg
  • droplogger_thread
  • dual-stack
  • dup-os-on-os
  • egress_dns
  • enable-prometheus
  • enable-sanitizers
  • encap
  • enhance-epfile-tests
  • epcounter
  • epcounter-tests
  • epdeclare
  • epfaults_UT
  • erspan-id
  • erspan-update-port
  • erspan-updates
  • event_array_fix
  • exc_err_log
  • except-1
  • fault_manager
  • faultcode
  • faults-rpm-deb
  • faults_changes
  • file_dump_unresolved
  • fix-60min-outage
  • fix-certs
  • fix-cov-issue
  • fix-deb-rpm
  • fix-liopflex-uts-ubuntu2304
  • fix-lmr
  • fix-pre-handshake-timeouts
  • fix-ssl
  • fix-ssl-version
  • fix-travis-badge
  • fix-unavail-resolves
  • fix_acc_br_pktin
  • fix_commit_message
  • fix_commit_message_kmr2
  • fix_droplog_access_flow
  • fix_dropprunecore
  • fix_lgtm
  • fix_tsan
  • fix_uninit_tests
  • fixes
  • flag_sync
  • flaky-tests-6-16
  • focal-disable-deb-test
  • focal-travis
  • fsdroplog-ut
  • gautvenk-patch-1
  • gbp_inspect-crash
  • gbpinspect
  • gbpserver-coverity
  • genie-cleanup
  • genie-codacity
  • genie-gen-c++11
  • genie-relation-uris
  • genie-remove-reverse-relationship
  • githash-incorrect
  • gprof
  • grafana
  • grafana-2
  • grafana-6-23
  • grafana-images
  • grafana-uc
  • grpc-cache
  • grpc-coverity
  • grpc-travis
  • grpc-v1.31.0
  • high_freq_timers
  • high_freq_timers-lmr-6.0.4
  • high_freq_timers-mmr-6.1.1
  • incorrect_arg_droplog
  • increase-ovsdb-buffer-size
  • indus-cfd
  • inspect-timeout
  • ipfix-domid
  • ipfix-fields
  • ipfix-output-only
  • jammy-disabledgprof
  • jammy-travis-wait
  • jefferson
  • jefferson-invalid-read
  • jefferson-lb-loopback
  • jefferson-logs
  • jefferson-ovsdb
  • jefferson-peer-list-reset
  • jefferson-svc-stats-thread
  • jsonrcp-errormsg
  • jsonrpc-monitor
  • jsonrpc-monitor-support
  • judith
  • judith-buffer-issue
  • judith-buffer-size-bump
  • judith-nat-prio
  • judith-peer-reset
  • judith-remote-ip
  • kmr2
  • kmr2-5.2.7
  • kmr2-bbva
  • kmr2-change-retry-timeout
  • kmr2-restart
  • kmr2-revert
  • kwai
  • kwai-keepalive
  • kwai-nat-prio
  • kwai-prom-0.12.1
  • kwai-session-aff
  • l2c
  • lgtm-1
  • lgtm-2
  • lgtm-cleanup
  • lgtm-coverty-1
  • lgtm-fixes
  • lgtm-grpc
  • lgtm-grpc-build
  • lgtm-lo
  • lgtm-os
  • lgtm-prom
  • lgtm-revert
  • lgtm_2
  • lgtm_build
  • lgtm_fixes
  • lmr
  • lmr-6.0.4
  • lmr-inspect
  • lmr-stoul
  • lmr-ubi8
  • local-hpp-counters
  • local-hpp-tests
  • lock-cleanup-1
  • logaction
  • loopback-lb
  • mac-vector-leak
  • mac_mask
  • master
  • mcast-flaky
  • minor_br_access_fix
  • mmr-6.1.1
  • mock-server-1
  • modb-count-agent
  • more-cov-issues
  • more-uts
  • more_default_rules
  • move-to-ovs-renderer
  • mtufault
  • multi-travis
  • multiple-switches
  • nat
  • nat-fixes
  • nat-prio
  • of-timeout
  • ofpeer
  • ofstats-del
  • openssl
  • opflex-fixes
  • opflex-hpp-optimization
  • opflex-rpm
  • opflex-svc-stats-thread
  • opflex_denyrules
  • opflex_epfaults
  • os-deadlock-8-10
  • os-gbp-1
  • os-grafana
  • os-refactor
  • os-refactor-2
  • os-stats-8-20
  • os-tsan-1
  • os-tsan-7-23
  • os-tsan-8-6
  • ospm-7-2
  • overflow-on-read
  • overlay_tunnel_adv
  • ovs-lib-includes
  • ovsdb-async
  • ovsdb-connect
  • ovsdb-id
  • ovsdb-rework
  • ovsdb-test-update
  • ovsdb-update
  • ovsdb-update-mock-fix
  • ovsdb-ut
  • parse_fix
  • parse_srv
  • peer-tsan
  • permit_logging
  • policydrop
  • port-commits
  • port-tunneladv-change
  • prefer-range-for
  • prom-conditionals
  • prom-define-remove
  • prom-deps
  • prom-v1.0.1
  • prom-v1.0.1-kmr2
  • prom_unit_test
  • prometheus-cpp
  • prometheus-doc
  • prr-fixes
  • prune_bug
  • pruning_core_fix
  • pthread-6-8
  • qos-coverage
  • recursive_resolve
  • reduce-logs
  • reduce-noisy-logs
  • reduce-travis-usage
  • remote-ep
  • remoteep-tests
  • remove-asssert
  • remove-clone
  • remove-cpp-version-checks
  • remove-debug5
  • remove-epg-erspan
  • remove-oftypes
  • remove-simstats
  • remove-snat-unset
  • remove-unused-method
  • remove-vlog
  • remove_travis_tags
  • removelog
  • renderer-stop-fix
  • reset-wait
  • restart
  • revert-258-dscp_2
  • revert-297-jefferson-svc-stats-thread
  • revert-Revert-oshift-dup
  • revert-agent-c++14
  • rework-boost-placeholder-usage
  • rework-jsonrpc-code
  • rhel8-rpm
  • rhel8rpm
  • rpm-deb-8-23
  • rpm_build_fix
  • rpm_fix
  • rpmbuild
  • runtime-6-10
  • serialize-unresolved
  • server-prom
  • server-readme
  • service-UT
  • service-secgrp-bypass
  • session-aff
  • set-erspan-dir
  • sm-7-13
  • snat
  • snat-bounce
  • snat-fixes
  • snat-uts
  • snat_test_coverage
  • span-bridge-fix
  • span-coverage
  • span-create-delete
  • span-ut
  • span-uts
  • srv_flow_changes
  • ssu-wipe
  • startup
  • startup-enable
  • std-to-string
  • sumit-kmr2-travis-builds
  • svc-arp
  • svc-bypass-secgrp-jefferson
  • svc-dup
  • svc-loopback
  • svc-stale
  • svc-stats-disable
  • svc-stats-flow-disable
  • svc_flood
  • sys-stats-1
  • test-dscp
  • test-en
  • test-old-master
  • test-updatemos
  • testing
  • time_gprof
  • timer-mutex
  • timer-protect
  • totals-1
  • travis-focal
  • travis-log
  • travis-logs
  • travis-rc
  • travis_build_fix
  • triangular-deadlock
  • tsan-afm
  • tsan-check
  • tsan-clang-cleanup
  • tsan-cleanup
  • tsan-epcounter
  • tsan-erspan
  • tsan-fixes
  • tsan-issues
  • tsan-ubuntu2010
  • tsan_cov_fix
  • tsanissues-jsonrpc
  • tunnel-mtx
  • tupledata-rename
  • ubi
  • ubi9rpmbuild
  • ubsan
  • ubsan-disable
  • ubsan-enable
  • ubuntu-21.04-issue
  • ubuntu2010-failure
  • ubuntu23.10
  • uc-6-29
  • unicast_garp
  • unrel_count
  • unrel_pol2
  • unrel_pol3
  • unresolved_relations
  • unresolved_relations_2
  • unresolved_rels
  • update-codeql-config
  • update-docs
  • upgrade-prom-cpp
  • vmotion-reset-all-peers

pending completion
2041

push

travis-ci-com

Madhu Challa
handle remoteIp delete properly (#373)

There are 2 ways to delete a remoteIp
1. send update / replace for the remoteEp without the remoteIp

Is handled correctly because the notif code gets the correct
remoteEp Mo which then triggers the remoteEp update

2. delete the remoteIp alone

This case is not handled today. there is no listener to this update
so no notif happens.

Based on the logs CSCvx60417 / 	690770038 this is whats happening here.

This is normally not an issue if the same remoteIp is updated later,
in this case the remoteIp is a VIP. But if the VIP to VTEP mapping
changes and update does not come through we end up with a flow
for the VIP thats using a stale VTEP.

This fix ensures we handle this case and delete the stale flow
right away, any time you see this log

[2021-Mar-25 22:41:12.968729] [debug] [Processor.cpp:524:processItem] Purging state for /InvUniverse/InvRemoteEndpointInventory/InvRemoteInventoryEp/2f40f94e-6d15-490a-ae36-cdaf21862d59%7cfa-16-3e-6b-03-cf/InvRemoteIp/10.60.30.250/ in state remote

Even if update does not come, the flow table is consistent and the worst that
will happen is the packet that should use the new mapping from the VIP -> new VTEP
ends up going to leaf where its forwarded correctly in the absense of the stale flow.

testing
=======

Initial:
=======

root@mchalla-X570-I-AORUS-PRO-WIFI:~# ovs-ofctl dump-flows br-fabric -OOpenFlow13 | grep 10.60.30.250
 cookie=0x0, duration=1.161s, table=5, n_packets=0, n_bytes=0, priority=40,arp,reg4=0x21,reg6=0x5,dl_dst=ff:ff:ff:ff:ff:ff,arp_tpa=10.60.30.250,arp_op=1 actions=move:NXM_OF_ETH_SRC[]->NXM_OF_ETH_DST[],load:0xfa163e6b03cf->NXM_OF_ETH_SRC[],load:0x2->NXM_OF_ARP_OP[],move:NXM_NX_ARP_SHA[]->NXM_NX_ARP_THA[],load:0xfa163e6b03cf->NXM_NX_ARP_SHA[],move:NXM_OF_ARP_SPA[]->NXM_OF_ARP_TPA[],load:0xa3c1efa->NXM_OF_ARP_SPA[],IN_PORT
 cookie=0x0, duration=1.134s, table=7, n_packets=0, n_bytes=0, priority=500,ip,reg6=0x5,dl_dst=00:22:bd... (continued)

20618 of 30252 relevant lines covered (68.15%)

2387.21 hits per line

Relevant lines Covered
Build:
Build:
30252 RELEVANT LINES 20618 COVERED LINES
2387.21 HITS PER LINE
Source Files on kwai-remote-ip
  • Tree
  • List 270
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
2041 kwai-remote-ip handle remoteIp delete properly (#373) There are 2 ways to delete a remoteIp 1. send update / replace for the remoteEp without the remoteIp Is handled correctly because the notif code gets the correct remoteEp Mo which then triggers the remo... push 23 Apr 2021 01:04AM UTC Madhu Challa travis-ci-com pending completion  
See All Builds (2781)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc