summaryrefslogtreecommitdiffstats
path: root/docs
AgeCommit message (Expand)AuthorFilesLines
2021-03-04docs: Update macos doc to clang-formatNathan Skrzypczak1-15/+13
2021-02-12docs: fixing VPP tutorialArthur de Kerhor3-6/+6
2021-01-28build: do not _FORTIFY_SOURCE in debug modeMohammed Hawari1-3/+3
2021-01-27Change unformat_init_string API in doc to match codehemant_mnkcg1-1/+2
2021-01-22docs: vpp stateless traffic generatorDave Barach2-0/+106
2021-01-20build: add the missing leading underscore to FORTIFY_SOURCENeale Ranns1-8/+8
2021-01-14docs: Update FIB documentationNeale Ranns22-183/+1392
2020-12-21docs: update list of pluginsPaul Vinciguerra4-13/+80
2020-12-18docs: fix missing quotes in ubuntu install instructionsPaul Vinciguerra1-5/+5
2020-12-16docs: revise home gateway use-case documentationDave Barach3-286/+498
2020-12-07docs: Fix CentOS 8 buildJon Loeliger1-1/+7
2020-11-26docs: fix bihash doc bugsDave Barach1-19/+19
2020-11-24buffers: add page-size configNathan Skrzypczak1-0/+14
2020-11-16docs: fix memory troubleshooting docBenoît Ganne2-0/+4
2020-11-10vpp: use vpp heap for libcBenoît Ganne1-0/+84
2020-10-16misc: deprecate VOMDamjan Marion1-1/+1
2020-09-25docs: fix typo in bihash clib_bihash_search() documentationJon Loeliger1-2/+2
2020-09-21build: remove opensuse build infraDave Wallace5-75/+3
2020-09-16docs: improve plugin developer's guideDave Barach1-5/+55
2020-09-09docs: Improve new plugin doc & add govpp API docNathan Skrzypczak4-28/+142
2020-09-09docs: Update and improve indent installNathan Skrzypczak1-13/+28
2020-09-05docs: Improve & link cnat docNathan Skrzypczak2-0/+2
2020-08-13docs: correct fib tunnel diagram referenceChristian Hopps1-1/+1
2020-07-28docs: Update the VPP tutorialJohn DeNisco2-12/+21
2020-07-06docs: Reflect the fact that the DPDK is now a pluginJohn DeNisco2-10/+27
2020-06-23vlib: debug CLI macro expander, part deuxDave Barach1-0/+48
2020-06-16vlib: address sanitizer support for stack switch, enable clangDamjan Marion1-5/+5
2020-06-03docs: improve handoff queue writeupDave Barach1-0/+196
2020-05-29docs: Minor fixes in publish_docs.sh and sanitizer.rstJohn DeNisco2-0/+2
2020-05-20docs: asan: update doc to match current statusBenoît Ganne1-5/+5
2020-05-07misc: deprecate elftoolDamjan Marion1-1/+1
2020-05-06vppinfra: add timer wheel section to Sphinx docsDave Barach1-0/+117
2020-05-02vlib: add nosyslog unix optionRuslan Babayev1-0/+12
2020-04-28docs: add missing spelling dictionaryPaul Vinciguerra1-0/+774
2020-04-22misc: asan: disable leak sanitizer by defaultBenoît Ganne1-5/+3
2020-04-09docs: Fix the Use Cases IndexJohn DeNisco1-15/+15
2020-04-02docs: Fix venv under python3Paul Vinciguerra5-19/+32
2020-04-02docs: add a timebase precision sectionDave Barach1-0/+20
2020-03-27docs ethernet: add docs for ethernet SectionPaul Vinciguerra1-0/+14
2020-03-27docs: minor typos in configuring/startup.rstPaul Vinciguerra1-2/+2
2020-03-27docs: document lxd container bootstrap procedureDave Barach1-0/+130
2020-03-23docs: add container functional test writeupDave Barach3-1/+512
2020-03-23docs: Fix build on fresh ubuntu 18.04John DeNisco2-14/+23
2020-03-11docs: Add feature build to publish scriptJohn DeNisco2-3/+18
2020-03-11docs: describe clib_time monotonic timebase supportDave Barach1-1/+69
2020-03-09docs: Add list of nodes for 'trace add'Paul Vinciguerra1-0/+22
2020-03-06docs: document the unformat '%_' optionPaul Vinciguerra1-0/+14
2020-02-23vppinfra: deprecate CLIB_VEC64Dave Barach1-3/+1
2020-02-11http_static: VPP web application HowToDave Barach2-1/+275
2020-01-31vppinfra: write up clib_time_tDave Barach1-0/+57
n> } void vrrp_vr_timer_timeout (u32 timer_index) { vrrp_main_t *vmp = &vrrp_main; vrrp_vr_timer_t *timer; vrrp_vr_t *vr; if (pool_is_free_index (vmp->vr_timers, timer_index)) { clib_warning ("Timeout on free timer index %u", timer_index); return; } timer = pool_elt_at_index (vmp->vr_timers, timer_index); vr = pool_elt_at_index (vmp->vrs, timer->vr_index); switch (timer->type) { case VRRP_VR_TIMER_ADV: vrrp_adv_send (vr, 0); vrrp_vr_timer_set (vr, VRRP_VR_TIMER_ADV); break; case VRRP_VR_TIMER_MASTER_DOWN: vrrp_vr_transition (vr, VRRP_VR_STATE_MASTER, NULL); break; default: clib_warning ("Unrecognized timer type %d", timer->type); return; } } static uword vrrp_periodic_process (vlib_main_t * vm, vlib_node_runtime_t * rt, vlib_frame_t * f) { vrrp_main_t *pm = &vrrp_main; f64 now; f64 timeout = 10.0; uword *event_data = 0; uword event_type; u32 next_timer = ~0; vrrp_vr_timer_t *timer; while (1) { now = vlib_time_now (vm); if (next_timer == ~0) { vlib_process_wait_for_event (vm); } else { timer = pool_elt_at_index (pm->vr_timers, next_timer); timeout = timer->expire_time - now; vlib_process_wait_for_event_or_clock (vm, timeout); } event_type = vlib_process_get_events (vm, (uword **) & event_data); switch (event_type) { /* Handle VRRP_EVENT_VR_TIMER_UPDATE */ case VRRP_EVENT_VR_TIMER_UPDATE: next_timer = vrrp_vr_timer_get_next (); break; /* Handle periodic timeouts */ case ~0: vrrp_vr_timer_timeout (next_timer); next_timer = vrrp_vr_timer_get_next (); break; } vec_reset_length (event_data); } return 0; } /* *INDENT-OFF* */ VLIB_REGISTER_NODE (vrrp_periodic_node) = { .function = vrrp_periodic_process, .type = VLIB_NODE_TYPE_PROCESS, .name = "vrrp-periodic-process", }; /* *INDENT-ON* */ /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */