• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 // Copyright 2021 gRPC authors.
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 //     http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16 
17 #include <grpc/grpc.h>
18 #include <grpc/support/port_platform.h>
19 
20 #include "src/core/config/core_configuration.h"
21 
22 namespace grpc_core {
23 #ifndef GRPC_NO_XDS
24 extern void RbacFilterRegister(CoreConfiguration::Builder* builder);
25 extern void StatefulSessionFilterRegister(CoreConfiguration::Builder* builder);
26 extern void GcpAuthenticationFilterRegister(
27     CoreConfiguration::Builder* builder);
28 extern void RegisterXdsChannelStackModifier(
29     CoreConfiguration::Builder* builder);
30 extern void RegisterChannelDefaultCreds(CoreConfiguration::Builder* builder);
31 extern void RegisterXdsResolver(CoreConfiguration::Builder* builder);
32 extern void RegisterCloud2ProdResolver(CoreConfiguration::Builder* builder);
33 extern void RegisterXdsClusterManagerLbPolicy(
34     CoreConfiguration::Builder* builder);
35 extern void RegisterXdsClusterImplLbPolicy(CoreConfiguration::Builder* builder);
36 extern void RegisterCdsLbPolicy(CoreConfiguration::Builder* builder);
37 extern void RegisterXdsOverrideHostLbPolicy(
38     CoreConfiguration::Builder* builder);
39 extern void RegisterXdsWrrLocalityLbPolicy(CoreConfiguration::Builder* builder);
40 extern void RegisterRingHashLbPolicy(CoreConfiguration::Builder* builder);
41 extern void RegisterFileWatcherCertificateProvider(
42     CoreConfiguration::Builder* builder);
43 extern void RegisterXdsHttpProxyMapper(CoreConfiguration::Builder* builder);
44 #endif
RegisterExtraFilters(CoreConfiguration::Builder * builder)45 void RegisterExtraFilters(CoreConfiguration::Builder* builder) {
46   // Use builder to avoid unused-parameter warning.
47   (void)builder;
48 #ifndef GRPC_NO_XDS
49   // rbac_filter is being guarded with GRPC_NO_XDS to avoid a dependency on the
50   // re2 library by default
51   RbacFilterRegister(builder);
52   StatefulSessionFilterRegister(builder);
53   GcpAuthenticationFilterRegister(builder);
54   RegisterXdsChannelStackModifier(builder);
55   RegisterChannelDefaultCreds(builder);
56   RegisterXdsResolver(builder);
57   RegisterCloud2ProdResolver(builder);
58   RegisterXdsClusterManagerLbPolicy(builder);
59   RegisterXdsClusterImplLbPolicy(builder);
60   RegisterCdsLbPolicy(builder);
61   RegisterXdsOverrideHostLbPolicy(builder);
62   RegisterXdsWrrLocalityLbPolicy(builder);
63   RegisterRingHashLbPolicy(builder);
64   RegisterFileWatcherCertificateProvider(builder);
65   RegisterXdsHttpProxyMapper(builder);
66 #endif
67 }
68 }  // namespace grpc_core
69