summaryrefslogtreecommitdiffstats
path: root/src/plugins/memif
AgeCommit message (Expand)AuthorFilesLines
2017-11-15memif: fix uninitialized pointer read coverity errorSteven1-0/+2
2017-11-09memif: use clib_socket_t for socket connectionsDamjan Marion4-210/+122
2017-11-08memif: do not mask head and tail pointersDamjan Marion3-68/+40
2017-10-09vppapigen: support per-file (major,minor,patch) version stampsDave Barach1-0/+2
2017-10-04[aarch64] Fixes CLI crashes on dpaa2 platform.Christophe Fontaine3-4/+4
2017-10-04memif: crash on slave modeSteven1-0/+1
2017-10-03Repair vlib API socket serverDave Barach2-2/+2
2017-09-15vppinfra: add clib_mem_vm_ext_alloc functionDamjan Marion1-11/+10
2017-09-11memif: mode ip is not settable from binary APISteven3-4/+10
2017-09-09move unix_file_* code to vppinfraDamjan Marion3-64/+66
2017-09-08vlib: move linux-specific code to vlib/linuxDamjan Marion2-30/+1
2017-09-08memif: fix coverity warnings as of 9/7Steven4-12/+29
2017-09-06Fixes for issues raised by Coverity (VPP-972)Chris Luke1-2/+2
2017-08-24Make VPP runtime directory configurableDamjan Marion2-6/+9
2017-08-02memif: construct interface name out of socket file idx and intf idDamjan Marion1-2/+4
2017-07-11memif: avoid double buffer freeDamjan Marion1-1/+0
2017-07-10memif: mask interrupts on startup if we are in the polling modeDamjan Marion1-0/+8
2017-06-30memif: API message handler registration bug-fixJakub Grajciar1-11/+0
2017-06-25memif: If rx/tx_queues are unset, use default valuesMilan Lenco1-2/+12
2017-06-21Introduce default rx mode for device driversDamjan Marion1-1/+1
2017-06-21memif: minor changes in memif.hDamjan Marion2-16/+20
2017-06-19memif: add ip modeDamjan Marion4-35/+132
2017-06-16memif: show memif CLI enhancementSteven1-39/+115
2017-06-16memif: jumbo frames supportSteven2-148/+272
2017-06-13memif: fix crash during interface deleteDamjan Marion1-0/+4
2017-06-12memif: complete refactor of socket handling codeDamjan Marion10-1146/+1795
2017-06-07Add support for memif API to VAT.Milan Lenco1-0/+360
2017-06-02memif: fix coverity warningsSteven1-0/+2
2017-05-31memif: multi-queues supportSteven7-73/+167
2017-05-29memif: master instance crashes when typing quit on slaveSteven1-15/+29
2017-05-15memif: migrate memif to use vnet device infra APIsSteven2-22/+40
2017-04-25"autoreply" flag: autogenerate standard xxx_reply_t messagesDave Barach1-11/+1
2017-04-20Temporary workaround for the bug VPP-698.Milan Lenco1-2/+2
2017-04-06Use thread local storage for thread indexDamjan Marion1-17/+18
2017-04-05Fix two more memif coverity issuesMilan Lenco2-25/+32
2017-04-03Fix memif coverity issuesMilan Lenco3-10/+33
2017-03-30vppinfra: add spinlock inline functionsDamjan Marion3-30/+7
2017-03-22Add memif - packet memory interface for intra-host communicationDamjan Marion9-0/+2731
lass="se">\n%U%U", format_white_space, indent, node->format_buffer, (void *) (h + 1), max_header_bytes - header_bytes); } return s; } u8 * format_osi_header (u8 * s, va_list * args) { osi_header_t *h = va_arg (*args, osi_header_t *); return format (s, "%U", format_osi_header_with_length, h, 0); } /* Returns osi protocol as an int in host byte order. */ uword unformat_osi_protocol (unformat_input_t * input, va_list * args) { u8 *result = va_arg (*args, u8 *); osi_main_t *pm = &osi_main; int p, i; /* Numeric type. */ if (unformat (input, "0x%x", &p) || unformat (input, "%d", &p)) { if (p >= (1 << 8)) return 0; *result = p; return 1; } /* Named type. */ if (unformat_user (input, unformat_vlib_number_by_name, pm->protocol_info_by_name, &i)) { osi_protocol_info_t *pi = vec_elt_at_index (pm->protocol_infos, i); *result = pi->protocol; return 1; } return 0; } uword unformat_osi_header (unformat_input_t * input, va_list * args) { u8 **result = va_arg (*args, u8 **); osi_header_t _h, *h = &_h; u8 p; if (!unformat (input, "%U", unformat_osi_protocol, &p)) return 0; h->protocol = 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 void add_protocol (osi_main_t * pm, osi_protocol_t protocol, char *protocol_name) { osi_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 * osi_init (vlib_main_t * vm) { clib_error_t *error = 0; osi_main_t *pm = &osi_main; /* init order dependency: llc_init -> osi_init */ if ((error = vlib_call_init_function (vm, llc_init))) return error; 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 _(f,n) add_protocol (pm, OSI_PROTOCOL_##f, #f); foreach_osi_protocol; #undef _ return vlib_call_init_function (vm, osi_input_init); } VLIB_INIT_FUNCTION (osi_init); /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */