summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Expand)AuthorFilesLines
2018-04-03reassembly: bug fixesKlement Sekera3-17/+22
2018-04-03session: use fib index in ip local testFlorin Coras1-1/+1
2018-03-30tapv2: Sporadic SIGABRT in ethernet_input [VPP-1183]Steven2-5/+6
2018-03-30acl-plugin: implement an optional session reclassification when ACL is (re-)a...Andrew Yourtchenko4-10/+128
2018-03-30Updated sample startup.conf with supported plugin config options.Maciek Konstantynowicz1-10/+19
2018-03-30Add missing stdint.hChris Luke1-0/+1
2018-03-30lacp: faster convergence for slow-rate config optionSteven6-18/+29
2018-03-30bond: show trace causes a crash if the interface is deletedSteven3-13/+32
2018-03-30dpdk: fix crash due to incorrect xd->flags value with slave's link togglingSteve Shin1-2/+5
2018-03-29Coverity fixes (VPP-1204)Chris Luke6-13/+17
2018-03-29ip6: fix ip6-local urpf checkingFlorin Coras1-4/+7
2018-03-29l2_input:optimize counter accessEyal Bari1-31/+16
2018-03-29tcp: fix fib index buffer taggingFlorin Coras3-14/+19
2018-03-29No need for this routine to be globalDave Barach1-1/+1
2018-03-28vom: Fix the error handling for already existing itfMohsin Kazmi1-1/+5
2018-03-28bond: cli renameSteven1-11/+10
2018-03-28SCTP: use custom fibMarco Varlese2-7/+12
2018-03-28NAT44: make 1:1NAT for DHCP addressed interface persistentMatus Fabian1-22/+53
2018-03-28avf: keep input node in disabled state unless neededDamjan Marion1-1/+1
2018-03-28NAT44: fix nat44_user_session_dump and nat44_del_session crash with one worke...Matus Fabian2-2/+2
2018-03-27vxlan:refactor add del command functionEyal Bari1-102/+43
2018-03-27vlib: gcc-7 -O3 uninitialized valuesDamjan Marion1-5/+5
2018-03-27vlib: make cloned structures cacheline alignedDamjan Marion2-13/+24
2018-03-27acl-plugin: autosize the ACL plugin heap and fix the heap size types and parsingAndrew Yourtchenko3-9/+43
2018-03-27VOM: Fix connection stateNeale Ranns3-8/+14
2018-03-27memif: add private header size fieldDamjan Marion2-0/+5
2018-03-27bond: coverity woesSteven2-27/+32
2018-03-27VOM: bond: Add support for LACPMohsin Kazmi17-6/+1701
2018-03-26VCL: add IPv6 to socket_test.sh and make testDave Wallace5-43/+192
2018-03-26plugins: dpdk: ipsec: fix l3 offsetSzymon Sliwa1-2/+1
2018-03-26Restore the brief FIB entry printingNeale Ranns1-7/+7
2018-03-26vlib: add support for vfio no-iommu modeDamjan Marion4-33/+51
2018-03-26afpacket: Fix the reply if itf already exitsMohsin Kazmi1-1/+3
2018-03-26Disable -Waddress-of-packed-member warnings reported by clangDamjan Marion1-0/+8
2018-03-26acl-plugin: defer the ACL plugin user module registration with ACL lookup unt...Andrew Yourtchenko1-3/+5
2018-03-26plugin: Add plugin 'default' disable/enableMohsin Kazmi2-0/+11
2018-03-26Intel Adaptive Virtual Function native device driver pluginDamjan Marion12-0/+3008
2018-03-25session: fix local session disconnectsFlorin Coras3-22/+58
2018-03-24User session counters stay <= per-user limitMatthew Smith3-17/+22
2018-03-23acl-plugin: improvements in 'show acl-plugin macip acl' CLIAndrew Yourtchenko2-11/+47
2018-03-23Drop dhcp pkts w/ hardware address mismatchesDave Barach2-11/+40
2018-03-23IPSEC_AH: broken initialization (VPP-1208)Marco Varlese1-1/+1
2018-03-23tcp/session: sprinkle prefetchesFlorin Coras4-16/+37
2018-03-23session: allow builtin apps to register namesFlorin Coras6-20/+73
2018-03-23acl-plugin: set ACL heap within the exported functions that might alloc memoryAndrew Yourtchenko3-0/+23
2018-03-23NAT44: fix ICMP checksum update crash (VPP-1205)Matus Fabian2-0/+6
2018-03-23IGMP: coverity fixes and remove checks for scapy IGMPv3Neale Ranns2-9/+5
2018-03-22bond: performance enhancementSteven3-155/+220
2018-03-22vom: itf: make vhost_user as socket slaveMohsin Kazmi1-1/+2
2018-03-22VPP-1204: Fix coverity warningDave Barach1-2/+5
pan class="k">if (p >= (1 << 16)) return 0; *result = p; return 1; } /* Named type. */ if (unformat_user (input, unformat_vlib_number_by_name, pm->protocol_info_by_name, &i)) { ppp_protocol_info_t *pi = vec_elt_at_index (pm->protocol_infos, i); *result = pi->protocol; return 1; } return 0; } uword unformat_ppp_protocol_net_byte_order (unformat_input_t * input, va_list * args) { u16 *result = va_arg (*args, u16 *); if (!unformat_user (input, unformat_ppp_protocol_host_byte_order, result)) return 0; *result = clib_host_to_net_u16 ((u16) * result); return 1; } uword unformat_ppp_header (unformat_input_t * input, va_list * args) { u8 **result = va_arg (*args, u8 **); ppp_header_t _h, *h = &_h; u16 p; if (!unformat (input, "%U", unformat_ppp_protocol_host_byte_order, &p)) return 0; h->address = 0xff; h->control = 0x03; h->protocol = clib_host_to_net_u16 (p); /* Add header to result. */ { void *p; u32 n_bytes = sizeof (h[0]); vec_add2 (*result, p, n_bytes); clib_memcpy (p, h, n_bytes); } return 1; } static u8 * ppp_build_rewrite (vnet_main_t * vnm, u32 sw_if_index, vnet_link_t link_type, const void *dst_hw_address) { ppp_header_t *h; u8 *rewrite = NULL; ppp_protocol_t protocol; switch (link_type) { #define _(a,b) case VNET_LINK_##a: protocol = PPP_PROTOCOL_##b; break _(IP4, ip4); _(IP6, ip6); _(MPLS, mpls_unicast); #undef _ default: return (NULL); } vec_validate (rewrite, sizeof (*h) - 1); h = (ppp_header_t *) rewrite; h->address = 0xff; h->control = 0x03; h->protocol = clib_host_to_net_u16 (protocol); return (rewrite); } /* *INDENT-OFF* */ VNET_HW_INTERFACE_CLASS (ppp_hw_interface_class) = { .name = "PPP", .format_header = format_ppp_header_with_length, .unformat_header = unformat_ppp_header, .build_rewrite = ppp_build_rewrite, .flags = VNET_HW_INTERFACE_CLASS_FLAG_P2P, }; /* *INDENT-ON* */ static void add_protocol (ppp_main_t * pm, ppp_protocol_t protocol, char *protocol_name) { ppp_protocol_info_t *pi; u32 i; vec_add2 (pm->protocol_infos, pi, 1); i = pi - pm->protocol_infos; pi->name = protocol_name; pi->protocol = protocol; pi->next_index = pi->node_index = ~0; hash_set (pm->protocol_info_by_protocol, protocol, i); hash_set_mem (pm->protocol_info_by_name, pi->name, i); } static clib_error_t * ppp_init (vlib_main_t * vm) { ppp_main_t *pm = &ppp_main; clib_memset (pm, 0, sizeof (pm[0])); pm->vlib_main = vm; pm->protocol_info_by_name = hash_create_string (0, sizeof (uword)); pm->protocol_info_by_protocol = hash_create (0, sizeof (uword)); #define _(n,s) add_protocol (pm, PPP_PROTOCOL_##s, #s); foreach_ppp_protocol; #undef _ return vlib_call_init_function (vm, ppp_input_init); } VLIB_INIT_FUNCTION (ppp_init); /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */