summaryrefslogtreecommitdiffstats
path: root/src/examples
AgeCommit message (Expand)AuthorFilesLines
2017-10-24Add extern to *_main global variable declarations in header files.Dave Wallace2-2/+2
2017-10-09vppapigen: support per-file (major,minor,patch) version stampsDave Barach1-0/+2
2017-10-03Repair vlib API socket serverDave Barach3-3/+0
2017-09-07vlib physmem reworkDamjan Marion1-2/+1
2017-08-23NAT: Rename snat plugin to nat (VPP-955)Matus Fabian1-1/+1
2017-06-09Sample plugin: Add sample plugin documentationRay Kinsella2-7/+89
2017-06-07VPP-872 and End.T function for SRv6Pablo Camarillo1-21/+82
2017-05-05First commit SR MPLSPablo Camarillo2-3/+3
2017-04-25"autoreply" flag: autogenerate standard xxx_reply_t messagesDave Barach1-9/+1
2017-04-20Extend ebuild to specify "configure" subdir, enable verify for sample-pluginDamjan Marion1-2/+0
2017-04-06Use thread local storage for thread indexDamjan Marion1-2/+2
2017-03-29Bugfixing and documentation for SRv6Pablo Camarillo4-0/+470
2017-03-22vlib: add description field in plugin registrationDamjan Marion1-0/+1
2017-03-16API:replaced all REPLY_MACRO's with api_helper_macros.hEyal Bari1-23/+2
2017-03-04Fix duplicate binary API registration messages / bugsDave Barach1-2/+2
2017-02-22Support multiple plugin build in the sample-pluginAnlu Yan3-18/+52
2017-02-16Fix sample plugin breakage.Anlu Yan2-22/+9
2017-02-02Refactor fragile msg macro W and W2 to not burry return control flow.Jon Loeliger1-1/+3
2017-02-02Convert message macro S to accept a message pointer parameter;Jon Loeliger1-1/+1
2017-02-02Ensure all M() and M2() second parameters are the message pointer.Jon Loeliger1-1/+1
2017-01-28Add files to CLEANFILES for robust make clean.Burt Silverman1-0/+2
2017-01-25Repair plugin binary API message numberingDave Barach1-0/+2
2017-01-23binary-api debug CLI works with pluginsDave Barach1-36/+1
2017-01-17sample-plugin: fix buildDamjan Marion2-2/+2
2017-01-01Move java,lua api and remaining plugins to src/Damjan Marion9-0/+951
2016-12-28Reorganize source tree to use single autotools instanceDamjan Marion4-0/+1351
pan class="cm">/* data portion base address */ void *data_heap; /* data heap, if any */ volatile void *user_ctx; /* user context pointer */ /* stuff allocated in the region's heap */ uword bitmap_size; /* nbits in virtual alloc bitmap */ uword *bitmap; /* the bitmap */ char *region_name; char *backing_file; char **filenames; uword *client_pids; /* pad */ /* next page: * (64K) clib heap for the region itself * * data_base -> whatever is in this region */ } svm_region_t; typedef struct svm_map_region_args_ { const char *root_path; /* NULL means use the truly global arena */ const char *name; u64 baseva; u64 size; u64 pvt_heap_size; uword flags; char *backing_file; uword backing_mmap_size; /* uid, gid to own the svm region(s) */ int uid; int gid; } svm_map_region_args_t; /* * Memory shared across all router instances. Packet buffers, etc * Base should be "out of the way," and size should be big enough to * cover everything we plan to put here. */ #define SVM_GLOBAL_REGION_SIZE (64<<20) #define SVM_GLOBAL_REGION_NAME "/global_vm" u64 svm_get_global_region_base_va (); /* * Memory shared across individual router instances. */ #define SVM_OVERLAY_REGION_BASEVA \ (SVM_GLOBAL_REGION_BASEVA + SVM_GLOBAL_REGION_SIZE) #define SVM_OVERLAY_REGION_SIZE (1<<20) #define SVM_OVERLAY_REGION_BASENAME "/overlay_vm" typedef struct { u8 *subregion_name; } svm_subregion_t; typedef struct { svm_subregion_t *subregions; /* subregion pool */ uword *name_hash; u8 *root_path; int uid; int gid; } svm_main_region_t; void *svm_region_find_or_create (svm_map_region_args_t * a); void svm_region_init (void); void svm_region_init_mapped_region (svm_map_region_args_t * a, svm_region_t * rp); int svm_region_init_chroot (const char *root_path); void svm_region_init_chroot_uid_gid (const char *root_path, int uid, int gid); void svm_region_init_args (svm_map_region_args_t * a); void svm_region_exit (void); void svm_region_exit_client (void); void svm_region_unmap (void *rp_arg); void svm_region_unmap_client (void *rp_arg); void svm_client_scan (const char *root_path); void svm_client_scan_this_region_nolock (svm_region_t * rp); u8 *shm_name_from_svm_map_region_args (svm_map_region_args_t * a); u8 *format_svm_region (u8 * s, va_list * args); svm_region_t *svm_get_root_rp (void); #endif /* __included_svm_common_h__ */ /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */