Wataru Ishida
17edfdef4d
taish: always link to libmetatai library
...
The TAI library that is used to build the taish_server is using the TAI
library framework. TAI libraries that uses the TAI library framework
includes symbols of libmetatai.so. Combined with the ld's default
behavior (--as-needed), the libmetatai.so was not linked to
taish_server. However, taish_server must work with the TAI libraries
that don't use the TAI library framework and that don't include the
symbols of libmetatai.so. This commit adds --no-as-needed flag to always
link libmetatai library to taish_server.
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-04-19 16:06:25 +09:00
Wataru Ishida
0aea95617d
Revert "meta: add tai_metadata_get_attr_sorted_by_id_name()"
...
This reverts commit 1955bb551d .
The commit breaks existing TAI libraries
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-04-18 19:03:14 +09:00
Wataru Ishida
1955bb551d
meta: add tai_metadata_get_attr_sorted_by_id_name()
...
and tai_metadata_get_attr_sorted_by_id_name_count()
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-04-18 10:11:32 +09:00
Wataru Ishida
a62b13ef64
taish: fix get_hostif() and get_netif()
...
the index in the objs list doesn't necessarily match with the index
of the object
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-03-16 01:21:06 +09:00
Wataru Ishida
009635ba5f
taish: fix interactive mode
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-02-28 11:02:28 +09:00
Wataru Ishida
d9e58cd11f
taish: fix remove command
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-02-22 15:53:47 +09:00
Wataru Ishida
a6b842762d
framework: remove unnecessary dynamic link to the meta library
...
meta library is statically linked
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-02-18 10:32:24 +09:00
Wataru Ishida
077ba2727d
framework: let user decide the optimization level
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-02-18 10:32:24 +09:00
Wataru Ishida
e1af71517a
framework: fix list of sources and headers
...
include meta library sources to the library to support meta API
with custom attributes
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-02-17 12:14:19 +09:00
Wataru Ishida
16397c4910
taish/client: fix close()
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-02-16 17:50:35 +09:00
Wataru Ishida
d474c52d9d
framework: include meta library object code to support meta APIs
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-02-16 17:50:35 +09:00
Wataru Ishida
fc632a42f7
improve build
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-02-14 14:24:45 +09:00
Wataru Ishida
58cca5d17a
meta-generator: use libclang package to simplify installation
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-02-14 14:24:45 +09:00
Wataru Ishida
b1707a9905
improve build
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-02-12 23:43:18 +09:00
Wataru Ishida
e3e3a0fc4c
use -Wall -Werror for build
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-02-12 23:43:18 +09:00
Wataru Ishida
dd287856b8
taish: return hostif/netif in the order of index
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-02-12 12:52:24 +09:00
Wataru Ishida
9e1a9f6555
framework: don't call notification callback when attrs.size() == 0
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-02-10 19:59:16 +09:00
Wataru Ishida
352814de51
taish: use grpcio instead of grpclib
...
grpcio is faster and the current version supports asyncio.
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-02-09 14:02:00 +09:00
Wataru Ishida
aff8455b6a
meta: package metadata generator instead of raw script
...
to enable easy use for other projects
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-02-01 14:30:13 +09:00
Wataru Ishida
7a0671ec40
framework: don't queue the next state if already exists
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-01-23 20:59:20 +09:00
Wataru Ishida
94ee226c6c
taish: support setting empty list via taish cli
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-01-19 20:22:31 +09:00
Wataru Ishida
cb939abd85
taish: format code by black
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-01-19 20:22:31 +09:00
Wataru Ishida
ad7e2befee
taish: handle exception in SetAttribute()
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-01-19 18:46:43 +09:00
Wataru Ishida
7246caa3d1
meta: support deserializing empty list
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-01-19 18:46:43 +09:00
Wataru Ishida
b9ae629581
taish: fix another taish list command regression
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-01-09 10:15:11 +09:00
Wataru Ishida
5dff94a715
taish: fix taish list command regression
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-01-07 18:17:22 +09:00
Wataru Ishida
42ab521d6b
taish: support getting/setting multiple attributes at once
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-01-06 14:57:14 +09:00
Wataru Ishida
bc785cd223
lib: add tests
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2022-01-05 00:18:47 +09:00
Wataru Ishida
462b6971a1
framework: fix next-state overwriting
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2021-12-01 22:12:13 +09:00
Wataru Ishida
896b91e80a
taish: use a separate mutex for API serialization
...
a bug introduced by 3448aca2a1
m_mtx for API serialization
m_notifiers_mtx to protect m_notifiers
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2021-11-08 13:55:44 +09:00
Wataru Ishida
3448aca2a1
taish: serialize TAI API calls
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2021-11-01 07:43:57 +09:00
Wataru Ishida
07626499ea
taish: handle SIGTERM
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2021-09-15 15:59:19 +09:00
Wataru Ishida
9e0effa95e
meta: support adding custom enum values to TAI attributes
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2021-09-13 16:19:46 +09:00
Wataru Ishida
6442c0b29c
taish: fix bug of python client library
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2021-08-12 01:44:39 +09:00
Wataru Ishida
c2656400c3
taish: fix bug when calling a method with kwargs
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2021-08-11 10:45:44 +09:00
Wataru Ishida
ed79f0ccac
framework/examples/basic: show how to add capability support
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2021-08-11 00:50:40 +09:00
Wataru Ishida
b0fdd9ce8c
taish: add capability support
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2021-08-11 00:50:40 +09:00
Wataru Ishida
96fe7cc006
framework: initial support of capability API
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2021-08-11 00:50:40 +09:00
Wataru Ishida
ec790253dc
lib: capability
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2021-08-11 00:50:40 +09:00
Wataru Ishida
7c83724333
framework: return immediately when attr_count is 0
...
suppress misleading debug messages
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2021-08-11 00:50:40 +09:00
Wataru Ishida
4d51cd3395
framework: remove unused function
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2021-08-11 00:50:40 +09:00
Wataru Ishida
13c18a9bd6
framework/example/basic: suppress complile warning
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2021-08-11 00:50:40 +09:00
Wataru Ishida
074fb47b15
taish: call tai_api_uninitialize() when exiting
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2021-07-28 12:07:54 +09:00
Wataru Ishida
06e7774ff3
framework: make the destructor of Platform virtual
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2021-07-28 12:07:54 +09:00
Wataru Ishida
15437e0eed
taish: make getopt work in env where char is unsigned.
...
https://stackoverflow.com/questions/17070958/c-why-does-getopt-return-255-on-linux
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2021-07-19 11:19:23 +09:00
Wataru Ishida
29de11eb36
taish: add module-oid field to hostif and netif
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2021-05-26 10:05:11 +09:00
Wataru Ishida
22e3bcd123
framework: add direct_set/get for default_setter/getter
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2021-04-26 15:44:28 +09:00
Wataru Ishida
94b079c541
taish: use meta APIs when loading configuration
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2021-04-26 15:44:28 +09:00
Wataru Ishida
7595139b74
add meta APIs to TAI
...
Unlike SAI, TAI needs to handle different kinds of devices
simultaneously. In order to support this, we have tai-mux library
which multiplexes multiple TAI libraries and provide a single TAI interface
to upper application.
However, there was no multiplex or aggregation layer for TAI *metadata*.
TAI metadata is used to know each TAI attributes characteristic and provides
utility functionality like string serialization.
Because of this lack of multiplex layer, application developers have to
create a TAI meta library by manually aggregating all TAI attributes of
TAI libraries which are planned to be used.
This is tedious, error prone works and makes it difficult to support
new TAI library dynamically.
In order to solve this issue, this commits adds meta APIs to TAI APIs.
By doing so, TAI *metadata* can be multiplexed by tai-mux just like
other APIs.
This commit also enhances TAI library framework to automatically support
the new meta APIs.
TAI library which is based on the framework will get the meta API
functionally automatically by recompiling it.
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2021-04-26 15:44:28 +09:00
Wataru Ishida
e88a2d99cd
taish: fix build
...
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com >
2021-02-22 18:09:24 -08:00