summaryrefslogtreecommitdiffstats
path: root/src/vpp-api
AgeCommit message (Expand)AuthorFilesLines
2020-10-21stats: missing dimension in stat_set_simple_counterOle Troan2-8/+24
2020-10-07api: add heap alloc to vpp statsOle Troan3-1/+9
2020-09-28vppinfra: don't call dlmalloc API directly from the codeDamjan Marion1-1/+1
2020-09-28api: remove clib_mem_init from vppapiclient contructorOle Troan3-25/+23
2020-09-09stats: Fix stat_segment to set timeout directlyRajesh Goel1-0/+13
2020-08-17stats: Move misplaced comment blockVratko Polak1-3/+3
2020-08-13stats: remove offsets on vpp sideOle Troan3-51/+37
2020-08-11papi: allow unknown address familyOle Troan2-10/+71
2020-08-11stats: add timeout for in_progress access to stat segmentOle Troan2-8/+50
2020-08-10stats: name and error index client memory leakOle Troan3-27/+77
2020-06-10vapi: memset allocated messages to zeroKlement Sekera1-0/+4
2020-05-25api: add new stream message conventionOle Troan1-14/+36
2020-05-15misc: fix ubuntu 20.04 python depsDamjan Marion1-1/+5
2020-05-08build: various improvementsDamjan Marion1-1/+1
2020-05-08papi: use python3 for papi installOle Troan1-1/+1
2020-05-04vapi: add support for defaults in typedefsPaul Vinciguerra2-3/+7
2020-05-01api: fix include_guard when path contains a plusRuslan Babayev1-1/+1
2020-04-28tests: implement ipaddress convenience methodsPaul Vinciguerra2-1/+34
2020-04-24vapi: packed enum type generationNeale Ranns1-1/+14
2020-02-11vppinfra: remove the historical mheap memory allocatorDave Barach1-11/+0
2020-02-05stats: fix state counter removalVladimir Isaev1-0/+3
2019-12-19papi: lazily initialize stats clientPaul Vinciguerra1-5/+25
2019-12-17build: export vapi generation in vpp-devOliver Giles1-48/+11
2019-12-10api: multiple connections per processDave Barach3-15/+15
2019-12-05papi: add call statsOle Troan1-1/+23
2019-12-03papi: add a per-call _timeout optionPaul Vinciguerra3-8/+14
2019-11-27misc: add address sanitizer heap instrumentationBenoƮt Ganne2-0/+7
2019-11-27papi: fix typo in reprPaul Vinciguerra1-1/+1
2019-11-24papi: fix papi default handlingOle Troan1-17/+18
2019-11-24papi: add missing base types to serializerPaul Vinciguerra1-2/+4
2019-11-23papi: add repr to packer types for troubleshootingPaul Vinciguerra1-0/+47
2019-11-22papi: support default for type alias decaying to basetypeOle Troan1-18/+63
2019-11-13papi: enhance MACAddress() equalityPaul Vinciguerra1-1/+7
2019-11-12papi: add wrapper to validate crc manifestOle Troan1-0/+28
2019-11-05misc: Fix python scripts shebang lineRenato Botelho do Couto4-4/+4
2019-10-28vapi: switch to python3Ole Troan3-4/+4
2019-10-23papi: fix default handlingOle Troan2-40/+51
2019-10-21bier: tests support python3Ole Troan1-8/+9
2019-10-18ipsec: make tests support python3Ole Troan1-2/+6
2019-10-14papi: fix socket sendall callsVratko Polak1-4/+6
2019-10-11papi: harden socket handlingVratko Polak1-18/+24
2019-10-09papi: introduce read_blockingVratko Polak1-3/+29
2019-09-25papi: truncate long logger messagesKlement Sekera1-1/+4
2019-09-19api: split vl_api_prefix into twoOle Troan5-19/+201
2019-09-16api: autogenerate api trace print/endianOle Troan1-2/+2
2019-09-10papi: let async calls return contextVratko Polak1-1/+6
2019-09-04api: memclnt api use string type.Ole Troan3-6/+6
2019-09-03api: enforce vla is last and fixed string typeOle Troan4-20/+83
2019-08-27api: revert use string type for strings in memclnt.apiOle Troan2-51/+73
2019-08-27api: use string type for strings in memclnt.apiOle Troan2-73/+51
pan class="cm">/* * Step 5: wait up to 15 seconds for a new incarnation of * the shared-VM API segment to appear. */ for (wait = 0; wait < 150; wait++) { if ((stat ("/dev/shm/vpe-api", &statb) < 0) || statb.st_ino == old_inode) { req->tv_sec = 0; req->tv_nsec = 100000 * 1000; /* 100 ms */ while (nanosleep (req, rem) < 0) *req = *rem; sleeps++; } else goto new_inode; } clib_error ("Timeout waiting for new inode to appear..."); return 5; new_inode: if (verbose && sleeps > 0) fformat (stdout, "Inode sleeps %d\n", sleeps); if (verbose) fformat (stdout, "New inode %u\n", statb.st_ino); /* * Step 6: remap the SVM database */ svmdb_client = svmdb_map (ma); pidp = svmdb_local_get_variable_reference (svmdb_client, SVMDB_NAMESPACE_VEC, "vpp_pid"); if (pidp == 0) { clib_error ("post_restart: 'vpp_pid' svm variable not found," "vpp did not restart?"); return 2; } sleeps = 0; /* * Step 7: wait for vpp to publish its new PID */ /* Spin for up to 15 seconds */ for (wait = 0; wait < 150; wait++) { if (*pidp && (*pidp != old_pid)) goto restarted; req->tv_sec = 0; req->tv_nsec = 100000 * 1000; /* 100 ms */ while (nanosleep (req, rem) < 0) *req = *rem; sleeps++; } clib_error ("Timeout waiting for vpp to publish pid after restart..."); return 4; restarted: /* Done... */ if (verbose && sleeps) fformat (stdout, "pid sleeps %d\n", sleeps); if (verbose) fformat (stdout, "New PID %d... Restarted...\n", *pidp); svmdb_unmap (svmdb_client); return 0; } int main (int argc, char **argv) { unformat_input_t i; int ret; clib_mem_init (0, 64ULL << 20); unformat_init_command_line (&i, argv); ret = restart_main_fn (&i); unformat_free (&i); return ret; } /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */