aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/ip
AgeCommit message (Expand)AuthorFilesLines
2017-09-05PUNT socket: External control plane processes connected via UNIX domain sockets.Ole Troan3-11/+555
2017-08-31Fix vent_data memory leak in function run_ping_ip46_address (VPP-966)dongjuan1-0/+1
2017-08-22ping: remove unnecesary x86 intrinsics #includeDamjan Marion1-1/+0
2017-08-19Fixed ip add bug for ip6 with review commentspragash1-4/+4
2017-08-16ip4: cleanup ip localFlorin Coras1-153/+85
2017-08-16tcp: fix v6 sessionsroot1-54/+64
2017-08-16NAT64: Fallback to 3-tuple key for non TCP/UDP sessions (VPP-884)Matus Fabian2-0/+123
2017-08-15IPv6 local-address for P2P ethernet interfacesPavel Kotucek1-1/+2
2017-08-14FIB table add/delete API onlyNeale Ranns2-0/+28
2017-08-11Fix tcp multi buffer segments retransmissionFlorin Coras1-5/+7
2017-08-09Allow multiple MPLS output labels to be passed on the CLINeale Ranns1-3/+10
2017-08-08L2 over MPLSNeale Ranns5-35/+41
2017-08-02Fix vpp crash sending arp or probing neighb (VPP-917)Pavel Kotucek2-0/+29
2017-08-02Fix ip checksum offload, move badly-placed ASSERTDave Barach1-0/+2
2017-08-02Fix tcp tx buffer allocationFlorin Coras1-2/+0
2017-08-02Make ip csum configurable in vlib buffer functionsFlorin Coras2-2/+4
2017-08-01FIB path weight incorrect in dump (VPP-922)Neale Ranns1-3/+5
2017-07-27ping: fixing wrong value when there are worker threadsMohammed Hawari2-9/+21
2017-07-20Fix coverity issue introduced with IP checksum offload commitDamjan Marion1-3/+3
2017-07-19Fix IP checksum offload metadata setupDave Barach1-2/+12
2017-07-18FIB path preferenceNeale Ranns3-22/+20
2017-07-18TCP/UDP checksum offload APIDave Barach2-4/+9
2017-07-14vnet_buffer_t flags cleanupDamjan Marion4-43/+49
2017-07-14Introduce l{2,3,4}_hdr_offset fields in the buffer metadataDamjan Marion3-17/+14
2017-07-06Send GARP/NA on bonded intf slave up/down if in active-backup modeJohn Lo2-0/+55
2017-06-23IP4/IP6 FIB: fix crash during interface deletePavel Kotucek4-1/+42
2017-06-19NAT64: Hairpinning (VPP-699)Matus Fabian2-28/+49
2017-06-12NAT64: bug fixMatus Fabian1-5/+9
2017-06-09NAT64: ICMP error supportMatus Fabian1-8/+5
2017-06-06Fix coverity error in IP4 Mtrie.Neale Ranns1-4/+4
2017-06-04Fix typo for specifying table_id on ping.wenxian li1-1/+1
2017-06-01Fix 'ip probe' on /32Neale Ranns3-44/+48
2017-05-30Flowprobe: Stateful flows and IPv6, L4 recordingOle Troan1-0/+6
2017-05-26MPLS lookup DPO does not pop the label (nor does it handle replicate)Neale Ranns1-1/+0
2017-05-26ARP/ND use path_remove to complement path_addNeale Ranns1-7/+31
2017-05-24IPv6 Performance bugsNeale Ranns1-18/+14
2017-05-23ARP/ND entries for the same address on different interfaces (VPP-848)Neale Ranns1-6/+6
2017-05-19mfib CLI bugs (VPP-852)Neale Ranns1-0/+2
2017-05-17ARP learning fixes (VPP-843)Neale Ranns2-10/+21
2017-05-16ping command does not work when there is woker thread (VPP-844)flyingeagle231-0/+1
2017-05-11Validate ip6 interface fib tables early onFlorin Coras1-0/+5
2017-05-05ip6_to_ip4.h coverity fixMatus Fabian1-1/+1
2017-05-05NAT64: Move IPv6-IPv4 virtual reassembly code from MAP-T to common library (V...Matus Fabian2-0/+1148
2017-05-03change ip4_drop_node node register coding formatflyingeagle231-2/+2
2017-05-02Allow local/for-us replications for IP multicast routes on the CLINeale Ranns1-1/+6
2017-04-26IP Flow Hash Config fixesNeale Ranns4-15/+17
2017-04-25"autoreply" flag: autogenerate standard xxx_reply_t messagesDave Barach1-99/+9
2017-04-24Improve Load-Balance MAPsNeale Ranns3-90/+153
2017-04-19Learn IP6 link-local ND entries from NSs sourced from link-local addressNeale Ranns1-2/+5
2017-04-13Remove unsed parameter from fib_table_entry_special_add() (only used in FIB t...Neale Ranns2-5/+3
s="p">; /**< Traffic type (IPv4, IPv6, L2) */ u8 padding[3]; } sr_steering_key_t; typedef struct { sr_steering_key_t classify; /**< Traffic classification */ u32 sr_policy; /**< SR Policy index */ } ip6_sr_steering_policy_t; /** * @brief Segment Routing main datastructure */ typedef struct { /* L2-input -> SR rewrite next index */ u32 l2_sr_policy_rewrite_index; /* SR SID lists */ ip6_sr_sl_t *sid_lists; /* SRv6 policies */ ip6_sr_policy_t *sr_policies; /* Hash table mapping BindingSID to SRv6 policy */ mhash_t sr_policies_index_hash; /* Pool of SR localsid instances */ ip6_sr_localsid_t *localsids; /* Hash table mapping LOC:FUNC to SR LocalSID instance */ mhash_t sr_localsids_index_hash; /* Pool of SR steer policies instances */ ip6_sr_steering_policy_t *steer_policies; /* Hash table mapping steering rules to SR steer instance */ mhash_t sr_steer_policies_hash; /* L2 steering ifaces - sr_policies */ u32 *sw_iface_sr_policies; /* Spray DPO */ dpo_type_t sr_pr_spray_dpo_type; /* Plugin functions */ sr_localsid_fn_registration_t *plugin_functions; /* Find plugin function by name */ uword *plugin_functions_by_key; /* Counters */ vlib_combined_counter_main_t sr_ls_valid_counters; vlib_combined_counter_main_t sr_ls_invalid_counters; /* SR Policies FIBs */ u32 fib_table_ip6; u32 fib_table_ip4; /* convenience */ vlib_main_t *vlib_main; vnet_main_t *vnet_main; } ip6_sr_main_t; extern ip6_sr_main_t sr_main; extern vlib_node_registration_t sr_policy_rewrite_encaps_node; extern vlib_node_registration_t sr_policy_rewrite_insert_node; extern vlib_node_registration_t sr_localsid_node; extern vlib_node_registration_t sr_localsid_d_node; extern void sr_dpo_lock (dpo_id_t * dpo); extern void sr_dpo_unlock (dpo_id_t * dpo); extern int sr_localsid_register_function (vlib_main_t * vm, u8 * fn_name, u8 * keyword_str, u8 * def_str, u8 * params_str, dpo_type_t * dpo, format_function_t * ls_format, unformat_function_t * ls_unformat, sr_plugin_callback_t * creation_fn, sr_plugin_callback_t * removal_fn); extern int sr_policy_add (ip6_address_t * bsid, ip6_address_t * segments, u32 weight, u8 behavior, u32 fib_table, u8 is_encap); extern int sr_policy_mod (ip6_address_t * bsid, u32 index, u32 fib_table, u8 operation, ip6_address_t * segments, u32 sl_index, u32 weight); extern int sr_policy_del (ip6_address_t * bsid, u32 index); extern int sr_cli_localsid (char is_del, ip6_address_t * localsid_addr, char end_psp, u8 behavior, u32 sw_if_index, u32 vlan_index, u32 fib_table, ip46_address_t * nh_addr, void *ls_plugin_mem); extern int sr_steering_policy (int is_del, ip6_address_t * bsid, u32 sr_policy_index, u32 table_id, ip46_address_t * prefix, u32 mask_width, u32 sw_if_index, u8 traffic_type); /** * @brief SR rewrite string computation for SRH insertion (inline) * * @param sl is a vector of IPv6 addresses composing the Segment List * * @return precomputed rewrite string for SRH insertion */ static inline u8 * ip6_sr_compute_rewrite_string_insert (ip6_address_t * sl) { ip6_sr_header_t *srh; ip6_address_t *addrp, *this_address; u32 header_length = 0; u8 *rs = NULL; header_length = 0; header_length += sizeof (ip6_sr_header_t); header_length += (vec_len (sl) + 1) * sizeof (ip6_address_t); vec_validate (rs, header_length - 1); srh = (ip6_sr_header_t *) rs; srh->type = ROUTING_HEADER_TYPE_SR; srh->segments_left = vec_len (sl); srh->first_segment = vec_len (sl); srh->length = ((sizeof (ip6_sr_header_t) + ((vec_len (sl) + 1) * sizeof (ip6_address_t))) / 8) - 1; srh->flags = 0x00; srh->reserved = 0x0000; addrp = srh->segments + vec_len (sl); vec_foreach (this_address, sl) { clib_memcpy (addrp->as_u8, this_address->as_u8, sizeof (ip6_address_t)); addrp--; } return rs; } #endif /* included_vnet_sr_h */ /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */