summaryrefslogtreecommitdiffstats
path: root/src/vpp-api
AgeCommit message (Expand)AuthorFilesLines
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
2019-08-15stats: refactor header filesDave Barach2-49/+42
2019-08-09stats: create /run/vpp before stat socket bind()YohanPipereau2-1/+3
2019-08-08api: vppapitrace JSON/API trace converterOle Troan2-141/+153
2019-08-08api: api socket respect unix runtime directoryOle Troan1-1/+1
2019-07-31api papi: add alias for timestamp(datetime)/timedeltaPaul Vinciguerra1-1/+8
2019-07-24vapi: add python scripts to vpp-dev packageVratko Polak1-7/+19
2019-07-24papi: add additional types to vpp_serializerPaul Vinciguerra1-0/+3
2019-07-16papi: use the injected logger wherever possibleVratko Polak1-18/+6
2019-07-12papi: fix vpp_format from change in vl_api_prefix_tPaul Vinciguerra2-12/+10
2019-07-09papi: update VPPEnumType for python3Paul Vinciguerra1-1/+4
2019-07-08map gbp papi: match endianess of f64Paul Vinciguerra1-1/+1
2019-07-05sctp: move to plugins, disabled by defaultFlorin Coras1-0/+3
2019-07-01papi: refactor set_errors_strPaul Vinciguerra1-3/+3
2019-06-26papi: prevent message_table inconsistenciesVratko Polak1-0/+2
2019-06-26api: refactor format_vl_api_prefix_t return keysPaul Vinciguerra2-13/+13
2019-06-25api: fix vac_read return codesPaul Vinciguerra2-4/+13
2019-06-20misc: papi - add __repr__ to FuncWrapperPaul Vinciguerra1-0/+3
2019-06-18misc: vpp_papi- add tests, clean up pep8Paul Vinciguerra7-18/+202
2019-06-17misc: vpp-api - add __repr__ to VPPApiClient.Paul Vinciguerra1-0/+13
2019-06-14stats: add version field to stat segment base headerOle Troan3-0/+19
2019-06-12papi: make socket disconnect more robustVratko Polak1-1/+1
2019-06-07API: Add support for "defaults"Ole Troan4-28/+82
2019-06-07vppapigen: Fold up CRC from dependent types.Ole Troan1-3/+2
2019-06-07vpp_papi: Context_id allocator for running forked.Paul Vinciguerra2-5/+60
2019-06-07vpp_papi: Fix missing dependency.Paul Vinciguerra1-2/+8
2019-06-07vpp_papi: Fix format_vl_api_address_t under python3.Paul Vinciguerra1-1/+3
2019-06-07vpp_papi: Accept ipaddress.Network objects on prefix_t methods.Paul Vinciguerra1-1/+16
2019-06-07vpp_papi: Fix vapi.disconnect exception.Paul Vinciguerra1-0/+1
2019-06-04stats: removing empty object in stats vectorOle Troan1-1/+3
2019-05-28papi: avoid IOError on disconnectVratko Polak2-6/+18
2019-05-23vpp_papi: Do not raise before find_api_dir()Vratko Polak1-4/+1
2019-05-22stats: support multiple works for error countersOle Troan3-11/+27
2019-05-15vpp_papi: remove dependency on environment var. VPP_API_DIR.Paul Vinciguerra1-6/+9
class="n">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: */