aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/interface.c
AgeCommit message (Expand)AuthorFilesLines
2019-07-31vppinfra: refactor test_and_set spinlocks to use clib_spinlock_tjaszha031-4/+3
2019-06-18ipsec: ipsec-tun protectNeale Ranns1-0/+24
2019-05-13vnet: remove macro definitionsZhiyong Yang1-3/+0
2019-02-19tap gso: experimental supportAndrew Yourtchenko1-0/+6
2019-02-02Deprecate old mutliarch code, phase 1Damjan Marion1-2/+2
2018-11-08vnet: store hw interface speed in kbps instead of using flagsDamjan Marion1-2/+1
2018-10-30change mac address functions take const macNeale Ranns1-2/+2
2018-10-29interface-flags; fix coverity error found in conversionNeale Ranns1-3/+28
2018-10-27Enumify interface flagsNeale Ranns1-10/+23
2018-10-23c11 safe string handling supportDave Barach1-2/+2
2018-10-01API / CLI event-log tracingDave Barach1-121/+0
2018-09-25L2 BD: introduce a BD interface on which to send UU packetsNeale Ranns1-3/+4
2018-09-24Trivial: Clean up some typos.Paul Vinciguerra1-3/+3
2018-09-08L2 BVI/FIB: Update L2 FIB table when BVI's MAC changesNeale Ranns1-2/+6
2018-08-11Multiversioning: Device (tx) function constructorMohsin Kazmi1-0/+21
2018-07-20IP directed broadcastNeale Ranns1-0/+17
2018-07-07PipesNeale Ranns1-3/+23
2018-06-15STATS: Add more hierarchy to counters.Ole Troan1-31/+13
2018-06-11MTU: Software interface / Per-protocol MTU supportOle Troan1-19/+82
2018-06-08export counters in a memfd segmentDave Barach1-0/+4
2018-06-03Interface Tag: memset field in VOM, clear the tag in VPP on interface deleteNeale Ranns1-0/+1
2018-05-28itf: Fix admin up down for AF_PACKET and vhost-userMohsin Kazmi1-2/+5
2018-05-25ARP proxy dumpsNeale Ranns1-1/+20
2018-04-27TAP memory leaks:Neale Ranns1-1/+4
2018-04-18Mcast rewrite optimisationsNeale Ranns1-1/+1
2018-04-13Revert "MTU: Setting of MTU on software interface (instead of hardware interf...Damjan Marion1-49/+13
2018-04-13MTU: Setting of MTU on software interface (instead of hardware interface)Ole Troan1-13/+49
2018-03-19Use x(void) not x() in new interface stats codeNeale Ranns1-2/+2
2018-03-19Interface Unicast, Multicast and Broadcast stats on the APINeale Ranns1-0/+66
2018-03-18Remove unnumbered configuration on interface deleteNeale Ranns1-0/+45
2018-02-16Allow providers to override glean behaviourNeale Ranns1-1/+3
2018-02-15Revert "Allow interface types to override glean adjacency behaivour"Ole Trøan1-3/+1
2018-02-15Allow interface types to override glean adjacency behaivourNeale Ranns1-1/+3
2018-02-12Improve MTU handlingNeale Ranns1-0/+16
2018-01-24Improve tunnel interface creation performanceJohn Lo1-21/+29
2018-01-19Sub-Interface deletion not cleanup hash's properly (VPP-1136)John Lo1-4/+11
2017-10-31Fix set interface mac address API to be endian neutralJohn Lo1-4/+5
2017-10-19VPP-1024: rewrite buffer trajectory tracerDave Barach1-6/+9
2017-08-13default update adjacency function deos not return multicast adjacencyNeale Ranns1-6/+40
2017-08-01P2P EthernetPavel Kotucek1-0/+4
2017-07-27Fix interface reuse when running multithreadedDamjan Marion1-4/+12
2017-07-12Deprecate support for flattened output nodesDamjan Marion1-6/+2
2017-06-21Introduce default rx mode for device driversDamjan Marion1-0/+1
2017-06-20vlib: make runtime_data handling thread-localIgor Mikhailov (imichail)1-16/+26
2017-05-10vnet: introduce error state for sw interfacesDamjan Marion1-0/+7
2017-04-10Common device-input interrupt infraDamjan Marion1-0/+2
2017-04-07MPLS McastNeale Ranns1-1/+1
2017-02-13Basic support for LISP-GPE encapsulated NSH packetsFlorin Coras1-0/+1
2017-01-03Fix crash on vhost-user deletion - VPP-571Wojciech Dec1-7/+10
2016-12-28Reorganize source tree to use single autotools instanceDamjan Marion1-0/+1398
gistration_t ip4_midchain_node; extern vlib_node_registration_t ip4_punt_node; always_inline uword ip4_destination_matches_route (const ip4_main_t * im, const ip4_address_t * key, const ip4_address_t * dest, uword dest_length) { return 0 == ((key->data_u32 ^ dest->data_u32) & im->fib_masks[dest_length]); } always_inline uword ip4_destination_matches_interface (ip4_main_t * im, ip4_address_t * key, ip_interface_address_t * ia) { ip4_address_t *a = ip_interface_address_get_address (&im->lookup_main, ia); return ip4_destination_matches_route (im, key, a, ia->address_length); } /* Find interface address which matches destination. */ always_inline ip4_address_t * ip4_interface_address_matching_destination (ip4_main_t * im, const ip4_address_t * dst, u32 sw_if_index, ip_interface_address_t ** result_ia) { ip_lookup_main_t *lm = &im->lookup_main; ip_interface_address_t *ia; ip4_address_t *result = 0; /* *INDENT-OFF* */ foreach_ip_interface_address (lm, ia, sw_if_index, 1 /* honor unnumbered */, ({ ip4_address_t * a = ip_interface_address_get_address (lm, ia); if (ip4_destination_matches_route (im, dst, a, ia->address_length)) { result = a; break; } })); /* *INDENT-ON* */ if (result_ia) *result_ia = result ? ia : 0; return result; } ip4_address_t *ip4_interface_first_address (ip4_main_t * im, u32 sw_if_index, ip_interface_address_t ** result_ia); clib_error_t *ip4_add_del_interface_address (vlib_main_t * vm, u32 sw_if_index, ip4_address_t * address, u32 address_length, u32 is_del); void ip4_directed_broadcast (u32 sw_if_index, u8 enable); void ip4_sw_interface_enable_disable (u32 sw_if_index, u32 is_enable); int ip4_address_compare (ip4_address_t * a1, ip4_address_t * a2); uword ip4_udp_register_listener (vlib_main_t * vm, u16 dst_port, u32 next_node_index); u16 ip4_tcp_udp_compute_checksum (vlib_main_t * vm, vlib_buffer_t * p0, ip4_header_t * ip0); void ip4_register_protocol (u32 protocol, u32 node_index); void ip4_unregister_protocol (u32 protocolx); serialize_function_t serialize_vnet_ip4_main, unserialize_vnet_ip4_main; int vnet_set_ip4_classify_intfc (vlib_main_t * vm, u32 sw_if_index, u32 table_index); void ip4_punt_policer_add_del (u8 is_add, u32 policer_index); void ip4_punt_redirect_add_paths (u32 rx_sw_if_index, const fib_route_path_t *paths); void ip4_punt_redirect_del (u32 rx_sw_if_index); void ip4_forward_next_trace (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame, vlib_rx_or_tx_t which_adj_index); u8 *format_ip4_forward_next_trace (u8 * s, va_list * args); u32 ip4_tcp_udp_validate_checksum (vlib_main_t * vm, vlib_buffer_t * p0); always_inline u32 vlib_buffer_get_ip4_fib_index (vlib_buffer_t * b) { u32 fib_index, sw_if_index; sw_if_index = vnet_buffer (b)->sw_if_index[VLIB_RX]; fib_index = vnet_buffer (b)->sw_if_index[VLIB_TX]; return (fib_index == (u32) ~ 0) ? vec_elt (ip4_main.fib_index_by_sw_if_index, sw_if_index) : fib_index; } #endif /* included_ip_ip4_h */ /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */