summaryrefslogtreecommitdiffstats
path: root/MAINTAINERS
AgeCommit message (Collapse)AuthorFilesLines
2018-06-25MAP: Move MAP-E/T to a plugin.Ole Troan1-2/+2
Only remaining traces of MAP in the src/vnet is now in buffer.h. Awaiting a new buffer opaque API (hint, hint). Change-Id: Ie165561484731f1d7ed6e0f604b43624e06db3f0 Signed-off-by: Ole Troan <ot@cisco.com>
2018-03-14IPIP: Add IP{v4,v6} over IP{v4,v6} configured tunnel support.Ole Troan1-5/+4
Change-Id: I166301c9e2388bae5f70ec0179d663a2703e27f5 Signed-off-by: Ole Troan <ot@cisco.com>
2018-01-29SRv6 dynamic proxy pluginFrancois Clad1-0/+5
Change-Id: Ie460005510b8a70d00de31b6651e762cc3a63229 Signed-off-by: Francois Clad <fclad@cisco.com>
2018-01-25SRv6 masquerading proxy pluginFrancois Clad1-0/+5
Change-Id: Ia65cf2c7b7fdf84c64e60af4cc815251022c53a9 Signed-off-by: Francois Clad <fclad@cisco.com>
2018-01-24SCTP stack (RFC4960)Marco Varlese1-1/+5
== CONTENT == * SCTP chunks definition as per RFC4960; * Helper functions to set/get values to/from the corresponding chunks; * Hooks to the session/application layers; * Complete state-machine handling; * Implementation for unexpected chunk received in a certain state (state-machine error handling) * Support for 1-single connection; * Sample application to test receive/transmit data-path; * Test to validate SCTP stack; Change-Id: I1b55c455ab400be9513f4e094dadfc3181d2ebc9 Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2018-01-19SRv6 static proxy pluginFrancois Clad1-0/+5
Change-Id: Ia0654461d9fa36503323a8375997719c873d23b9 Signed-off-by: Francois Clad <fclad@cisco.com>
2017-12-22maintainers: update emailSergio Gonzalez Monroy1-2/+1
Change-Id: Ie915f7b0153bed2e603eedc642df852b85c8ad5c Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2017-12-18Updated MAINTAINERSRadu Nicolau1-0/+2
Added Radu Nicolau as maintainer for src/devices/dpdk/ipsec/ and src/vnet/ipsec/ Change-Id: If354344f5685ce0e431757768b77c4d5e8e409f9 Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
2017-10-19Add GENEVE tunnel maintainer.Marco Varlese1-0/+4
Change-Id: I30bbba4119accee2c157fb5b8202da3c87c59805 Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2017-08-10Add tcp, session-layer MAINTAINERS file entriesDave Barach1-0/+8
Change-Id: I6c89383738624b8b18645b6c93c3025604ac538e Signed-off-by: Dave Barach <dave@barachs.net>
2017-08-10acl-plugin: add MAINTAINERS entryAndrew Yourtchenko1-0/+5
Change-Id: I681eca4897f8dba7e85fdbcbb7e03d1d9ef29224 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2017-08-09Add PPPoE PluginHongjun Ni1-0/+5
Supports 64K PPPoE sessions This plugin adds three graph nodes: 1) pppoe-input for PPPoE decapsulation 2) pppoe-encap for PPPoE encapsulation 3) pppoe-tap-dispatch for control plane process Below is the configuration to make PPPoE CP and DP work: vim /etc/vpp/startup.conf tuntap { enable ethernet name newtap } create pppoe tap tap-if-index 1 //Configure it after a subscriber's PPPoE discovery and PPP link establishment succeeds: create pppoe session client-ip 100.1.2.1 session-id 1 client-mac 00:11:01:00:00:01 show pppoe fib show pppoe session Change-Id: I73e724b6bf7c3e4181a9914c5752da1fa72d7e60 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2017-06-25Add Maintainers for Vxlan-gpe featureHongjun Ni1-3/+8
Change-Id: I3f42e9bbd816a6e2192cc65eeb10a4681cf9e29a Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2017-06-16Add maintainer for GTPU PluginHongjun Ni1-0/+5
Change-Id: Ic8cecdee7ae74a6b816e0a02985c456fd3ec8d8f Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2017-05-30Flowprobe: Stateful flows and IPv6, L4 recordingOle Troan1-4/+4
Change-Id: I67839281623721bf42f0a918a53356143d9dc78a Signed-off-by: Ole Troan <ot@cisco.com> Signed-off-by: Pavel Kotucek <pkotucek@cisco.com> Signed-off-by: Ole Troan <ot@cisco.com>
2017-05-05First commit SR MPLSPablo Camarillo1-2/+4
Change-Id: I961685a2a0e4c314049444c64eb6ccf877c278dd Signed-off-by: Pablo Camarillo <pcamaril@cisco.com>
2017-04-05Fix name typoSergio Gonzalez Monroy1-2/+2
Change-Id: Ic7128d4f8a13c021e0fd4731a717193d050431d2 Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2017-03-01Add MAINTAINERS fileDamjan Marion1-0/+158
Change-Id: I67819c72a5b3de7bcc7d55ab34f0c95f947578e9 Signed-off-by: Damjan Marion <damarion@cisco.com>
e, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include <unistd.h> #include <stdlib.h> #include <vppinfra/mem.h> #include <vppinfra/heap.h> #include <vppinfra/format.h> static int verbose; #define if_verbose(format,args...) \ if (verbose) { clib_warning(format, ## args); } u32 vl (void *p) { return (vec_len (p)); } int main (int argc, char *argv[]) { word i, j, k, n, check_mask; u32 seed; u32 *h = 0; uword *objects = 0; uword *handles = 0; uword objects_used; uword align, fixed_size; clib_mem_init (0, 10 << 20); n = 10; seed = (u32) getpid (); check_mask = 0; fixed_size = 0; if (argc > 1) { n = atoi (argv[1]); verbose = 1; } if (argc > 2) { word i = atoi (argv[2]); if (i) seed = i; } if (argc > 3) check_mask = atoi (argv[3]); align = 0; if (argc > 4) align = 1 << atoi (argv[4]); if_verbose ("testing %wd iterations seed %wd\n", n, seed); if (verbose) fformat (stderr, "%U\n", format_clib_mem_usage, /* verbose */ 0); vec_resize (objects, 1000); if (vec_bytes (objects) > 0) /* stupid warning be gone */ clib_memset (objects, ~0, vec_bytes (objects)); vec_resize (handles, vec_len (objects)); objects_used = 0; if (fixed_size) { uword max_len = 1024 * 1024; void *memory = clib_mem_alloc (max_len * sizeof (h[0])); h = heap_create_from_memory (memory, max_len, sizeof (h[0])); } for (i = 0; i < n; i++) { while (1) { j = random_u32 (&seed) % vec_len (objects); if (objects[j] != ~0 || i + objects_used < n) break; } if (objects[j] != ~0) { heap_dealloc (h, handles[j]); objects_used--; objects[j] = ~0; } else { u32 *data; uword size; size = 1 + (random_u32 (&seed) % 100); objects[j] = heap_alloc_aligned (h, size, align, handles[j]); objects_used++; if (align) ASSERT (0 == (objects[j] & (align - 1))); ASSERT (objects[j] < vec_len (h)); ASSERT (size <= heap_len (h, handles[j])); /* Set newly allocated object with test data. */ if (check_mask & 2) { data = h + objects[j]; for (k = 0; k < size; k++) data[k] = objects[j] + k; } } if (check_mask & 1) heap_validate (h); if (check_mask & 4) { /* Duplicate heap at each iteration. */ u32 *h1 = heap_dup (h); heap_free (h); h = h1; } /* Verify that all used objects have correct test data. */ if (check_mask & 2) { for (j = 0; j < vec_len (objects); j++) if (objects[j] != ~0) { u32 *data = h + objects[j]; for (k = 0; k < heap_len (h, handles[j]); k++) ASSERT (data[k] == objects[j] + k); } } } if (verbose) fformat (stderr, "%U\n", format_heap, h, 1); { u32 *h1 = heap_dup (h); if (verbose) fformat (stderr, "%U\n", format_heap, h1, 1); heap_free (h1); } heap_free (h); if (verbose) fformat (stderr, "%U\n", format_heap, h, 1); // ASSERT (objects_used == 0); vec_free (objects); vec_free (handles); if (fixed_size) vec_free_h (h, sizeof (heap_header_t)); if (verbose) fformat (stderr, "%U\n", format_clib_mem_usage, /* verbose */ 0); return 0; } /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */