summaryrefslogtreecommitdiffstats
path: root/src/vat
AgeCommit message (Expand)AuthorFilesLines
2019-07-31devices interface tests: vhosst GSO supportSteven Luong1-2/+10
2019-07-28pg: add GSO supportMohsin Kazmi1-2/+15
2019-07-24qos: QoS dump APIsNeale Ranns1-2/+2
2019-07-19bonding: add support for numa-only in lacp modeZhiyong Yang1-0/+4
2019-07-19vat: remove #if BUILTIN from vat_main_t definitionDave Barach1-2/+0
2019-07-16api: enable binary API event logging in vatDave Barach2-1/+106
2019-07-03misc: fix coverity warningsDave Barach1-2/+2
2019-07-03vat: Fix the incrementing IPv6 addressNeale Ranns1-2/+2
2019-06-26api: refactor format_vl_api_prefix_t return keysPaul Vinciguerra1-8/+6
2019-06-26api: Remove the inlines file and replace with library functionsNeale Ranns1-1/+0
2019-06-20vat: vec_free/errmsh copy paste errorOle Troan1-2/+1
2019-06-20tap: add support to configure tap interface host MTU sizeMohsin Kazmi1-1/+19
2019-06-19l2: BD ARP termination entry API updateNeale Ranns1-26/+11
2019-06-18ipsec: ipsec-tun protectNeale Ranns1-179/+0
2019-06-18fib: fib api updatesNeale Ranns1-736/+634
2019-06-18api: string type to convert to vectorOle Troan1-13/+15
2019-06-12infra: fix minor memory leak in "api trace..."Dave Barach1-0/+4
2019-06-07build: add -Wall and -fno-common, fix reported issuesBenoît Ganne3-28/+17
2019-06-07ipsec: remove the set_key APINeale Ranns1-131/+0
2019-05-28Punt: socket register for exception dispatched/punted packets based on reasonNeale Ranns1-4/+7
2019-05-27virtio: Add gso support for native virtio driverMohsin Kazmi1-26/+4
2019-05-24Remove historical ip4 icmp OAM codeDave Barach1-56/+0
2019-05-14VPP-1649: fix coverity warning in api_format.cDave Barach1-1/+2
2019-05-06Fix VPP-1487 DHCP client does not support option 6-domain serverjackiechen19851-7/+16
2019-05-01virtio: remove configurable queue size supportMohsin Kazmi1-2/+0
2019-04-18GRE: API updateNeale Ranns1-102/+63
2019-04-02IPSEC: tunnel scaling - don't stack the inbould SANeale Ranns1-46/+127
2019-03-29IPSEC-GRE: fixes and API update to common types.Neale Ranns1-28/+42
2019-03-28ipsec: USE_EXTENDED_SEQ_NUM -> USE_ESNDamjan Marion1-2/+1
2019-03-28vat:ignore SIGWINCH signalezkexma1-0/+1
2019-03-21ipsec: add ipv6 support for ipsec tunnel interfaceKingwel Xie1-6/+8
2019-03-15Revert "API: Cleanup APIs interface.api"Ole Trøan2-46/+35
2019-03-15API: Cleanup APIs interface.apiJakub Grajciar2-35/+46
2019-02-25IKEv2 to pluginNeale Ranns1-708/+0
2019-02-18IPSEC: move SA counters into the stats segmentNeale Ranns1-5/+2
2019-02-07IPSEC: no second lookup after tunnel encapNeale Ranns1-55/+59
2019-02-05sock api: allow to start client with no rx_threadTomasz Kulasek1-1/+1
2019-02-05IPSEC: SPD counters in the stats sgementNeale Ranns1-1/+0
2019-01-31IPSEC: API modernisationNeale Ranns1-225/+144
2019-01-30Use IP and MAC API types for neighborsNeale Ranns1-129/+71
2019-01-25deprecate tapcliDamjan Marion1-360/+0
2019-01-22virtio: Add api support in vatMohsin Kazmi1-0/+299
2019-01-20Rework of debian packagingDamjan Marion1-0/+34
2019-01-13bonding: support custom interface IDsAlexander Chernavin1-1/+6
2019-01-07tapv2: add "tap_flags" field to the TAPv2 interface APIAndrew Yourtchenko1-2/+3
2019-01-07L2 BD API to flush all IP-MAC entries in the specified BDJohn Lo1-1/+38
2018-12-22bapi/vat: fix socket transport for vatFlorin Coras1-2/+8
2018-12-18PAPI: Add MACAddress object wrapper for vl_api_mac_address_tOle Troan1-9/+1
2018-12-17stats: Deprecate old stats frameworkOle Troan1-536/+1
2018-12-17String type: Not include \0 in show_versionOle Troan1-11/+23
/span> (event_data); if (event_type == IGMP_PROCESS_EVENT_UPDATE_TIMER) goto next_timer; /* timer expired */ ASSERT (tid != IGMP_TIMER_ID_INVALID); timer = pool_elt_at_index (timer_pool, tid); ASSERT (timer->func != NULL); timer->func (timer->obj, timer->data); next_timer: tid = igmp_get_next_timer (); } return 0; } /* *INDENT-OFF* */ VLIB_REGISTER_NODE (igmp_timer_process_node) = { .function = igmp_timer_process, .type = VLIB_NODE_TYPE_PROCESS, .name = "igmp-timer-process", .n_next_nodes = 0, }; /* *INDENT-ON* */ igmp_timer_id_t igmp_timer_schedule (f64 when, u32 obj, igmp_timer_function_t fn, void *data) { igmp_timer_t *timer; vlib_main_t *vm; ASSERT (fn); vm = vlib_get_main (); pool_get (timer_pool, timer); timer->exp_time = vlib_time_now (vm) + when; timer->obj = obj; timer->func = fn; timer->data = data; vec_add1 (pending_timers, timer - timer_pool); vec_sort_with_function (pending_timers, igmp_timer_compare); vlib_process_signal_event (vm, igmp_timer_process_node.index, IGMP_PROCESS_EVENT_UPDATE_TIMER, 0); return (timer - timer_pool); } void igmp_timer_retire (igmp_timer_id_t * tid) { if (IGMP_TIMER_ID_INVALID == *tid) return; vec_del1 (pending_timers, vec_search (pending_timers, *tid)); pool_put_index (timer_pool, *tid); *tid = IGMP_TIMER_ID_INVALID; vlib_process_signal_event (vlib_get_main (), igmp_timer_process_node.index, IGMP_PROCESS_EVENT_UPDATE_TIMER, 0); } u8 * format_igmp_timer_id (u8 * s, va_list * args) { igmp_timer_id_t tid = va_arg (*args, igmp_timer_id_t); igmp_timer_t *timer; if (IGMP_TIMER_ID_INVALID == tid) { s = format (s, "not-running"); } else { timer = pool_elt_at_index (timer_pool, tid); s = format (s, "[expires-in:%f]", timer->exp_time - vlib_time_now (vlib_get_main ())); } return (s); } /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */