aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/ethernet/arp.c
AgeCommit message (Expand)AuthorFilesLines
2017-10-04[aarch64] Fixes CLI crashes on dpaa2 platform.Christophe Fontaine1-1/+1
2017-10-03Repair vlib API socket serverDave Barach1-1/+2
2017-09-25Fix sending GARP/NA on Bonded Interface Active/Backup Link Up/DownJohn Lo1-37/+1
2017-09-22IP-MAC,ND:wildcard events,fix sending multiple eventsEyal Bari1-4/+8
2017-09-18L2BD,ARP-TERM:fix arp query report mechanism+testEyal Bari1-25/+52
2017-09-11replace uint32_t with u32Neale Ranns1-2/+2
2017-09-11FIB table add/delete APINeale Ranns1-34/+93
2017-08-15Support proxy ARP on mirrored TAP interfacesNeale Ranns1-4/+16
2017-08-09VPP-933 VPP crashes when deleting an ARP entryMatthew Smith1-0/+7
2017-08-09ARP reply: use interface to build rewrite stringNeale Ranns1-17/+13
2017-08-08L2 over MPLSNeale Ranns1-2/+2
2017-08-04don't truncate the interface name in 'sh ip arp'Neale Ranns1-1/+1
2017-07-23Improve L2 Input/Output Feature Infrastructure and UsageJohn Lo1-6/+2
2017-07-06Send GARP/NA on bonded intf slave up/down if in active-backup modeJohn Lo1-0/+83
2017-06-21ARP: ignore non-connected routes and non-interface sources when determing if ...Neale Ranns1-30/+97
2017-06-06Packets recieved on VLAN-0 map to the main interfaceNeale Ranns1-164/+30
2017-05-26ARP/ND use path_remove to complement path_addNeale Ranns1-1/+17
2017-05-23ARP/ND entries for the same address on different interfaces (VPP-848)Neale Ranns1-5/+5
2017-05-17VPP-719: Accept ARP replies from VRRP hw addrMatthew Smith1-7/+27
2017-05-17ARP learning fixes (VPP-843)Neale Ranns1-72/+47
2017-04-19Learn IP6 link-local ND entries from NSs sourced from link-local addressNeale Ranns1-0/+3
2017-04-11Remove usued, redundant and deprecated code from lookup.hNeale Ranns1-9/+5
2017-04-07MPLS McastNeale Ranns1-0/+1
2017-04-06Use thread local storage for thread indexDamjan Marion1-1/+1
2017-04-03Adjacency layout change and move to vnet/adjNeale Ranns1-1/+0
2017-03-31ARP/API:protect against identical registrationsEyal Bari1-55/+38
2017-03-30BRIDGE-DOMAIN:enable arp term,mac/ip learning on local intsEyal Bari1-8/+7
2017-03-27Mcast rewrite no memcpyNeale Ranns1-21/+23
2017-03-17Attached hostsNeale Ranns1-18/+54
2017-03-09IMplementation for option to not create a FIB table entry when adding a neigh...Neale Ranns1-25/+36
2017-03-08ARP resilience in the absence of IP config on input and output interfacesNeale Ranns1-0/+6
2017-02-02SNAT: changed source for outbound address FIB entry (VPP-613)Matus Fabian1-5/+2
2017-01-27IP Multicast FIB (mfib)Neale Ranns1-21/+63
2017-01-12Fix ARP on unnumbered interfaces (VPP-583)Neale Ranns1-2/+15
2016-12-28Reorganize source tree to use single autotools instanceDamjan Marion1-0/+2355
an class="n">u32 my_pid, u32 tag) { if (h->owner_pid == my_pid) { h->recursion_count++; return; } while (clib_atomic_test_and_set (&h->lock)) CLIB_PAUSE (); h->owner_pid = my_pid; h->recursion_count = 1; h->tag = tag; } always_inline void ssvm_lock_non_recursive (ssvm_shared_header_t * h, u32 tag) { while (clib_atomic_test_and_set (&h->lock)) CLIB_PAUSE (); h->tag = tag; } always_inline void ssvm_unlock (ssvm_shared_header_t * h) { if (--h->recursion_count == 0) { h->owner_pid = 0; h->tag = 0; clib_atomic_release (&h->lock); } } always_inline void ssvm_unlock_non_recursive (ssvm_shared_header_t * h) { h->tag = 0; clib_atomic_release (&h->lock); } static inline void * ssvm_push_heap (ssvm_shared_header_t * sh) { u8 *oldheap; oldheap = clib_mem_set_heap (sh->heap); return ((void *) oldheap); } static inline void ssvm_pop_heap (void *oldheap) { clib_mem_set_heap (oldheap); } static inline void * ssvm_mem_alloc (ssvm_private_t * ssvm, uword size) { u8 *oldheap; void *rv; oldheap = clib_mem_set_heap (ssvm->sh->heap); rv = clib_mem_alloc (size); clib_mem_set_heap (oldheap); return (rv); } #define foreach_ssvm_api_error \ _(NO_NAME, "No shared segment name", -100) \ _(NO_SIZE, "Size not set (master)", -101) \ _(CREATE_FAILURE, "Create failed", -102) \ _(SET_SIZE, "Set size failed", -103) \ _(MMAP, "mmap failed", -104) \ _(SLAVE_TIMEOUT, "Slave map timeout", -105) typedef enum { #define _(n,s,c) SSVM_API_ERROR_##n = c, foreach_ssvm_api_error #undef _ } ssvm_api_error_enum_t; #define SSVM_API_ERROR_NO_NAME (-10) int ssvm_master_init (ssvm_private_t * ssvm, ssvm_segment_type_t type); int ssvm_slave_init (ssvm_private_t * ssvm, ssvm_segment_type_t type); void ssvm_delete (ssvm_private_t * ssvm); int ssvm_master_init_shm (ssvm_private_t * ssvm); int ssvm_slave_init_shm (ssvm_private_t * ssvm); void ssvm_delete_shm (ssvm_private_t * ssvm); int ssvm_master_init_memfd (ssvm_private_t * memfd); int ssvm_slave_init_memfd (ssvm_private_t * memfd); void ssvm_delete_memfd (ssvm_private_t * memfd); int ssvm_master_init_private (ssvm_private_t * ssvm); int ssvm_slave_init_private (ssvm_private_t * ssvm); void ssvm_delete_private (ssvm_private_t * ssvm); ssvm_segment_type_t ssvm_type (const ssvm_private_t * ssvm); u8 *ssvm_name (const ssvm_private_t * ssvm); #endif /* __included_ssvm_h__ */ /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */