summaryrefslogtreecommitdiffstats
path: root/src/vpp-api/python
AgeCommit message (Expand)AuthorFilesLines
2021-10-13docs: convert vpp doc md->rstNathan Skrzypczak1-0/+0
2021-09-28build: complete python3 support, no hardcode pathNick Brown1-2/+3
2021-08-31stats: check epoch in python vpp_stats lsOle Troan1-0/+3
2021-07-12papi: remove shared memory transportOle Troan3-154/+6
2021-06-25stats: reverts part of a fix on Python clientArthur de Kerhor1-12/+4
2021-06-25stats: fix race conditions in vpp-api stats clientArthur de Kerhor1-4/+12
2021-05-21stats: catch stat segment overrun in retry loopOle Troan1-3/+3
2021-05-04stats: adding symlinks for nodes and interfaces in the stat segmentArthur de Kerhor1-40/+88
2021-04-28papi: change default to use socket transport instead of shared memory transportOle Troan1-2/+2
2021-04-15papi: fix ubuntu 1804 make test socket.close errorTianyu Li1-1/+1
2021-03-30stats: python: handle when pattern is not list in lsOle Troan1-0/+9
2021-03-25stats: python vpp_stats rewrite to access stat segment directlyOle Troan1-296/+482
2021-03-16api: allow specifying no timeoutKlement Sekera1-1/+1
2021-03-15tests: use socket transport instead of shared memoryOle Troan2-7/+2
2021-02-15papi: add method to retrieve field optionsPaul Vinciguerra1-0/+9
2021-02-09papi: expose vpp_papi version to clientPaul Vinciguerra1-0/+6
2021-02-05papi: remove unused name from __all__Paul Vinciguerra1-1/+1
2020-12-18papi: remove import vpp_transport_socketPaul Vinciguerra1-2/+2
2020-12-08papi: remove old client referencePaul Vinciguerra2-4/+1
2020-12-04papi: add support for enumflag part 1 of 2Paul Vinciguerra5-19/+160
2020-12-03papi: remove python2 patternsPaul Vinciguerra6-40/+18
2020-12-03papi: allow client control over loggersPaul Vinciguerra6-8/+56
2020-12-02papi: improve unit testabilityPaul Vinciguerra3-23/+133
2020-12-02papi: fix copy/paste errorPaul Vinciguerra1-2/+2
2020-11-17papi: remove dependency on aenumPaul Vinciguerra2-18/+2
2020-10-07api: add heap alloc to vpp statsOle Troan2-1/+3
2020-09-28api: remove clib_mem_init from vppapiclient contructorOle Troan1-1/+4
2020-08-13stats: remove offsets on vpp sideOle Troan1-5/+4
2020-08-11papi: allow unknown address familyOle Troan2-10/+71
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-08papi: use python3 for papi installOle Troan1-1/+1
2020-04-28tests: implement ipaddress convenience methodsPaul Vinciguerra2-1/+34
2019-12-19papi: lazily initialize stats clientPaul Vinciguerra1-5/+25
2019-12-05papi: add call statsOle Troan1-1/+23
2019-12-03papi: add a per-call _timeout optionPaul Vinciguerra3-8/+14
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-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
>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: */