21 Commits

Author SHA1 Message Date
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
07626499ea taish: handle SIGTERM
Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com>
2021-09-15 15:59:19 +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
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
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
ba07a00f99 taish: use Attribute class
refactoring

Signed-off-by: Wataru Ishida <wataru.ishid@gmail.com>
2020-07-23 18:50:57 -07:00
Wataru Ishida
4b9066fd57 taish: refactor tai_api_list_module_fn()
Signed-off-by: Wataru Ishida <ishida@nel-america.com>
2020-02-03 15:04:21 -08:00
Wataru Ishida
4ca1e6d61f add I/O handler in service_methods
Signed-off-by: Wataru Ishida <ishida@nel-america.com>
2020-01-14 08:07:20 -08:00
Wataru Ishida
8bd7f6f4c2 taish: use TAI common library for attribute allocation/serialization
Signed-off-by: Wataru Ishida <ishida@nel-america.com>
2020-01-06 10:56:59 -08:00
Wataru Ishida
1138c91443 framework: add Exception class
Signed-off-by: Wataru Ishida <ishida@nel-america.com>
2020-01-03 09:06:15 -08:00
Wataru Ishida
56cc2a7c19 taish: use logging callback
Signed-off-by: Wataru Ishida <ishida@nel-america.com>
2019-12-22 00:55:44 -08:00
Wataru Ishida
bd1225c035 build: refactor how to build TAI components
created a top-level Dockerfile which can be used to build everything in
this repo.

Signed-off-by: Wataru Ishida <ishida@nel-america.com>
2019-12-19 13:01:38 -08:00
Wataru Ishida
7407882595 taish: don't abort when module creation failed
Signed-off-by: Wataru Ishida <ishida@nel-america.com>
2019-09-19 17:29:36 -07:00
Wataru Ishida
386f9964f6 taish: support create/remove TAI objects
Signed-off-by: Wataru Ishida <ishida@nel-america.com>
2019-09-19 17:29:36 -07:00
Wataru Ishida
a6c4360efd add log callback function
Signed-off-by: Wataru Ishida <ishida@nel-america.com>
2019-09-19 17:03:54 -07:00
Wataru Ishida
ab15336db9 taish: support file based configuration
You can pass a configuration file to configure TAI objects

$ cat config.json
{
    "2": {
        "attrs": {
            "admin-status": "down"
        },
        "netif": {
            "0": {
                "attrs": {
                    "modulation-format": "dp-qpsk"
                }
            }
        },
        "hostif": {
            "0": {
                "attrs": {
                    "loopback-type": "shallow"
                }
            }
        }
    }
}
$ taish_server -f ./config.json

Signed-off-by: Wataru Ishida <ishida@nel-america.com>
2019-06-04 21:07:53 -07:00
Wataru Ishida
f5eeadeb74 Fix wrong description about license in each files and add NOTICE file
TAI is licensed under BSD 3-Clause License. Fix the description in each
files which were taken from SAI.
Also mention about SAI license (Apache License, Version 2.0).

related: #4

Signed-off-by: Wataru Ishida <ishida@nel-america.com>
2019-06-04 16:51:51 -07:00
Wataru Ishida
20bc5a0b3b taish: add completion and non-interactive mode
Signed-off-by: Wataru Ishida <ishida@nel-america.com>
2019-05-20 02:59:17 -07:00
Wataru Ishida
a6286a0834 taish: rewrite taish to support grpc
Signed-off-by: Wataru Ishida <ishida@nel-america.com>
2019-01-03 15:21:00 -08:00