aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Expand)AuthorFilesLines
2017-11-26FIB: optimise for src memory allocationsNeale Ranns5-121/+264
2017-11-26FIB: store the node type not the function pointer.Neale Ranns13-31/+11
2017-11-25VOM: handle null for iterator in dump cmdNeale Ranns1-2/+21
2017-11-25VCL: include vpp context in accept session reply msg.Dave Wallace1-17/+41
2017-11-25VCL: improve debug outputDave Wallace6-223/+339
2017-11-24GENEVE: shift/mask for headerMarco Varlese3-51/+133
2017-11-24dpdk: enable tx checksum offloads as default, add disable knobDamjan Marion3-2/+15
2017-11-24VOM: Additions to allow uses to UT applications that use VOMNeale Ranns51-295/+676
2017-11-24dpdk: avoid false sharing of dpdk_buffer_per_thread_dataDamjan Marion1-0/+1
2017-11-23memif: fix input node multiversion constructorDamjan Marion1-6/+6
2017-11-23memif: try harder to transmit packetsDamjan Marion1-13/+8
2017-11-23dpdk: prefetch both cachelines during buffer freeDamjan Marion1-1/+1
2017-11-23memif: multiversioningDamjan Marion3-19/+82
2017-11-22VCL: remove bogus ASSERT().Dave Wallace1-2/+0
2017-11-22VPP-254 Coding standard cleanup - vnet/vnet/hdlcSwarup Nayak5-126/+197
2017-11-22session: do not check transport for local table bindsFlorin Coras1-9/+9
2017-11-22dpdk: fix potential crash in buffer free functionDamjan Marion1-18/+49
2017-11-22session: more rules unit tests and cli improvementsFlorin Coras3-17/+142
2017-11-22use intel intrinsics in clib_memcpy64_x4Damjan Marion1-47/+54
2017-11-22CLI for interface MPLS enable returns errors to callerNeale Ranns1-1/+5
2017-11-22Fix MPLS local-label CLINeale Ranns2-4/+4
2017-11-22VOM: stats: Associate stat obj to interfaceMohsin Kazmi5-25/+71
2017-11-21VCL: close-on-empty state transition refactoring.Dave Wallace2-660/+763
2017-11-21session: unset fifo event before reading fifo sizeFlorin Coras1-6/+4
2017-11-21tcp: initialize builtin client nsFlorin Coras1-1/+1
2017-11-21stn-plugin: do not assume all punted packets start with L3 header.Andrew Yourtchenko1-0/+12
2017-11-21use REV on aarch64 for endianness swapping (VPP-1067)Gabriel Ganne1-0/+19
2017-11-21dpdk: add l2_hdr_offset and l3_hdr_offset in vlib_buffer_tDamjan Marion11-80/+152
2017-11-20session/tcp: filtering improvementsFlorin Coras8-127/+234
2017-11-20dpdk: add support for DPDK 17.11Damjan Marion12-212/+49
2017-11-20VCL: Update lcl addr/port from connect session reply msg.Dave Wallace1-0/+4
2017-11-20Have PAPI find its API definition filesChris Luke1-5/+140
2017-11-20nowhere to set read_timeoutdongjuan1-2/+2
2017-11-19session: fix session rules api to use transport protoFlorin Coras1-0/+1
2017-11-19VCL-LDPRELOAD: Fix CID179207Dave Wallace2-4/+19
2017-11-18Call a plugin init function by nameDave Barach2-0/+29
2017-11-18test http server: prealloc fifos/segment optionsFlorin Coras1-3/+29
2017-11-18Rename classifier ip6-sr metadata set actionDave Barach3-5/+5
2017-11-18unformat function for FIB pathsNeale Ranns6-360/+198
2017-11-17VOM fixes and logger improvementsNeale Ranns7-30/+47
2017-11-17Replace tap interface using general interfaceHongjun Ni5-52/+50
2017-11-17acl-plugin: use ip.save_rewrite_length to calculate IP header offset on L3 eg...Andrew Yourtchenko1-3/+11
2017-11-17vppcom: improve listener session handlingFlorin Coras3-56/+126
2017-11-16acl-plugin: also print human-friendly format of 5tuple in packet traceAndrew Yourtchenko1-0/+22
2017-11-16tcp: register with ip for header parsing by defaultFlorin Coras1-9/+12
2017-11-16Deal with double name-pointer chasesDave Barach1-48/+167
2017-11-16dpdk: add additional data to TX traceDamjan Marion3-2/+9
2017-11-16dpdk/ipsec: use physmem when creating poolsSergio Gonzalez Monroy3-84/+116
2017-11-16Add Support of DHCP VSS Type 0 where VPN-ID is ASCIIJohn Lo9-220/+294
2017-11-15memif: fix uninitialized pointer read coverity errorSteven1-0/+2
pan class="mi">0; next[2] = 0; next[3] = 0; b[0]->error = error_index; b[1]->error = error_index; b[2]->error = error_index; b[3]->error = error_index; mpcap_add_buffer (mm, vm, now, from[i++], vlib_buffer_length_in_chain (vm, b[0])); mpcap_add_buffer (mm, vm, now, from[i++], vlib_buffer_length_in_chain (vm, b[1])); mpcap_add_buffer (mm, vm, now, from[i++], vlib_buffer_length_in_chain (vm, b[2])); mpcap_add_buffer (mm, vm, now, from[i++], vlib_buffer_length_in_chain (vm, b[3])); if (is_trace) { if (b[0]->flags & VLIB_BUFFER_IS_TRACED) { mpcap_trace_t *t = vlib_add_trace (vm, node, b[0], sizeof (*t)); t->next_index = next[0]; t->sw_if_index = vnet_buffer (b[0])->sw_if_index[VLIB_RX]; } if (b[1]->flags & VLIB_BUFFER_IS_TRACED) { mpcap_trace_t *t = vlib_add_trace (vm, node, b[1], sizeof (*t)); t->next_index = next[1]; t->sw_if_index = vnet_buffer (b[1])->sw_if_index[VLIB_RX]; } if (b[2]->flags & VLIB_BUFFER_IS_TRACED) { mpcap_trace_t *t = vlib_add_trace (vm, node, b[2], sizeof (*t)); t->next_index = next[2]; t->sw_if_index = vnet_buffer (b[2])->sw_if_index[VLIB_RX]; } if (b[3]->flags & VLIB_BUFFER_IS_TRACED) { mpcap_trace_t *t = vlib_add_trace (vm, node, b[3], sizeof (*t)); t->next_index = next[3]; t->sw_if_index = vnet_buffer (b[3])->sw_if_index[VLIB_RX]; } } b += 4; next += 4; n_left_from -= 4; } while (n_left_from > 0) { mpcap_add_buffer (mm, vm, now, from[i++], vlib_buffer_length_in_chain (vm, b[0])); next[0] = 0; b[0]->error = error_index; if (is_trace) { if (b[0]->flags & VLIB_BUFFER_IS_TRACED) { mpcap_trace_t *t = vlib_add_trace (vm, node, b[0], sizeof (*t)); t->next_index = next[0]; t->sw_if_index = vnet_buffer (b[0])->sw_if_index[VLIB_RX]; } } b += 1; next += 1; n_left_from -= 1; } vlib_buffer_enqueue_to_next (vm, node, from, nexts, frame->n_vectors); return frame->n_vectors; } VLIB_NODE_FN (mpcap_node) (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame) { if (PREDICT_FALSE (node->flags & VLIB_NODE_FLAG_TRACE)) return mpcap_inline (vm, node, frame, 1 /* is_ip4 */ , 1 /* is_trace */ ); else return mpcap_inline (vm, node, frame, 1 /* is_ip4 */ , 0 /* is_trace */ ); } /* *INDENT-OFF* */ #ifndef CLIB_MARCH_VARIANT VLIB_REGISTER_NODE (mpcap_node) = { .name = "mpcap-unittest", .vector_size = sizeof (u32), .format_trace = format_mpcap_trace, .format_buffer = format_ethernet_header_with_length, .unformat_buffer = unformat_ethernet_header, .type = VLIB_NODE_TYPE_INTERNAL, .n_errors = ARRAY_LEN(mpcap_error_strings), .error_strings = mpcap_error_strings, .n_next_nodes = MPCAP_N_NEXT, /* edit / add dispositions here */ .next_nodes = { [MPCAP_NEXT_DROP] = "error-drop", }, }; static clib_error_t * mpcap_node_init (vlib_main_t *vm) { /* So we can send ethernet/IP packets from the pg... */ ethernet_setup_node (vm, mpcap_node.index); return 0; } VLIB_INIT_FUNCTION (mpcap_node_init); #endif /* CLIB_MARCH_VARIANT */ /* *INDENT-ON* */ /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */