blob: 9047d674ddc8c2c0e55fea21719adf62ac6c0bed [file] [log] [blame]
Alexei Frolov5af57d12021-01-12 11:38:06 -08001# Copyright 2021 The Pigweed Authors
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4# use this file except in compliance with the License. You may obtain a copy of
5# the License at
6#
7# https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations under
13# the License.
14
15load(
16 "//pw_build:pigweed.bzl",
17 "pw_cc_library",
18 "pw_cc_test",
19)
20
21package(default_visibility = ["//visibility:public"])
22
Rob Mohr5fc25412021-06-23 09:35:23 -070023licenses(["notice"])
Alexei Frolov5af57d12021-01-12 11:38:06 -080024
25pw_cc_library(
26 name = "static_router",
Alexei Frolov5af57d12021-01-12 11:38:06 -080027 srcs = ["static_router.cc"],
Nathaniel Brougha1113be2021-03-07 09:05:41 +080028 hdrs = ["public/pw_router/static_router.h"],
Nathaniel Broughf91e7632021-07-26 17:12:14 +080029 includes = ["public"],
Alexei Frolov5af57d12021-01-12 11:38:06 -080030 deps = [
31 ":egress",
32 ":packet_parser",
33 "//pw_log",
Nathaniel Broughf91e7632021-07-26 17:12:14 +080034 "//pw_metric:metric",
Alexei Frolov5af57d12021-01-12 11:38:06 -080035 ],
36)
37
38pw_cc_library(
39 name = "egress",
40 hdrs = ["public/pw_router/egress.h"],
Nathaniel Broughf91e7632021-07-26 17:12:14 +080041 deps = [
Alexei Frolov46f74e02021-12-21 12:34:25 -080042 ":packet_parser",
Nathaniel Broughf91e7632021-07-26 17:12:14 +080043 "//pw_bytes",
Nathaniel Broughf91e7632021-07-26 17:12:14 +080044 ],
Alexei Frolov5af57d12021-01-12 11:38:06 -080045)
46
47pw_cc_library(
48 name = "packet_parser",
49 hdrs = ["public/pw_router/packet_parser.h"],
50 deps = ["//pw_bytes"],
51)
52
53pw_cc_library(
54 name = "egress_function",
55 hdrs = ["public/pw_router/egress_function.h"],
Alexei Frolov46f74e02021-12-21 12:34:25 -080056 deps = [
57 ":egress",
58 "//pw_function",
59 ],
Alexei Frolov5af57d12021-01-12 11:38:06 -080060)
61
62pw_cc_test(
63 name = "static_router_test",
64 srcs = ["static_router_test.cc"],
65 deps = [
66 ":egress_function",
67 ":static_router",
68 ],
69)