NameDateSize

..17-Sep-201879

bench.luaH A D13-Mar-20181.9 KiB

examples/H09-Aug-2018112

README.mdH A D13-Mar-20182 KiB

vpp-lapi.luaH A D13-Mar-201834.3 KiB

README.md

1This is the experimental version of Lua API, aimed for the luajit use.
2
3Please take a look and send the feedback to ayourtch@gmail.com.
4
5To run the examples here:
6
71) install luajit - "sudo apt-get install luajit" on ubuntu
8
92) "make build-vpp-api" in the top VPP directory
10
113) "make run" in a separate terminal window
12   This ensures you have an instance of VPP running
13
144) sudo luajit examples/example-cli.lua
15
16This will result in something like this:
17
18Version:
1900000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................
2000000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................
21
22{ [1] = { ["luaapi_message_name"] = show_version_reply,["program"] = vpe,["version"] = ,["build_date"] = Fri Nov 25 10:58:48 UTC 2016,["retval"] = 0,["build_directory"] = /home/ubuntu/vpp,["_vl_msg_id"] = 170,["context"] = 0,} ,}
23---
24{ [1] = { ["luaapi_message_name"] = cli_inband_reply,["_vl_msg_id"] = 94,["length"] = 66,["reply"] = vpp v built by ubuntu on vpp-toys at Fri Nov 25 10:58:48 UTC 2016
25,["retval"] = 0,["context"] = 0,} ,}
26---
27
285) You can also run the performance test bench:
29
30$ sudo luajit bench.lua
3110001 iterations, average speed 5624LL per second
3210001 iterations, average speed 6650LL per second
3310001 iterations, average speed 6053LL per second
3410001 iterations, average speed 7056LL per second
3510001 iterations, average speed 6388LL per second
3610001 iterations, average speed 5849LL per second
3710001 iterations, average speed 6321LL per second
3810001 iterations, average speed 6368LL per second
3910001 iterations, average speed 5958LL per second
4010001 iterations, average speed 6482LL per second
41Average tps across the tests: 6274LL
42
43Note: the above is run in an lxd container running inside 2-core
44xhyve VM on a Macbook Pro, so I would not take the performance numbers for granted :)
45
46The "examples" directory contains a few naive examples, as well as a couple of more 
47advanced ones - a tab-completing CLI for VPP that can call both the APIs and CLI,
48and also a small test utility which I use for automating some small tests using
49VPP.
50
51