Skip to content

Commit 4a81c8d

Browse files
protobuf file generation for SAI headers
Signed-off-by: raghunandan403 <[email protected]>
1 parent bc1d6ec commit 4a81c8d

File tree

12 files changed

+1174
-9
lines changed

12 files changed

+1174
-9
lines changed

meta/Makefile

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,11 @@ saimetadatatest.c saimetadata.c saimetadata.h: xml $(XMLDEPS) parse.pl $(CONSTHE
129129

130130
RPC_MODULES=$(shell find rpc -type f -name "*.pm")
131131

132+
sai.proto: xml $(XMLDEPS) gensaiprotorpc.pl templates/*.tt $(RPC_MODULES)
133+
perl -Irpc gensaiprotorpc.pl $(GEN_SAIRPC_OPTS)
134+
135+
protorpc: sai.proto
136+
132137
sai.thrift sai_rpc_server.cpp sai_adapter.py: xml $(XMLDEPS) gensairpc.pl templates/*.tt $(RPC_MODULES)
133138
perl -Irpc gensairpc.pl $(GEN_SAIRPC_OPTS)
134139

@@ -180,18 +185,18 @@ generated/gen-cpp/sai_rpc_server.skeleton: sai.thrift $(RPC_OBJ)
180185

181186
sai_rpc_server.skeleton: generated/gen-cpp/sai_rpc_server.skeleton
182187

183-
sai_rpc_frontend: rpc sai_rpc_frontend.cpp sai_rpc_frontend.main.cpp sai_rpc_server.cpp libsaimetadata.so libsai.so
188+
sai_rpc_frontend: rpc protorpc sai_rpc_frontend.cpp sai_rpc_frontend.main.cpp sai_rpc_server.cpp libsaimetadata.so libsai.so
184189
$(CXX) $(CFLAGS) -std=c++11 \
185190
generated/gen-cpp/sai_rpc.o generated/gen-cpp/sai_types.o generated/gen-cpp/sai_constants.o \
186191
sai_rpc_frontend.main.cpp sai_rpc_frontend.cpp \
187192
libsaimetadata.so libsai.so -lthrift -lpthread -I generated/gen-cpp -o sai_rpc_frontend
193+
.PHONY: clean rpc protorpc
188194

189-
.PHONY: clean rpc
190195

191196
clean:
192197
rm -f *.o *~ .*~ *.tmp .*.swp .*.swo *.bak sai*.gv sai*.svg *.o.symbols doxygen*.db *.so
193198
rm -f saimetadata.h saimetadatasize.h saimetadata.c saimetadatatest.c saiswig.i
194199
rm -f saisanitycheck saimetadatatest saiserializetest saidepgraphgen sai_rpc_frontend
195-
rm -f sai.thrift sai_rpc_server.cpp sai_adapter.py
200+
rm -f sai.thrift sai_rpc_server.cpp sai_adapter.py sai.proto
196201
rm -f *.gcda *.gcno *.gcov
197-
rm -rf xml html dist temp generated
202+
rm -rf xml html dist temp generated generated-protobuf

meta/gensaiprotorpc.README

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
NAME
2+
gensaiprotorpc.pl - generate protobuf interface of SAI
3+
4+
DESCRIPTION
5+
This script generates GRPC interface of SAI function. It
6+
should be used after SAI interface update.
7+
8+
For more details see the development documentation (rpc/README.md).
9+
10+
USAGE
11+
In order to run, just call:
12+
13+
./gensaiprotorpc.pl
14+
15+
Before committing it is a good idea to clean before generation:
16+
17+
./gensaiprotorpc.pl --clean-meta
18+
19+
In order to generate debug files and avoid cleanup, use --dbg or --dump
20+
flags. Use --experimental to generate extensions and experimental code.
21+
22+
For more information, use --help:
23+
24+
./gensaiprotorpc.pl --help
25+
26+
DEPENDENCIES
27+
Ubuntu packages:
28+
```
29+
[sudo] apt-get install -y \
30+
libtemplate-perl \
31+
libconst-fast-perl \
32+
libmoosex-aliases-perl \
33+
libnamespace-autoclean-perl \
34+
libgetopt-long-descriptive-perl \
35+
doxygen \
36+
graphviz \
37+
aspell-en
38+
```

0 commit comments

Comments
 (0)