Revert "xDS stateful session affinity: support xDS HTTP filter config (#31793)" (#31821)

This reverts commit 7f054ffab0.
pull/31823/head
AJ Heller 2 years ago committed by GitHub
parent 18029913b9
commit 0fd59754b1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 25
      BUILD
  2. 30
      CMakeLists.txt
  3. 10
      Makefile
  4. 14
      build_autogenerated.yaml
  5. 9
      config.m4
  6. 17
      config.w32
  7. 10
      gRPC-C++.podspec
  8. 15
      gRPC-Core.podspec
  9. 10
      grpc.gemspec
  10. 5
      grpc.gyp
  11. 10
      package.xml
  12. 33
      src/core/BUILD
  13. 62
      src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c
  14. 179
      src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h
  15. 46
      src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c
  16. 98
      src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h
  17. 60
      src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c
  18. 40
      src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h
  19. 50
      src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c
  20. 35
      src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h
  21. 9
      src/core/ext/xds/xds_cluster.cc
  22. 1
      src/core/ext/xds/xds_cluster.h
  23. 11
      src/core/ext/xds/xds_http_fault_filter.cc
  24. 4
      src/core/ext/xds/xds_http_fault_filter.h
  25. 15
      src/core/ext/xds/xds_http_filters.cc
  26. 9
      src/core/ext/xds/xds_http_filters.h
  27. 11
      src/core/ext/xds/xds_http_rbac_filter.cc
  28. 4
      src/core/ext/xds/xds_http_rbac_filter.h
  29. 227
      src/core/ext/xds/xds_http_stateful_session_filter.cc
  30. 58
      src/core/ext/xds/xds_http_stateful_session_filter.h
  31. 4
      src/core/ext/xds/xds_lb_policy_registry.cc
  32. 4
      src/core/ext/xds/xds_listener.cc
  33. 4
      src/core/ext/xds/xds_route_config.cc
  34. 28
      src/proto/grpc/testing/xds/v3/BUILD
  35. 38
      src/proto/grpc/testing/xds/v3/cookie.proto
  36. 44
      src/proto/grpc/testing/xds/v3/stateful_session.proto
  37. 50
      src/proto/grpc/testing/xds/v3/stateful_session_cookie.proto
  38. 5
      src/python/grpcio/grpc_core_dependencies.py
  39. 3
      test/core/xds/BUILD
  40. 416
      test/core/xds/xds_http_filters_test.cc
  41. 10
      tools/doxygen/Doxyfile.c++.internal
  42. 10
      tools/doxygen/Doxyfile.core.internal

25
BUILD

@ -3664,31 +3664,6 @@ grpc_upb_proto_reflection_library(
deps = ["@envoy_api//envoy/extensions/filters/http/router/v3:pkg"],
)
grpc_upb_proto_library(
name = "envoy_extensions_filters_http_stateful_session_upb",
deps = ["@envoy_api//envoy/extensions/filters/http/stateful_session/v3:pkg"],
)
grpc_upb_proto_reflection_library(
name = "envoy_extensions_filters_http_stateful_session_upbdefs",
deps = ["@envoy_api//envoy/extensions/filters/http/stateful_session/v3:pkg"],
)
grpc_upb_proto_library(
name = "envoy_extensions_http_stateful_session_cookie_upb",
deps = ["@envoy_api//envoy/extensions/http/stateful_session/cookie/v3:pkg"],
)
grpc_upb_proto_reflection_library(
name = "envoy_extensions_http_stateful_session_cookie_upbdefs",
deps = ["@envoy_api//envoy/extensions/http/stateful_session/cookie/v3:pkg"],
)
grpc_upb_proto_library(
name = "envoy_type_http_upb",
deps = ["@envoy_api//envoy/type/http/v3:pkg"],
)
grpc_upb_proto_library(
name = "envoy_extensions_load_balancing_policies_ring_hash_upb",
deps = ["@envoy_api//envoy/extensions/load_balancing_policies/ring_hash/v3:pkg"],

30
CMakeLists.txt generated

@ -652,9 +652,6 @@ protobuf_generate_grpc_cpp_with_import_path_correction(
protobuf_generate_grpc_cpp_with_import_path_correction(
src/proto/grpc/testing/xds/v3/config_source.proto src/proto/grpc/testing/xds/v3/config_source.proto
)
protobuf_generate_grpc_cpp_with_import_path_correction(
src/proto/grpc/testing/xds/v3/cookie.proto src/proto/grpc/testing/xds/v3/cookie.proto
)
protobuf_generate_grpc_cpp_with_import_path_correction(
src/proto/grpc/testing/xds/v3/csds.proto src/proto/grpc/testing/xds/v3/csds.proto
)
@ -733,12 +730,6 @@ protobuf_generate_grpc_cpp_with_import_path_correction(
protobuf_generate_grpc_cpp_with_import_path_correction(
src/proto/grpc/testing/xds/v3/router.proto src/proto/grpc/testing/xds/v3/router.proto
)
protobuf_generate_grpc_cpp_with_import_path_correction(
src/proto/grpc/testing/xds/v3/stateful_session.proto src/proto/grpc/testing/xds/v3/stateful_session.proto
)
protobuf_generate_grpc_cpp_with_import_path_correction(
src/proto/grpc/testing/xds/v3/stateful_session_cookie.proto src/proto/grpc/testing/xds/v3/stateful_session_cookie.proto
)
protobuf_generate_grpc_cpp_with_import_path_correction(
src/proto/grpc/testing/xds/v3/string.proto src/proto/grpc/testing/xds/v3/string.proto
)
@ -1844,9 +1835,7 @@ add_library(grpc
src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c
src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c
src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c
src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c
src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c
src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c
src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c
src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c
src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c
@ -1993,9 +1982,7 @@ add_library(grpc
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c
src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c
src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c
src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c
src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c
src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c
@ -2081,7 +2068,6 @@ add_library(grpc
src/core/ext/xds/xds_http_fault_filter.cc
src/core/ext/xds/xds_http_filters.cc
src/core/ext/xds/xds_http_rbac_filter.cc
src/core/ext/xds/xds_http_stateful_session_filter.cc
src/core/ext/xds/xds_lb_policy_registry.cc
src/core/ext/xds/xds_listener.cc
src/core/ext/xds/xds_route_config.cc
@ -23524,10 +23510,6 @@ add_executable(xds_http_filters_test
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/base.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/base.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/base.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/cookie.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/cookie.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/cookie.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/cookie.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/expr.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/expr.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/expr.pb.h
@ -23580,22 +23562,10 @@ add_executable(xds_http_filters_test
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/router.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/router.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/router.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/stateful_session.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/stateful_session.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/stateful_session.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/stateful_session.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/stateful_session_cookie.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/stateful_session_cookie.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/stateful_session_cookie.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/stateful_session_cookie.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/string.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/string.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/string.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/string.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/typed_struct.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/typed_struct.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/typed_struct.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/typed_struct.grpc.pb.h
test/core/xds/xds_http_filters_test.cc
test/cpp/util/cli_call.cc
test/cpp/util/cli_credentials.cc

10
Makefile generated

@ -1128,9 +1128,7 @@ LIBGRPC_SRC = \
src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c \
src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c \
src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c \
src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c \
src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c \
src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c \
src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c \
src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c \
src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c \
@ -1277,9 +1275,7 @@ LIBGRPC_SRC = \
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c \
@ -1365,7 +1361,6 @@ LIBGRPC_SRC = \
src/core/ext/xds/xds_http_fault_filter.cc \
src/core/ext/xds/xds_http_filters.cc \
src/core/ext/xds/xds_http_rbac_filter.cc \
src/core/ext/xds/xds_http_stateful_session_filter.cc \
src/core/ext/xds/xds_lb_policy_registry.cc \
src/core/ext/xds/xds_listener.cc \
src/core/ext/xds/xds_route_config.cc \
@ -2989,9 +2984,7 @@ src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c:
src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c: $(OPENSSL_DEP)
src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c: $(OPENSSL_DEP)
src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c: $(OPENSSL_DEP)
src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c: $(OPENSSL_DEP)
src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c: $(OPENSSL_DEP)
src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c: $(OPENSSL_DEP)
src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c: $(OPENSSL_DEP)
src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c: $(OPENSSL_DEP)
src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c: $(OPENSSL_DEP)
@ -3119,9 +3112,7 @@ src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.up
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c: $(OPENSSL_DEP)
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c: $(OPENSSL_DEP)
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c: $(OPENSSL_DEP)
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c: $(OPENSSL_DEP)
src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c: $(OPENSSL_DEP)
src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c: $(OPENSSL_DEP)
src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c: $(OPENSSL_DEP)
src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c: $(OPENSSL_DEP)
src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c: $(OPENSSL_DEP)
@ -3206,7 +3197,6 @@ src/core/ext/xds/xds_endpoint.cc: $(OPENSSL_DEP)
src/core/ext/xds/xds_http_fault_filter.cc: $(OPENSSL_DEP)
src/core/ext/xds/xds_http_filters.cc: $(OPENSSL_DEP)
src/core/ext/xds/xds_http_rbac_filter.cc: $(OPENSSL_DEP)
src/core/ext/xds/xds_http_stateful_session_filter.cc: $(OPENSSL_DEP)
src/core/ext/xds/xds_lb_policy_registry.cc: $(OPENSSL_DEP)
src/core/ext/xds/xds_listener.cc: $(OPENSSL_DEP)
src/core/ext/xds/xds_route_config.cc: $(OPENSSL_DEP)

@ -469,9 +469,7 @@ libs:
- src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h
- src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h
- src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h
- src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h
- src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h
- src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h
- src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h
- src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h
- src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h
@ -618,9 +616,7 @@ libs:
- src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h
- src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h
- src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h
- src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h
- src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h
- src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h
- src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h
- src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h
- src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h
@ -708,7 +704,6 @@ libs:
- src/core/ext/xds/xds_http_fault_filter.h
- src/core/ext/xds/xds_http_filters.h
- src/core/ext/xds/xds_http_rbac_filter.h
- src/core/ext/xds/xds_http_stateful_session_filter.h
- src/core/ext/xds/xds_lb_policy_registry.h
- src/core/ext/xds/xds_listener.h
- src/core/ext/xds/xds_resource_type.h
@ -1223,9 +1218,7 @@ libs:
- src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c
- src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c
- src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c
- src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c
- src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c
- src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c
- src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c
- src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c
- src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c
@ -1372,9 +1365,7 @@ libs:
- src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c
- src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c
- src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c
- src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c
- src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c
- src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c
- src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c
- src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c
- src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c
@ -1460,7 +1451,6 @@ libs:
- src/core/ext/xds/xds_http_fault_filter.cc
- src/core/ext/xds/xds_http_filters.cc
- src/core/ext/xds/xds_http_rbac_filter.cc
- src/core/ext/xds/xds_http_stateful_session_filter.cc
- src/core/ext/xds/xds_lb_policy_registry.cc
- src/core/ext/xds/xds_listener.cc
- src/core/ext/xds/xds_route_config.cc
@ -12932,7 +12922,6 @@ targets:
- src/proto/grpc/reflection/v1alpha/reflection.proto
- src/proto/grpc/testing/xds/v3/address.proto
- src/proto/grpc/testing/xds/v3/base.proto
- src/proto/grpc/testing/xds/v3/cookie.proto
- src/proto/grpc/testing/xds/v3/expr.proto
- src/proto/grpc/testing/xds/v3/extension.proto
- src/proto/grpc/testing/xds/v3/fault.proto
@ -12946,10 +12935,7 @@ targets:
- src/proto/grpc/testing/xds/v3/regex.proto
- src/proto/grpc/testing/xds/v3/route.proto
- src/proto/grpc/testing/xds/v3/router.proto
- src/proto/grpc/testing/xds/v3/stateful_session.proto
- src/proto/grpc/testing/xds/v3/stateful_session_cookie.proto
- src/proto/grpc/testing/xds/v3/string.proto
- src/proto/grpc/testing/xds/v3/typed_struct.proto
- test/core/xds/xds_http_filters_test.cc
- test/cpp/util/cli_call.cc
- test/cpp/util/cli_credentials.cc

9
config.m4 generated

@ -211,9 +211,7 @@ if test "$PHP_GRPC" != "no"; then
src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c \
src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c \
src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c \
src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c \
src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c \
src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c \
src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c \
src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c \
src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c \
@ -360,9 +358,7 @@ if test "$PHP_GRPC" != "no"; then
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c \
@ -448,7 +444,6 @@ if test "$PHP_GRPC" != "no"; then
src/core/ext/xds/xds_http_fault_filter.cc \
src/core/ext/xds/xds_http_filters.cc \
src/core/ext/xds/xds_http_rbac_filter.cc \
src/core/ext/xds/xds_http_stateful_session_filter.cc \
src/core/ext/xds/xds_lb_policy_registry.cc \
src/core/ext/xds/xds_listener.cc \
src/core/ext/xds/xds_route_config.cc \
@ -1281,9 +1276,7 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3)
@ -1332,9 +1325,7 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/service/discovery/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3)

17
config.w32 generated

@ -177,9 +177,7 @@ if (PHP_GRPC != "no") {
"src\\core\\ext\\upb-generated\\envoy\\extensions\\filters\\http\\fault\\v3\\fault.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\extensions\\filters\\http\\rbac\\v3\\rbac.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\extensions\\filters\\http\\router\\v3\\router.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\extensions\\filters\\http\\stateful_session\\v3\\stateful_session.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\extensions\\filters\\network\\http_connection_manager\\v3\\http_connection_manager.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\extensions\\http\\stateful_session\\cookie\\v3\\cookie.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\extensions\\load_balancing_policies\\ring_hash\\v3\\ring_hash.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\extensions\\load_balancing_policies\\wrr_locality\\v3\\wrr_locality.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\extensions\\transport_sockets\\tls\\v3\\cert.upb.c " +
@ -326,9 +324,7 @@ if (PHP_GRPC != "no") {
"src\\core\\ext\\upbdefs-generated\\envoy\\extensions\\filters\\http\\fault\\v3\\fault.upbdefs.c " +
"src\\core\\ext\\upbdefs-generated\\envoy\\extensions\\filters\\http\\rbac\\v3\\rbac.upbdefs.c " +
"src\\core\\ext\\upbdefs-generated\\envoy\\extensions\\filters\\http\\router\\v3\\router.upbdefs.c " +
"src\\core\\ext\\upbdefs-generated\\envoy\\extensions\\filters\\http\\stateful_session\\v3\\stateful_session.upbdefs.c " +
"src\\core\\ext\\upbdefs-generated\\envoy\\extensions\\filters\\network\\http_connection_manager\\v3\\http_connection_manager.upbdefs.c " +
"src\\core\\ext\\upbdefs-generated\\envoy\\extensions\\http\\stateful_session\\cookie\\v3\\cookie.upbdefs.c " +
"src\\core\\ext\\upbdefs-generated\\envoy\\extensions\\transport_sockets\\tls\\v3\\cert.upbdefs.c " +
"src\\core\\ext\\upbdefs-generated\\envoy\\extensions\\transport_sockets\\tls\\v3\\common.upbdefs.c " +
"src\\core\\ext\\upbdefs-generated\\envoy\\extensions\\transport_sockets\\tls\\v3\\secret.upbdefs.c " +
@ -414,7 +410,6 @@ if (PHP_GRPC != "no") {
"src\\core\\ext\\xds\\xds_http_fault_filter.cc " +
"src\\core\\ext\\xds\\xds_http_filters.cc " +
"src\\core\\ext\\xds\\xds_http_rbac_filter.cc " +
"src\\core\\ext\\xds\\xds_http_stateful_session_filter.cc " +
"src\\core\\ext\\xds\\xds_lb_policy_registry.cc " +
"src\\core\\ext\\xds\\xds_listener.cc " +
"src\\core\\ext\\xds\\xds_route_config.cc " +
@ -1309,15 +1304,9 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\extensions\\filters\\http\\rbac\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\extensions\\filters\\http\\router");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\extensions\\filters\\http\\router\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\extensions\\filters\\http\\stateful_session");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\extensions\\filters\\http\\stateful_session\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\extensions\\filters\\network");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\extensions\\filters\\network\\http_connection_manager");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\extensions\\filters\\network\\http_connection_manager\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\extensions\\http");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\extensions\\http\\stateful_session");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\extensions\\http\\stateful_session\\cookie");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\extensions\\http\\stateful_session\\cookie\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\extensions\\load_balancing_policies");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\extensions\\load_balancing_policies\\ring_hash");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\extensions\\load_balancing_policies\\ring_hash\\v3");
@ -1429,15 +1418,9 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\extensions\\filters\\http\\rbac\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\extensions\\filters\\http\\router");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\extensions\\filters\\http\\router\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\extensions\\filters\\http\\stateful_session");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\extensions\\filters\\http\\stateful_session\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\extensions\\filters\\network");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\extensions\\filters\\network\\http_connection_manager");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\extensions\\filters\\network\\http_connection_manager\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\extensions\\http");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\extensions\\http\\stateful_session");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\extensions\\http\\stateful_session\\cookie");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\extensions\\http\\stateful_session\\cookie\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\extensions\\transport_sockets");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\extensions\\transport_sockets\\tls");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upbdefs-generated\\envoy\\extensions\\transport_sockets\\tls\\v3");

10
gRPC-C++.podspec generated

@ -428,9 +428,7 @@ Pod::Spec.new do |s|
'src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h',
'src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h',
'src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h',
'src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h',
'src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h',
'src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h',
'src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h',
'src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h',
@ -577,9 +575,7 @@ Pod::Spec.new do |s|
'src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h',
@ -667,7 +663,6 @@ Pod::Spec.new do |s|
'src/core/ext/xds/xds_http_fault_filter.h',
'src/core/ext/xds/xds_http_filters.h',
'src/core/ext/xds/xds_http_rbac_filter.h',
'src/core/ext/xds/xds_http_stateful_session_filter.h',
'src/core/ext/xds/xds_lb_policy_registry.h',
'src/core/ext/xds/xds_listener.h',
'src/core/ext/xds/xds_resource_type.h',
@ -1323,9 +1318,7 @@ Pod::Spec.new do |s|
'src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h',
'src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h',
'src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h',
'src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h',
'src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h',
'src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h',
'src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h',
'src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h',
@ -1472,9 +1465,7 @@ Pod::Spec.new do |s|
'src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h',
@ -1562,7 +1553,6 @@ Pod::Spec.new do |s|
'src/core/ext/xds/xds_http_fault_filter.h',
'src/core/ext/xds/xds_http_filters.h',
'src/core/ext/xds/xds_http_rbac_filter.h',
'src/core/ext/xds/xds_http_stateful_session_filter.h',
'src/core/ext/xds/xds_lb_policy_registry.h',
'src/core/ext/xds/xds_listener.h',
'src/core/ext/xds/xds_resource_type.h',

15
gRPC-Core.podspec generated

@ -523,12 +523,8 @@ Pod::Spec.new do |s|
'src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h',
'src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c',
'src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h',
'src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c',
'src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h',
'src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c',
'src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h',
'src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c',
'src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h',
'src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c',
'src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h',
'src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c',
@ -821,12 +817,8 @@ Pod::Spec.new do |s|
'src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c',
'src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c',
'src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c',
@ -999,8 +991,6 @@ Pod::Spec.new do |s|
'src/core/ext/xds/xds_http_filters.h',
'src/core/ext/xds/xds_http_rbac_filter.cc',
'src/core/ext/xds/xds_http_rbac_filter.h',
'src/core/ext/xds/xds_http_stateful_session_filter.cc',
'src/core/ext/xds/xds_http_stateful_session_filter.h',
'src/core/ext/xds/xds_lb_policy_registry.cc',
'src/core/ext/xds/xds_lb_policy_registry.h',
'src/core/ext/xds/xds_listener.cc',
@ -1963,9 +1953,7 @@ Pod::Spec.new do |s|
'src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h',
'src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h',
'src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h',
'src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h',
'src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h',
'src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h',
'src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h',
'src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h',
@ -2112,9 +2100,7 @@ Pod::Spec.new do |s|
'src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h',
'src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h',
@ -2202,7 +2188,6 @@ Pod::Spec.new do |s|
'src/core/ext/xds/xds_http_fault_filter.h',
'src/core/ext/xds/xds_http_filters.h',
'src/core/ext/xds/xds_http_rbac_filter.h',
'src/core/ext/xds/xds_http_stateful_session_filter.h',
'src/core/ext/xds/xds_lb_policy_registry.h',
'src/core/ext/xds/xds_listener.h',
'src/core/ext/xds/xds_resource_type.h',

10
grpc.gemspec generated

@ -434,12 +434,8 @@ Gem::Specification.new do |s|
s.files += %w( src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c )
@ -732,12 +728,8 @@ Gem::Specification.new do |s|
s.files += %w( src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h )
s.files += %w( src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c )
s.files += %w( src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h )
s.files += %w( src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c )
s.files += %w( src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h )
s.files += %w( src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c )
s.files += %w( src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h )
s.files += %w( src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c )
s.files += %w( src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h )
s.files += %w( src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c )
s.files += %w( src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h )
s.files += %w( src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c )
@ -910,8 +902,6 @@ Gem::Specification.new do |s|
s.files += %w( src/core/ext/xds/xds_http_filters.h )
s.files += %w( src/core/ext/xds/xds_http_rbac_filter.cc )
s.files += %w( src/core/ext/xds/xds_http_rbac_filter.h )
s.files += %w( src/core/ext/xds/xds_http_stateful_session_filter.cc )
s.files += %w( src/core/ext/xds/xds_http_stateful_session_filter.h )
s.files += %w( src/core/ext/xds/xds_lb_policy_registry.cc )
s.files += %w( src/core/ext/xds/xds_lb_policy_registry.h )
s.files += %w( src/core/ext/xds/xds_listener.cc )

5
grpc.gyp generated

@ -541,9 +541,7 @@
'src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c',
'src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c',
'src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c',
'src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c',
'src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c',
'src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c',
'src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c',
'src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c',
@ -690,9 +688,7 @@
'src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c',
'src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c',
'src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c',
'src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c',
'src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c',
@ -778,7 +774,6 @@
'src/core/ext/xds/xds_http_fault_filter.cc',
'src/core/ext/xds/xds_http_filters.cc',
'src/core/ext/xds/xds_http_rbac_filter.cc',
'src/core/ext/xds/xds_http_stateful_session_filter.cc',
'src/core/ext/xds/xds_lb_policy_registry.cc',
'src/core/ext/xds/xds_listener.cc',
'src/core/ext/xds/xds_route_config.cc',

10
package.xml generated

@ -416,12 +416,8 @@
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c" role="src" />
@ -714,12 +710,8 @@
<file baseinstalldir="/" name="src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c" role="src" />
@ -892,8 +884,6 @@
<file baseinstalldir="/" name="src/core/ext/xds/xds_http_filters.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/xds/xds_http_rbac_filter.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/xds/xds_http_rbac_filter.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/xds/xds_http_stateful_session_filter.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/xds/xds_http_stateful_session_filter.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/xds/xds_lb_policy_registry.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/xds/xds_lb_policy_registry.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/xds/xds_listener.cc" role="src" />

@ -3564,7 +3564,6 @@ grpc_cc_library(
"ext/xds/xds_http_fault_filter.cc",
"ext/xds/xds_http_filters.cc",
"ext/xds/xds_http_rbac_filter.cc",
"ext/xds/xds_http_stateful_session_filter.cc",
"ext/xds/xds_lb_policy_registry.cc",
"ext/xds/xds_listener.cc",
"ext/xds/xds_route_config.cc",
@ -3585,7 +3584,6 @@ grpc_cc_library(
"ext/xds/xds_http_fault_filter.h",
"ext/xds/xds_http_filters.h",
"ext/xds/xds_http_rbac_filter.h",
"ext/xds/xds_http_stateful_session_filter.h",
"ext/xds/xds_lb_policy_registry.h",
"ext/xds/xds_listener.h",
"ext/xds/xds_route_config.h",
@ -3641,12 +3639,8 @@ grpc_cc_library(
"envoy_extensions_filters_http_rbac_upbdefs",
"envoy_extensions_filters_http_router_upb",
"envoy_extensions_filters_http_router_upbdefs",
"envoy_extensions_filters_http_stateful_session_upb",
"envoy_extensions_filters_http_stateful_session_upbdefs",
"envoy_extensions_filters_network_http_connection_manager_upb",
"envoy_extensions_filters_network_http_connection_manager_upbdefs",
"envoy_extensions_http_stateful_session_cookie_upb",
"envoy_extensions_http_stateful_session_cookie_upbdefs",
"envoy_extensions_load_balancing_policies_ring_hash_upb",
"envoy_extensions_load_balancing_policies_wrr_locality_upb",
"envoy_extensions_transport_sockets_tls_upb",
@ -3657,7 +3651,6 @@ grpc_cc_library(
"envoy_service_load_stats_upbdefs",
"envoy_service_status_upb",
"envoy_service_status_upbdefs",
"envoy_type_http_upb",
"envoy_type_matcher_upb",
"envoy_type_upb",
"error",
@ -3669,7 +3662,6 @@ grpc_cc_library(
"grpc_outlier_detection_header",
"grpc_rbac_filter",
"grpc_sockaddr",
"grpc_stateful_session_filter",
"grpc_tls_credentials",
"grpc_transport_chttp2_client_connector",
"init_internally",
@ -5054,31 +5046,6 @@ grpc_upb_proto_reflection_library(
deps = ["@envoy_api//envoy/extensions/filters/http/router/v3:pkg"],
)
grpc_upb_proto_library(
name = "envoy_extensions_filters_http_stateful_session_upb",
deps = ["@envoy_api//envoy/extensions/filters/http/stateful_session/v3:pkg"],
)
grpc_upb_proto_reflection_library(
name = "envoy_extensions_filters_http_stateful_session_upbdefs",
deps = ["@envoy_api//envoy/extensions/filters/http/stateful_session/v3:pkg"],
)
grpc_upb_proto_library(
name = "envoy_extensions_http_stateful_session_cookie_upb",
deps = ["@envoy_api//envoy/extensions/http/stateful_session/cookie/v3:pkg"],
)
grpc_upb_proto_reflection_library(
name = "envoy_extensions_http_stateful_session_cookie_upbdefs",
deps = ["@envoy_api//envoy/extensions/http/stateful_session/cookie/v3:pkg"],
)
grpc_upb_proto_library(
name = "envoy_type_http_upb",
deps = ["@envoy_api//envoy/type/http/v3:pkg"],
)
grpc_upb_proto_library(
name = "envoy_extensions_load_balancing_policies_ring_hash_upb",
deps = ["@envoy_api//envoy/extensions/load_balancing_policies/ring_hash/v3:pkg"],

@ -1,62 +0,0 @@
/* This file was generated by upbc (the upb compiler) from the input
* file:
*
* envoy/extensions/filters/http/stateful_session/v3/stateful_session.proto
*
* Do not edit -- your changes will be discarded when the file is
* regenerated. */
#include <stddef.h>
#include "upb/msg_internal.h"
#include "envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h"
#include "envoy/config/core/v3/extension.upb.h"
#include "udpa/annotations/status.upb.h"
#include "validate/validate.upb.h"
#include "upb/port_def.inc"
static const upb_MiniTable_Sub envoy_extensions_filters_http_stateful_session_v3_StatefulSession_submsgs[1] = {
{.submsg = &envoy_config_core_v3_TypedExtensionConfig_msginit},
};
static const upb_MiniTable_Field envoy_extensions_filters_http_stateful_session_v3_StatefulSession__fields[1] = {
{1, UPB_SIZE(4, 8), UPB_SIZE(1, 1), 0, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
};
const upb_MiniTable envoy_extensions_filters_http_stateful_session_v3_StatefulSession_msginit = {
&envoy_extensions_filters_http_stateful_session_v3_StatefulSession_submsgs[0],
&envoy_extensions_filters_http_stateful_session_v3_StatefulSession__fields[0],
UPB_SIZE(8, 16), 1, kUpb_ExtMode_NonExtendable, 1, 255, 0,
};
static const upb_MiniTable_Sub envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_submsgs[1] = {
{.submsg = &envoy_extensions_filters_http_stateful_session_v3_StatefulSession_msginit},
};
static const upb_MiniTable_Field envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute__fields[2] = {
{1, UPB_SIZE(4, 8), UPB_SIZE(-1, -1), kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
{2, UPB_SIZE(4, 8), UPB_SIZE(-1, -1), 0, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
};
const upb_MiniTable envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_msginit = {
&envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_submsgs[0],
&envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute__fields[0],
UPB_SIZE(8, 16), 2, kUpb_ExtMode_NonExtendable, 2, 255, 0,
};
static const upb_MiniTable *messages_layout[2] = {
&envoy_extensions_filters_http_stateful_session_v3_StatefulSession_msginit,
&envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_msginit,
};
const upb_MiniTable_File envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_upb_file_layout = {
messages_layout,
NULL,
NULL,
2,
0,
0,
};
#include "upb/port_undef.inc"

@ -1,179 +0,0 @@
/* This file was generated by upbc (the upb compiler) from the input
* file:
*
* envoy/extensions/filters/http/stateful_session/v3/stateful_session.proto
*
* Do not edit -- your changes will be discarded when the file is
* regenerated. */
#ifndef ENVOY_EXTENSIONS_FILTERS_HTTP_STATEFUL_SESSION_V3_STATEFUL_SESSION_PROTO_UPB_H_
#define ENVOY_EXTENSIONS_FILTERS_HTTP_STATEFUL_SESSION_V3_STATEFUL_SESSION_PROTO_UPB_H_
#include "upb/msg_internal.h"
#include "upb/decode.h"
#include "upb/decode_fast.h"
#include "upb/encode.h"
#include "upb/port_def.inc"
#ifdef __cplusplus
extern "C" {
#endif
struct envoy_extensions_filters_http_stateful_session_v3_StatefulSession;
struct envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute;
typedef struct envoy_extensions_filters_http_stateful_session_v3_StatefulSession envoy_extensions_filters_http_stateful_session_v3_StatefulSession;
typedef struct envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute;
extern const upb_MiniTable envoy_extensions_filters_http_stateful_session_v3_StatefulSession_msginit;
extern const upb_MiniTable envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_msginit;
struct envoy_config_core_v3_TypedExtensionConfig;
extern const upb_MiniTable envoy_config_core_v3_TypedExtensionConfig_msginit;
/* envoy.extensions.filters.http.stateful_session.v3.StatefulSession */
UPB_INLINE envoy_extensions_filters_http_stateful_session_v3_StatefulSession* envoy_extensions_filters_http_stateful_session_v3_StatefulSession_new(upb_Arena* arena) {
return (envoy_extensions_filters_http_stateful_session_v3_StatefulSession*)_upb_Message_New(&envoy_extensions_filters_http_stateful_session_v3_StatefulSession_msginit, arena);
}
UPB_INLINE envoy_extensions_filters_http_stateful_session_v3_StatefulSession* envoy_extensions_filters_http_stateful_session_v3_StatefulSession_parse(const char* buf, size_t size, upb_Arena* arena) {
envoy_extensions_filters_http_stateful_session_v3_StatefulSession* ret = envoy_extensions_filters_http_stateful_session_v3_StatefulSession_new(arena);
if (!ret) return NULL;
if (upb_Decode(buf, size, ret, &envoy_extensions_filters_http_stateful_session_v3_StatefulSession_msginit, NULL, 0, arena) != kUpb_DecodeStatus_Ok) {
return NULL;
}
return ret;
}
UPB_INLINE envoy_extensions_filters_http_stateful_session_v3_StatefulSession* envoy_extensions_filters_http_stateful_session_v3_StatefulSession_parse_ex(const char* buf, size_t size,
const upb_ExtensionRegistry* extreg,
int options, upb_Arena* arena) {
envoy_extensions_filters_http_stateful_session_v3_StatefulSession* ret = envoy_extensions_filters_http_stateful_session_v3_StatefulSession_new(arena);
if (!ret) return NULL;
if (upb_Decode(buf, size, ret, &envoy_extensions_filters_http_stateful_session_v3_StatefulSession_msginit, extreg, options, arena) !=
kUpb_DecodeStatus_Ok) {
return NULL;
}
return ret;
}
UPB_INLINE char* envoy_extensions_filters_http_stateful_session_v3_StatefulSession_serialize(const envoy_extensions_filters_http_stateful_session_v3_StatefulSession* msg, upb_Arena* arena, size_t* len) {
char* ptr;
(void)upb_Encode(msg, &envoy_extensions_filters_http_stateful_session_v3_StatefulSession_msginit, 0, arena, &ptr, len);
return ptr;
}
UPB_INLINE char* envoy_extensions_filters_http_stateful_session_v3_StatefulSession_serialize_ex(const envoy_extensions_filters_http_stateful_session_v3_StatefulSession* msg, int options,
upb_Arena* arena, size_t* len) {
char* ptr;
(void)upb_Encode(msg, &envoy_extensions_filters_http_stateful_session_v3_StatefulSession_msginit, options, arena, &ptr, len);
return ptr;
}
UPB_INLINE bool envoy_extensions_filters_http_stateful_session_v3_StatefulSession_has_session_state(const envoy_extensions_filters_http_stateful_session_v3_StatefulSession* msg) {
return _upb_hasbit(msg, 1);
}
UPB_INLINE void envoy_extensions_filters_http_stateful_session_v3_StatefulSession_clear_session_state(const envoy_extensions_filters_http_stateful_session_v3_StatefulSession* msg) {
*UPB_PTR_AT(msg, UPB_SIZE(4, 8), const upb_Message*) = NULL;
}
UPB_INLINE const struct envoy_config_core_v3_TypedExtensionConfig* envoy_extensions_filters_http_stateful_session_v3_StatefulSession_session_state(const envoy_extensions_filters_http_stateful_session_v3_StatefulSession* msg) {
return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct envoy_config_core_v3_TypedExtensionConfig*);
}
UPB_INLINE void envoy_extensions_filters_http_stateful_session_v3_StatefulSession_set_session_state(envoy_extensions_filters_http_stateful_session_v3_StatefulSession *msg, struct envoy_config_core_v3_TypedExtensionConfig* value) {
_upb_sethas(msg, 1);
*UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct envoy_config_core_v3_TypedExtensionConfig*) = value;
}
UPB_INLINE struct envoy_config_core_v3_TypedExtensionConfig* envoy_extensions_filters_http_stateful_session_v3_StatefulSession_mutable_session_state(envoy_extensions_filters_http_stateful_session_v3_StatefulSession* msg, upb_Arena* arena) {
struct envoy_config_core_v3_TypedExtensionConfig* sub = (struct envoy_config_core_v3_TypedExtensionConfig*)envoy_extensions_filters_http_stateful_session_v3_StatefulSession_session_state(msg);
if (sub == NULL) {
sub = (struct envoy_config_core_v3_TypedExtensionConfig*)_upb_Message_New(&envoy_config_core_v3_TypedExtensionConfig_msginit, arena);
if (!sub) return NULL;
envoy_extensions_filters_http_stateful_session_v3_StatefulSession_set_session_state(msg, sub);
}
return sub;
}
/* envoy.extensions.filters.http.stateful_session.v3.StatefulSessionPerRoute */
UPB_INLINE envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute* envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_new(upb_Arena* arena) {
return (envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute*)_upb_Message_New(&envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_msginit, arena);
}
UPB_INLINE envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute* envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_parse(const char* buf, size_t size, upb_Arena* arena) {
envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute* ret = envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_new(arena);
if (!ret) return NULL;
if (upb_Decode(buf, size, ret, &envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_msginit, NULL, 0, arena) != kUpb_DecodeStatus_Ok) {
return NULL;
}
return ret;
}
UPB_INLINE envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute* envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_parse_ex(const char* buf, size_t size,
const upb_ExtensionRegistry* extreg,
int options, upb_Arena* arena) {
envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute* ret = envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_new(arena);
if (!ret) return NULL;
if (upb_Decode(buf, size, ret, &envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_msginit, extreg, options, arena) !=
kUpb_DecodeStatus_Ok) {
return NULL;
}
return ret;
}
UPB_INLINE char* envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_serialize(const envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute* msg, upb_Arena* arena, size_t* len) {
char* ptr;
(void)upb_Encode(msg, &envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_msginit, 0, arena, &ptr, len);
return ptr;
}
UPB_INLINE char* envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_serialize_ex(const envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute* msg, int options,
upb_Arena* arena, size_t* len) {
char* ptr;
(void)upb_Encode(msg, &envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_msginit, options, arena, &ptr, len);
return ptr;
}
typedef enum {
envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_override_disabled = 1,
envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_override_stateful_session = 2,
envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_override_NOT_SET = 0
} envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_override_oneofcases;
UPB_INLINE envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_override_oneofcases envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_override_case(const envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute* msg) {
return (envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_override_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(0, 0), int32_t);
}
UPB_INLINE bool envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_has_disabled(const envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute* msg) {
return _upb_getoneofcase(msg, UPB_SIZE(0, 0)) == 1;
}
UPB_INLINE void envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_clear_disabled(const envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute* msg) {
UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(4, 8), 0, UPB_SIZE(0, 0), envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_override_NOT_SET);
}
UPB_INLINE bool envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_disabled(const envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute* msg) {
return UPB_READ_ONEOF(msg, bool, UPB_SIZE(4, 8), UPB_SIZE(0, 0), 1, false);
}
UPB_INLINE bool envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_has_stateful_session(const envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute* msg) {
return _upb_getoneofcase(msg, UPB_SIZE(0, 0)) == 2;
}
UPB_INLINE void envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_clear_stateful_session(const envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute* msg) {
UPB_WRITE_ONEOF(msg, envoy_extensions_filters_http_stateful_session_v3_StatefulSession*, UPB_SIZE(4, 8), 0, UPB_SIZE(0, 0), envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_override_NOT_SET);
}
UPB_INLINE const envoy_extensions_filters_http_stateful_session_v3_StatefulSession* envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_stateful_session(const envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute* msg) {
return UPB_READ_ONEOF(msg, const envoy_extensions_filters_http_stateful_session_v3_StatefulSession*, UPB_SIZE(4, 8), UPB_SIZE(0, 0), 2, NULL);
}
UPB_INLINE void envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_set_disabled(envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute *msg, bool value) {
UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(4, 8), value, UPB_SIZE(0, 0), 1);
}
UPB_INLINE void envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_set_stateful_session(envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute *msg, envoy_extensions_filters_http_stateful_session_v3_StatefulSession* value) {
UPB_WRITE_ONEOF(msg, envoy_extensions_filters_http_stateful_session_v3_StatefulSession*, UPB_SIZE(4, 8), value, UPB_SIZE(0, 0), 2);
}
UPB_INLINE struct envoy_extensions_filters_http_stateful_session_v3_StatefulSession* envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_mutable_stateful_session(envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute* msg, upb_Arena* arena) {
struct envoy_extensions_filters_http_stateful_session_v3_StatefulSession* sub = (struct envoy_extensions_filters_http_stateful_session_v3_StatefulSession*)envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_stateful_session(msg);
if (sub == NULL) {
sub = (struct envoy_extensions_filters_http_stateful_session_v3_StatefulSession*)_upb_Message_New(&envoy_extensions_filters_http_stateful_session_v3_StatefulSession_msginit, arena);
if (!sub) return NULL;
envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_set_stateful_session(msg, sub);
}
return sub;
}
extern const upb_MiniTable_File envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_upb_file_layout;
#ifdef __cplusplus
} /* extern "C" */
#endif
#include "upb/port_undef.inc"
#endif /* ENVOY_EXTENSIONS_FILTERS_HTTP_STATEFUL_SESSION_V3_STATEFUL_SESSION_PROTO_UPB_H_ */

@ -1,46 +0,0 @@
/* This file was generated by upbc (the upb compiler) from the input
* file:
*
* envoy/extensions/http/stateful_session/cookie/v3/cookie.proto
*
* Do not edit -- your changes will be discarded when the file is
* regenerated. */
#include <stddef.h>
#include "upb/msg_internal.h"
#include "envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h"
#include "envoy/type/http/v3/cookie.upb.h"
#include "udpa/annotations/status.upb.h"
#include "validate/validate.upb.h"
#include "upb/port_def.inc"
static const upb_MiniTable_Sub envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_submsgs[1] = {
{.submsg = &envoy_type_http_v3_Cookie_msginit},
};
static const upb_MiniTable_Field envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState__fields[1] = {
{1, UPB_SIZE(4, 8), UPB_SIZE(1, 1), 0, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
};
const upb_MiniTable envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_msginit = {
&envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_submsgs[0],
&envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState__fields[0],
UPB_SIZE(8, 16), 1, kUpb_ExtMode_NonExtendable, 1, 255, 0,
};
static const upb_MiniTable *messages_layout[1] = {
&envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_msginit,
};
const upb_MiniTable_File envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_upb_file_layout = {
messages_layout,
NULL,
NULL,
1,
0,
0,
};
#include "upb/port_undef.inc"

@ -1,98 +0,0 @@
/* This file was generated by upbc (the upb compiler) from the input
* file:
*
* envoy/extensions/http/stateful_session/cookie/v3/cookie.proto
*
* Do not edit -- your changes will be discarded when the file is
* regenerated. */
#ifndef ENVOY_EXTENSIONS_HTTP_STATEFUL_SESSION_COOKIE_V3_COOKIE_PROTO_UPB_H_
#define ENVOY_EXTENSIONS_HTTP_STATEFUL_SESSION_COOKIE_V3_COOKIE_PROTO_UPB_H_
#include "upb/msg_internal.h"
#include "upb/decode.h"
#include "upb/decode_fast.h"
#include "upb/encode.h"
#include "upb/port_def.inc"
#ifdef __cplusplus
extern "C" {
#endif
struct envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState;
typedef struct envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState;
extern const upb_MiniTable envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_msginit;
struct envoy_type_http_v3_Cookie;
extern const upb_MiniTable envoy_type_http_v3_Cookie_msginit;
/* envoy.extensions.http.stateful_session.cookie.v3.CookieBasedSessionState */
UPB_INLINE envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState* envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_new(upb_Arena* arena) {
return (envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState*)_upb_Message_New(&envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_msginit, arena);
}
UPB_INLINE envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState* envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_parse(const char* buf, size_t size, upb_Arena* arena) {
envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState* ret = envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_new(arena);
if (!ret) return NULL;
if (upb_Decode(buf, size, ret, &envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_msginit, NULL, 0, arena) != kUpb_DecodeStatus_Ok) {
return NULL;
}
return ret;
}
UPB_INLINE envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState* envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_parse_ex(const char* buf, size_t size,
const upb_ExtensionRegistry* extreg,
int options, upb_Arena* arena) {
envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState* ret = envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_new(arena);
if (!ret) return NULL;
if (upb_Decode(buf, size, ret, &envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_msginit, extreg, options, arena) !=
kUpb_DecodeStatus_Ok) {
return NULL;
}
return ret;
}
UPB_INLINE char* envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_serialize(const envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState* msg, upb_Arena* arena, size_t* len) {
char* ptr;
(void)upb_Encode(msg, &envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_msginit, 0, arena, &ptr, len);
return ptr;
}
UPB_INLINE char* envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_serialize_ex(const envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState* msg, int options,
upb_Arena* arena, size_t* len) {
char* ptr;
(void)upb_Encode(msg, &envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_msginit, options, arena, &ptr, len);
return ptr;
}
UPB_INLINE bool envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_has_cookie(const envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState* msg) {
return _upb_hasbit(msg, 1);
}
UPB_INLINE void envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_clear_cookie(const envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState* msg) {
*UPB_PTR_AT(msg, UPB_SIZE(4, 8), const upb_Message*) = NULL;
}
UPB_INLINE const struct envoy_type_http_v3_Cookie* envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_cookie(const envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState* msg) {
return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct envoy_type_http_v3_Cookie*);
}
UPB_INLINE void envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_set_cookie(envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState *msg, struct envoy_type_http_v3_Cookie* value) {
_upb_sethas(msg, 1);
*UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct envoy_type_http_v3_Cookie*) = value;
}
UPB_INLINE struct envoy_type_http_v3_Cookie* envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_mutable_cookie(envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState* msg, upb_Arena* arena) {
struct envoy_type_http_v3_Cookie* sub = (struct envoy_type_http_v3_Cookie*)envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_cookie(msg);
if (sub == NULL) {
sub = (struct envoy_type_http_v3_Cookie*)_upb_Message_New(&envoy_type_http_v3_Cookie_msginit, arena);
if (!sub) return NULL;
envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_set_cookie(msg, sub);
}
return sub;
}
extern const upb_MiniTable_File envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_upb_file_layout;
#ifdef __cplusplus
} /* extern "C" */
#endif
#include "upb/port_undef.inc"
#endif /* ENVOY_EXTENSIONS_HTTP_STATEFUL_SESSION_COOKIE_V3_COOKIE_PROTO_UPB_H_ */

@ -1,60 +0,0 @@
/* This file was generated by upbc (the upb compiler) from the input
* file:
*
* envoy/extensions/filters/http/stateful_session/v3/stateful_session.proto
*
* Do not edit -- your changes will be discarded when the file is
* regenerated. */
#include "upb/def.h"
#include "envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h"
#include "envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h"
extern _upb_DefPool_Init envoy_config_core_v3_extension_proto_upbdefinit;
extern _upb_DefPool_Init udpa_annotations_status_proto_upbdefinit;
extern _upb_DefPool_Init validate_validate_proto_upbdefinit;
static const char descriptor[733] = {'\n', 'H', 'e', 'n', 'v', 'o', 'y', '/', 'e', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 's', '/', 'f', 'i', 'l', 't', 'e', 'r',
's', '/', 'h', 't', 't', 'p', '/', 's', 't', 'a', 't', 'e', 'f', 'u', 'l', '_', 's', 'e', 's', 's', 'i', 'o', 'n', '/', 'v',
'3', '/', 's', 't', 'a', 't', 'e', 'f', 'u', 'l', '_', 's', 'e', 's', 's', 'i', 'o', 'n', '.', 'p', 'r', 'o', 't', 'o', '\022',
'1', 'e', 'n', 'v', 'o', 'y', '.', 'e', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 's', '.', 'f', 'i', 'l', 't', 'e', 'r', 's',
'.', 'h', 't', 't', 'p', '.', 's', 't', 'a', 't', 'e', 'f', 'u', 'l', '_', 's', 'e', 's', 's', 'i', 'o', 'n', '.', 'v', '3',
'\032', '$', 'e', 'n', 'v', 'o', 'y', '/', 'c', 'o', 'n', 'f', 'i', 'g', '/', 'c', 'o', 'r', 'e', '/', 'v', '3', '/', 'e', 'x',
't', 'e', 'n', 's', 'i', 'o', 'n', '.', 'p', 'r', 'o', 't', 'o', '\032', '\035', 'u', 'd', 'p', 'a', '/', 'a', 'n', 'n', 'o', 't',
'a', 't', 'i', 'o', 'n', 's', '/', 's', 't', 'a', 't', 'u', 's', '.', 'p', 'r', 'o', 't', 'o', '\032', '\027', 'v', 'a', 'l', 'i',
'd', 'a', 't', 'e', '/', 'v', 'a', 'l', 'i', 'd', 'a', 't', 'e', '.', 'p', 'r', 'o', 't', 'o', '\"', 'b', '\n', '\017', 'S', 't',
'a', 't', 'e', 'f', 'u', 'l', 'S', 'e', 's', 's', 'i', 'o', 'n', '\022', 'O', '\n', '\r', 's', 'e', 's', 's', 'i', 'o', 'n', '_',
's', 't', 'a', 't', 'e', '\030', '\001', ' ', '\001', '(', '\013', '2', '*', '.', 'e', 'n', 'v', 'o', 'y', '.', 'c', 'o', 'n', 'f', 'i',
'g', '.', 'c', 'o', 'r', 'e', '.', 'v', '3', '.', 'T', 'y', 'p', 'e', 'd', 'E', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 'C',
'o', 'n', 'f', 'i', 'g', 'R', '\014', 's', 'e', 's', 's', 'i', 'o', 'n', 'S', 't', 'a', 't', 'e', '\"', '\302', '\001', '\n', '\027', 'S',
't', 'a', 't', 'e', 'f', 'u', 'l', 'S', 'e', 's', 's', 'i', 'o', 'n', 'P', 'e', 'r', 'R', 'o', 'u', 't', 'e', '\022', '%', '\n',
'\010', 'd', 'i', 's', 'a', 'b', 'l', 'e', 'd', '\030', '\001', ' ', '\001', '(', '\010', 'B', '\007', '\372', 'B', '\004', 'j', '\002', '\010', '\001', 'H',
'\000', 'R', '\010', 'd', 'i', 's', 'a', 'b', 'l', 'e', 'd', '\022', 'o', '\n', '\020', 's', 't', 'a', 't', 'e', 'f', 'u', 'l', '_', 's',
'e', 's', 's', 'i', 'o', 'n', '\030', '\002', ' ', '\001', '(', '\013', '2', 'B', '.', 'e', 'n', 'v', 'o', 'y', '.', 'e', 'x', 't', 'e',
'n', 's', 'i', 'o', 'n', 's', '.', 'f', 'i', 'l', 't', 'e', 'r', 's', '.', 'h', 't', 't', 'p', '.', 's', 't', 'a', 't', 'e',
'f', 'u', 'l', '_', 's', 'e', 's', 's', 'i', 'o', 'n', '.', 'v', '3', '.', 'S', 't', 'a', 't', 'e', 'f', 'u', 'l', 'S', 'e',
's', 's', 'i', 'o', 'n', 'H', '\000', 'R', '\017', 's', 't', 'a', 't', 'e', 'f', 'u', 'l', 'S', 'e', 's', 's', 'i', 'o', 'n', 'B',
'\017', '\n', '\010', 'o', 'v', 'e', 'r', 'r', 'i', 'd', 'e', '\022', '\003', '\370', 'B', '\001', 'B', '\316', '\001', '\n', '?', 'i', 'o', '.', 'e',
'n', 'v', 'o', 'y', 'p', 'r', 'o', 'x', 'y', '.', 'e', 'n', 'v', 'o', 'y', '.', 'e', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n',
's', '.', 'f', 'i', 'l', 't', 'e', 'r', 's', '.', 'h', 't', 't', 'p', '.', 's', 't', 'a', 't', 'e', 'f', 'u', 'l', '_', 's',
'e', 's', 's', 'i', 'o', 'n', '.', 'v', '3', 'B', '\024', 'S', 't', 'a', 't', 'e', 'f', 'u', 'l', 'S', 'e', 's', 's', 'i', 'o',
'n', 'P', 'r', 'o', 't', 'o', 'P', '\001', 'Z', 'k', 'g', 'i', 't', 'h', 'u', 'b', '.', 'c', 'o', 'm', '/', 'e', 'n', 'v', 'o',
'y', 'p', 'r', 'o', 'x', 'y', '/', 'g', 'o', '-', 'c', 'o', 'n', 't', 'r', 'o', 'l', '-', 'p', 'l', 'a', 'n', 'e', '/', 'e',
'n', 'v', 'o', 'y', '/', 'e', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 's', '/', 'f', 'i', 'l', 't', 'e', 'r', 's', '/', 'h',
't', 't', 'p', '/', 's', 't', 'a', 't', 'e', 'f', 'u', 'l', '_', 's', 'e', 's', 's', 'i', 'o', 'n', '/', 'v', '3', ';', 's',
't', 'a', 't', 'e', 'f', 'u', 'l', '_', 's', 'e', 's', 's', 'i', 'o', 'n', 'v', '3', '\272', '\200', '\310', '\321', '\006', '\002', '\020', '\002',
'b', '\006', 'p', 'r', 'o', 't', 'o', '3',
};
static _upb_DefPool_Init *deps[4] = {
&envoy_config_core_v3_extension_proto_upbdefinit,
&udpa_annotations_status_proto_upbdefinit,
&validate_validate_proto_upbdefinit,
NULL
};
_upb_DefPool_Init envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_upbdefinit = {
deps,
&envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_upb_file_layout,
"envoy/extensions/filters/http/stateful_session/v3/stateful_session.proto",
UPB_STRINGVIEW_INIT(descriptor, 733)
};

@ -1,40 +0,0 @@
/* This file was generated by upbc (the upb compiler) from the input
* file:
*
* envoy/extensions/filters/http/stateful_session/v3/stateful_session.proto
*
* Do not edit -- your changes will be discarded when the file is
* regenerated. */
#ifndef ENVOY_EXTENSIONS_FILTERS_HTTP_STATEFUL_SESSION_V3_STATEFUL_SESSION_PROTO_UPBDEFS_H_
#define ENVOY_EXTENSIONS_FILTERS_HTTP_STATEFUL_SESSION_V3_STATEFUL_SESSION_PROTO_UPBDEFS_H_
#include "upb/def.h"
#include "upb/port_def.inc"
#ifdef __cplusplus
extern "C" {
#endif
#include "upb/def.h"
#include "upb/port_def.inc"
extern _upb_DefPool_Init envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_upbdefinit;
UPB_INLINE const upb_MessageDef *envoy_extensions_filters_http_stateful_session_v3_StatefulSession_getmsgdef(upb_DefPool *s) {
_upb_DefPool_LoadDefInit(s, &envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_upbdefinit);
return upb_DefPool_FindMessageByName(s, "envoy.extensions.filters.http.stateful_session.v3.StatefulSession");
}
UPB_INLINE const upb_MessageDef *envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_getmsgdef(upb_DefPool *s) {
_upb_DefPool_LoadDefInit(s, &envoy_extensions_filters_http_stateful_session_v3_stateful_session_proto_upbdefinit);
return upb_DefPool_FindMessageByName(s, "envoy.extensions.filters.http.stateful_session.v3.StatefulSessionPerRoute");
}
#ifdef __cplusplus
} /* extern "C" */
#endif
#include "upb/port_undef.inc"
#endif /* ENVOY_EXTENSIONS_FILTERS_HTTP_STATEFUL_SESSION_V3_STATEFUL_SESSION_PROTO_UPBDEFS_H_ */

@ -1,50 +0,0 @@
/* This file was generated by upbc (the upb compiler) from the input
* file:
*
* envoy/extensions/http/stateful_session/cookie/v3/cookie.proto
*
* Do not edit -- your changes will be discarded when the file is
* regenerated. */
#include "upb/def.h"
#include "envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h"
#include "envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h"
extern _upb_DefPool_Init envoy_type_http_v3_cookie_proto_upbdefinit;
extern _upb_DefPool_Init udpa_annotations_status_proto_upbdefinit;
extern _upb_DefPool_Init validate_validate_proto_upbdefinit;
static const char descriptor[487] = {'\n', '=', 'e', 'n', 'v', 'o', 'y', '/', 'e', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 's', '/', 'h', 't', 't', 'p', '/', 's',
't', 'a', 't', 'e', 'f', 'u', 'l', '_', 's', 'e', 's', 's', 'i', 'o', 'n', '/', 'c', 'o', 'o', 'k', 'i', 'e', '/', 'v', '3',
'/', 'c', 'o', 'o', 'k', 'i', 'e', '.', 'p', 'r', 'o', 't', 'o', '\022', '0', 'e', 'n', 'v', 'o', 'y', '.', 'e', 'x', 't', 'e',
'n', 's', 'i', 'o', 'n', 's', '.', 'h', 't', 't', 'p', '.', 's', 't', 'a', 't', 'e', 'f', 'u', 'l', '_', 's', 'e', 's', 's',
'i', 'o', 'n', '.', 'c', 'o', 'o', 'k', 'i', 'e', '.', 'v', '3', '\032', '\037', 'e', 'n', 'v', 'o', 'y', '/', 't', 'y', 'p', 'e',
'/', 'h', 't', 't', 'p', '/', 'v', '3', '/', 'c', 'o', 'o', 'k', 'i', 'e', '.', 'p', 'r', 'o', 't', 'o', '\032', '\035', 'u', 'd',
'p', 'a', '/', 'a', 'n', 'n', 'o', 't', 'a', 't', 'i', 'o', 'n', 's', '/', 's', 't', 'a', 't', 'u', 's', '.', 'p', 'r', 'o',
't', 'o', '\032', '\027', 'v', 'a', 'l', 'i', 'd', 'a', 't', 'e', '/', 'v', 'a', 'l', 'i', 'd', 'a', 't', 'e', '.', 'p', 'r', 'o',
't', 'o', '\"', 'W', '\n', '\027', 'C', 'o', 'o', 'k', 'i', 'e', 'B', 'a', 's', 'e', 'd', 'S', 'e', 's', 's', 'i', 'o', 'n', 'S',
't', 'a', 't', 'e', '\022', '<', '\n', '\006', 'c', 'o', 'o', 'k', 'i', 'e', '\030', '\001', ' ', '\001', '(', '\013', '2', '\032', '.', 'e', 'n',
'v', 'o', 'y', '.', 't', 'y', 'p', 'e', '.', 'h', 't', 't', 'p', '.', 'v', '3', '.', 'C', 'o', 'o', 'k', 'i', 'e', 'B', '\010',
'\372', 'B', '\005', '\212', '\001', '\002', '\020', '\001', 'R', '\006', 'c', 'o', 'o', 'k', 'i', 'e', 'B', '\271', '\001', '\n', '>', 'i', 'o', '.', 'e',
'n', 'v', 'o', 'y', 'p', 'r', 'o', 'x', 'y', '.', 'e', 'n', 'v', 'o', 'y', '.', 'e', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n',
's', '.', 'h', 't', 't', 'p', '.', 's', 't', 'a', 't', 'e', 'f', 'u', 'l', '_', 's', 'e', 's', 's', 'i', 'o', 'n', '.', 'c',
'o', 'o', 'k', 'i', 'e', '.', 'v', '3', 'B', '\013', 'C', 'o', 'o', 'k', 'i', 'e', 'P', 'r', 'o', 't', 'o', 'P', '\001', 'Z', '`',
'g', 'i', 't', 'h', 'u', 'b', '.', 'c', 'o', 'm', '/', 'e', 'n', 'v', 'o', 'y', 'p', 'r', 'o', 'x', 'y', '/', 'g', 'o', '-',
'c', 'o', 'n', 't', 'r', 'o', 'l', '-', 'p', 'l', 'a', 'n', 'e', '/', 'e', 'n', 'v', 'o', 'y', '/', 'e', 'x', 't', 'e', 'n',
's', 'i', 'o', 'n', 's', '/', 'h', 't', 't', 'p', '/', 's', 't', 'a', 't', 'e', 'f', 'u', 'l', '_', 's', 'e', 's', 's', 'i',
'o', 'n', '/', 'c', 'o', 'o', 'k', 'i', 'e', '/', 'v', '3', ';', 'c', 'o', 'o', 'k', 'i', 'e', 'v', '3', '\272', '\200', '\310', '\321',
'\006', '\002', '\020', '\002', 'b', '\006', 'p', 'r', 'o', 't', 'o', '3',
};
static _upb_DefPool_Init *deps[4] = {
&envoy_type_http_v3_cookie_proto_upbdefinit,
&udpa_annotations_status_proto_upbdefinit,
&validate_validate_proto_upbdefinit,
NULL
};
_upb_DefPool_Init envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_upbdefinit = {
deps,
&envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_upb_file_layout,
"envoy/extensions/http/stateful_session/cookie/v3/cookie.proto",
UPB_STRINGVIEW_INIT(descriptor, 487)
};

@ -1,35 +0,0 @@
/* This file was generated by upbc (the upb compiler) from the input
* file:
*
* envoy/extensions/http/stateful_session/cookie/v3/cookie.proto
*
* Do not edit -- your changes will be discarded when the file is
* regenerated. */
#ifndef ENVOY_EXTENSIONS_HTTP_STATEFUL_SESSION_COOKIE_V3_COOKIE_PROTO_UPBDEFS_H_
#define ENVOY_EXTENSIONS_HTTP_STATEFUL_SESSION_COOKIE_V3_COOKIE_PROTO_UPBDEFS_H_
#include "upb/def.h"
#include "upb/port_def.inc"
#ifdef __cplusplus
extern "C" {
#endif
#include "upb/def.h"
#include "upb/port_def.inc"
extern _upb_DefPool_Init envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_upbdefinit;
UPB_INLINE const upb_MessageDef *envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_getmsgdef(upb_DefPool *s) {
_upb_DefPool_LoadDefInit(s, &envoy_extensions_http_stateful_session_cookie_v3_cookie_proto_upbdefinit);
return upb_DefPool_FindMessageByName(s, "envoy.extensions.http.stateful_session.cookie.v3.CookieBasedSessionState");
}
#ifdef __cplusplus
} /* extern "C" */
#endif
#include "upb/port_undef.inc"
#endif /* ENVOY_EXTENSIONS_HTTP_STATEFUL_SESSION_COOKIE_V3_COOKIE_PROTO_UPBDEFS_H_ */

@ -74,15 +74,6 @@ bool XdsCustomLbPolicyEnabled() {
return parse_succeeded && parsed_value;
}
// TODO(eostroukhov): Remove once this feature is no longer experimental.
bool XdsHostOverrideEnabled() {
auto value = GetEnv("GRPC_EXPERIMENTAL_XDS_ENABLE_HOST_OVERRIDE");
if (!value.has_value()) return false;
bool parsed_value;
bool parse_succeeded = gpr_parse_bool_value(value->c_str(), &parsed_value);
return parse_succeeded && parsed_value;
}
//
// XdsClusterResource
//

@ -45,7 +45,6 @@
namespace grpc_core {
bool XdsCustomLbPolicyEnabled();
bool XdsHostOverrideEnabled();
struct XdsClusterResource : public XdsResourceType::ResourceData {
enum ClusterType { EDS, LOGICAL_DNS, AGGREGATE };

@ -85,8 +85,8 @@ void XdsHttpFaultFilter::PopulateSymtab(upb_DefPool* symtab) const {
}
absl::optional<XdsHttpFilterImpl::FilterConfig>
XdsHttpFaultFilter::GenerateFilterConfig(
const XdsResourceType::DecodeContext& context, XdsExtension extension,
XdsHttpFaultFilter::GenerateFilterConfig(XdsExtension extension,
upb_Arena* arena,
ValidationErrors* errors) const {
absl::string_view* serialized_filter_config =
absl::get_if<absl::string_view>(&extension.value);
@ -96,7 +96,7 @@ XdsHttpFaultFilter::GenerateFilterConfig(
}
auto* http_fault = envoy_extensions_filters_http_fault_v3_HTTPFault_parse(
serialized_filter_config->data(), serialized_filter_config->size(),
context.arena);
arena);
if (http_fault == nullptr) {
errors->AddError("could not parse fault injection filter config");
return absl::nullopt;
@ -206,11 +206,10 @@ XdsHttpFaultFilter::GenerateFilterConfig(
absl::optional<XdsHttpFilterImpl::FilterConfig>
XdsHttpFaultFilter::GenerateFilterConfigOverride(
const XdsResourceType::DecodeContext& context, XdsExtension extension,
ValidationErrors* errors) const {
XdsExtension extension, upb_Arena* arena, ValidationErrors* errors) const {
// HTTPFault filter has the same message type in HTTP connection manager's
// filter config and in overriding filter config field.
return GenerateFilterConfig(context, std::move(extension), errors);
return GenerateFilterConfig(std::move(extension), arena, errors);
}
const grpc_channel_filter* XdsHttpFaultFilter::channel_filter() const {

@ -39,10 +39,10 @@ class XdsHttpFaultFilter : public XdsHttpFilterImpl {
absl::string_view OverrideConfigProtoName() const override;
void PopulateSymtab(upb_DefPool* symtab) const override;
absl::optional<FilterConfig> GenerateFilterConfig(
const XdsResourceType::DecodeContext& context, XdsExtension extension,
XdsExtension extension, upb_Arena* arena,
ValidationErrors* errors) const override;
absl::optional<FilterConfig> GenerateFilterConfigOverride(
const XdsResourceType::DecodeContext& context, XdsExtension extension,
XdsExtension extension, upb_Arena* arena,
ValidationErrors* errors) const override;
const grpc_channel_filter* channel_filter() const override;
ChannelArgs ModifyChannelArgs(const ChannelArgs& args) const override;

@ -29,10 +29,8 @@
#include <grpc/support/log.h>
#include "src/core/ext/xds/xds_cluster.h"
#include "src/core/ext/xds/xds_http_fault_filter.h"
#include "src/core/ext/xds/xds_http_rbac_filter.h"
#include "src/core/ext/xds/xds_http_stateful_session_filter.h"
namespace grpc_core {
@ -53,8 +51,8 @@ void XdsHttpRouterFilter::PopulateSymtab(upb_DefPool* symtab) const {
}
absl::optional<XdsHttpFilterImpl::FilterConfig>
XdsHttpRouterFilter::GenerateFilterConfig(
const XdsResourceType::DecodeContext& context, XdsExtension extension,
XdsHttpRouterFilter::GenerateFilterConfig(XdsExtension extension,
upb_Arena* arena,
ValidationErrors* errors) const {
absl::string_view* serialized_filter_config =
absl::get_if<absl::string_view>(&extension.value);
@ -64,7 +62,7 @@ XdsHttpRouterFilter::GenerateFilterConfig(
}
if (envoy_extensions_filters_http_router_v3_Router_parse(
serialized_filter_config->data(), serialized_filter_config->size(),
context.arena) == nullptr) {
arena) == nullptr) {
errors->AddError("could not parse router filter config");
return absl::nullopt;
}
@ -73,8 +71,8 @@ XdsHttpRouterFilter::GenerateFilterConfig(
absl::optional<XdsHttpFilterImpl::FilterConfig>
XdsHttpRouterFilter::GenerateFilterConfigOverride(
const XdsResourceType::DecodeContext& /*context*/,
XdsExtension /*extension*/, ValidationErrors* errors) const {
XdsExtension /*extension*/, upb_Arena* /*arena*/,
ValidationErrors* errors) const {
errors->AddError("router filter does not support config override");
return absl::nullopt;
}
@ -88,9 +86,6 @@ XdsHttpFilterRegistry::XdsHttpFilterRegistry(bool register_builtins) {
RegisterFilter(std::make_unique<XdsHttpRouterFilter>());
RegisterFilter(std::make_unique<XdsHttpFaultFilter>());
RegisterFilter(std::make_unique<XdsHttpRbacFilter>());
if (XdsHostOverrideEnabled()) {
RegisterFilter(std::make_unique<XdsHttpStatefulSessionFilter>());
}
}
}

@ -34,7 +34,6 @@
#include "upb/def.h"
#include "src/core/ext/xds/xds_common_types.h"
#include "src/core/ext/xds/xds_resource_type.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/channel_fwd.h"
#include "src/core/lib/gprpp/validation_errors.h"
@ -86,13 +85,13 @@ class XdsHttpFilterImpl {
// Generates a Config from the xDS filter config proto.
// Used for the top-level config in the HCM HTTP filter list.
virtual absl::optional<FilterConfig> GenerateFilterConfig(
const XdsResourceType::DecodeContext& context, XdsExtension extension,
XdsExtension extension, upb_Arena* arena,
ValidationErrors* errors) const = 0;
// Generates a Config from the xDS filter config proto.
// Used for the typed_per_filter_config override in VirtualHost and Route.
virtual absl::optional<FilterConfig> GenerateFilterConfigOverride(
const XdsResourceType::DecodeContext& context, XdsExtension extension,
XdsExtension extension, upb_Arena* arena,
ValidationErrors* errors) const = 0;
// C-core channel filter implementation.
@ -130,10 +129,10 @@ class XdsHttpRouterFilter : public XdsHttpFilterImpl {
absl::string_view OverrideConfigProtoName() const override;
void PopulateSymtab(upb_DefPool* symtab) const override;
absl::optional<FilterConfig> GenerateFilterConfig(
const XdsResourceType::DecodeContext& context, XdsExtension extension,
XdsExtension extension, upb_Arena* arena,
ValidationErrors* errors) const override;
absl::optional<FilterConfig> GenerateFilterConfigOverride(
const XdsResourceType::DecodeContext& context, XdsExtension extension,
XdsExtension extension, upb_Arena* arena,
ValidationErrors* errors) const override;
const grpc_channel_filter* channel_filter() const override { return nullptr; }
absl::StatusOr<ServiceConfigJsonEntry> GenerateServiceConfig(

@ -434,8 +434,8 @@ void XdsHttpRbacFilter::PopulateSymtab(upb_DefPool* symtab) const {
}
absl::optional<XdsHttpFilterImpl::FilterConfig>
XdsHttpRbacFilter::GenerateFilterConfig(
const XdsResourceType::DecodeContext& context, XdsExtension extension,
XdsHttpRbacFilter::GenerateFilterConfig(XdsExtension extension,
upb_Arena* arena,
ValidationErrors* errors) const {
absl::string_view* serialized_filter_config =
absl::get_if<absl::string_view>(&extension.value);
@ -445,7 +445,7 @@ XdsHttpRbacFilter::GenerateFilterConfig(
}
auto* rbac = envoy_extensions_filters_http_rbac_v3_RBAC_parse(
serialized_filter_config->data(), serialized_filter_config->size(),
context.arena);
arena);
if (rbac == nullptr) {
errors->AddError("could not parse HTTP RBAC filter config");
return absl::nullopt;
@ -455,8 +455,7 @@ XdsHttpRbacFilter::GenerateFilterConfig(
absl::optional<XdsHttpFilterImpl::FilterConfig>
XdsHttpRbacFilter::GenerateFilterConfigOverride(
const XdsResourceType::DecodeContext& context, XdsExtension extension,
ValidationErrors* errors) const {
XdsExtension extension, upb_Arena* arena, ValidationErrors* errors) const {
absl::string_view* serialized_filter_config =
absl::get_if<absl::string_view>(&extension.value);
if (serialized_filter_config == nullptr) {
@ -466,7 +465,7 @@ XdsHttpRbacFilter::GenerateFilterConfigOverride(
auto* rbac_per_route =
envoy_extensions_filters_http_rbac_v3_RBACPerRoute_parse(
serialized_filter_config->data(), serialized_filter_config->size(),
context.arena);
arena);
if (rbac_per_route == nullptr) {
errors->AddError("could not parse RBACPerRoute");
return absl::nullopt;

@ -39,10 +39,10 @@ class XdsHttpRbacFilter : public XdsHttpFilterImpl {
absl::string_view OverrideConfigProtoName() const override;
void PopulateSymtab(upb_DefPool* symtab) const override;
absl::optional<FilterConfig> GenerateFilterConfig(
const XdsResourceType::DecodeContext& context, XdsExtension extension,
XdsExtension extension, upb_Arena* arena,
ValidationErrors* errors) const override;
absl::optional<FilterConfig> GenerateFilterConfigOverride(
const XdsResourceType::DecodeContext& context, XdsExtension extension,
XdsExtension extension, upb_Arena* arena,
ValidationErrors* errors) const override;
const grpc_channel_filter* channel_filter() const override;
ChannelArgs ModifyChannelArgs(const ChannelArgs& args) const override;

@ -1,227 +0,0 @@
//
// Copyright 2022 gRPC authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
#include <grpc/support/port_platform.h>
#include "src/core/ext/xds/xds_http_stateful_session_filter.h"
#include <stdint.h>
#include <string>
#include <utility>
#include "absl/status/statusor.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
#include "absl/types/variant.h"
#include "envoy/config/core/v3/extension.upb.h"
#include "envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h"
#include "envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h"
#include "envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h"
#include "envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h"
#include "envoy/type/http/v3/cookie.upb.h"
#include "envoy/type/v3/percent.upb.h"
#include "google/protobuf/wrappers.upb.h"
#include "upb/def.h"
#include <grpc/status.h>
#include "src/core/ext/filters/stateful_session/stateful_session_filter.h"
#include "src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h"
#include "src/core/ext/xds/upb_utils.h"
#include "src/core/ext/xds/xds_common_types.h"
#include "src/core/ext/xds/xds_http_filters.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/status_util.h"
#include "src/core/lib/gprpp/time.h"
#include "src/core/lib/gprpp/validation_errors.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/transport/status_conversion.h"
namespace grpc_core {
absl::string_view XdsHttpStatefulSessionFilter::ConfigProtoName() const {
return "envoy.extensions.filters.http.stateful_session.v3.StatefulSession";
}
absl::string_view XdsHttpStatefulSessionFilter::OverrideConfigProtoName()
const {
return "envoy.extensions.filters.http.stateful_session.v3"
".StatefulSessionPerRoute";
}
void XdsHttpStatefulSessionFilter::PopulateSymtab(upb_DefPool* symtab) const {
envoy_extensions_filters_http_stateful_session_v3_StatefulSession_getmsgdef(
symtab);
envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_getmsgdef(
symtab);
envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_getmsgdef(
symtab);
}
namespace {
Json::Object ValidateStatefulSession(
const XdsResourceType::DecodeContext& context,
const envoy_extensions_filters_http_stateful_session_v3_StatefulSession*
stateful_session,
ValidationErrors* errors) {
ValidationErrors::ScopedField field(errors, ".session_state");
const auto* session_state =
envoy_extensions_filters_http_stateful_session_v3_StatefulSession_session_state(
stateful_session);
if (session_state == nullptr) {
errors->AddError("field not present");
return {};
}
ValidationErrors::ScopedField field2(errors, ".typed_config");
const auto* typed_config =
envoy_config_core_v3_TypedExtensionConfig_typed_config(session_state);
auto extension = ExtractXdsExtension(context, typed_config, errors);
if (!extension.has_value()) return {};
if (extension->type !=
"envoy.extensions.http.stateful_session.cookie.v3"
".CookieBasedSessionState") {
errors->AddError("unsupported session state type");
return {};
}
absl::string_view* serialized_session_state =
absl::get_if<absl::string_view>(&extension->value);
if (serialized_session_state == nullptr) {
errors->AddError("could not parse session state config");
return {};
}
auto* cookie_state =
envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_parse(
serialized_session_state->data(), serialized_session_state->size(),
context.arena);
if (cookie_state == nullptr) {
errors->AddError("could not parse session state config");
return {};
}
ValidationErrors::ScopedField field3(errors, ".cookie");
const auto* cookie =
envoy_extensions_http_stateful_session_cookie_v3_CookieBasedSessionState_cookie(
cookie_state);
if (cookie == nullptr) {
errors->AddError("field not present");
return {};
}
Json::Object cookie_config;
// name
std::string cookie_name =
UpbStringToStdString(envoy_type_http_v3_Cookie_name(cookie));
if (cookie_name.empty()) {
ValidationErrors::ScopedField field(errors, ".name");
errors->AddError("field not present");
}
cookie_config["name"] = std::move(cookie_name);
// ttl
{
ValidationErrors::ScopedField field(errors, ".ttl");
const auto* duration = envoy_type_http_v3_Cookie_ttl(cookie);
if (duration != nullptr) {
Duration ttl = ParseDuration(duration, errors);
cookie_config["ttl"] = ttl.ToJsonString();
}
}
// path
std::string path =
UpbStringToStdString(envoy_type_http_v3_Cookie_path(cookie));
if (!path.empty()) cookie_config["path"] = std::move(path);
return cookie_config;
}
} // namespace
absl::optional<XdsHttpFilterImpl::FilterConfig>
XdsHttpStatefulSessionFilter::GenerateFilterConfig(
const XdsResourceType::DecodeContext& context, XdsExtension extension,
ValidationErrors* errors) const {
absl::string_view* serialized_filter_config =
absl::get_if<absl::string_view>(&extension.value);
if (serialized_filter_config == nullptr) {
errors->AddError("could not parse stateful session filter config");
return absl::nullopt;
}
auto* stateful_session =
envoy_extensions_filters_http_stateful_session_v3_StatefulSession_parse(
serialized_filter_config->data(), serialized_filter_config->size(),
context.arena);
if (stateful_session == nullptr) {
errors->AddError("could not parse stateful session filter config");
return absl::nullopt;
}
return FilterConfig{
ConfigProtoName(),
ValidateStatefulSession(context, stateful_session, errors)};
}
absl::optional<XdsHttpFilterImpl::FilterConfig>
XdsHttpStatefulSessionFilter::GenerateFilterConfigOverride(
const XdsResourceType::DecodeContext& context, XdsExtension extension,
ValidationErrors* errors) const {
absl::string_view* serialized_filter_config =
absl::get_if<absl::string_view>(&extension.value);
if (serialized_filter_config == nullptr) {
errors->AddError("could not parse stateful session filter override config");
return absl::nullopt;
}
auto* stateful_session_per_route =
envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_parse(
serialized_filter_config->data(), serialized_filter_config->size(),
context.arena);
if (stateful_session_per_route == nullptr) {
errors->AddError("could not parse stateful session filter override config");
return absl::nullopt;
}
Json::Object config;
if (!envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_disabled(
stateful_session_per_route)) {
ValidationErrors::ScopedField field(errors, ".stateful_session");
const auto* stateful_session =
envoy_extensions_filters_http_stateful_session_v3_StatefulSessionPerRoute_stateful_session(
stateful_session_per_route);
if (stateful_session == nullptr) {
errors->AddError("field not present");
} else {
config = ValidateStatefulSession(context, stateful_session, errors);
}
}
return FilterConfig{OverrideConfigProtoName(), Json(std::move(config))};
}
const grpc_channel_filter* XdsHttpStatefulSessionFilter::channel_filter()
const {
return &StatefulSessionFilter::kFilter;
}
ChannelArgs XdsHttpStatefulSessionFilter::ModifyChannelArgs(
const ChannelArgs& args) const {
return args.Set(GRPC_ARG_PARSE_STATEFUL_SESSION_METHOD_CONFIG, 1);
}
absl::StatusOr<XdsHttpFilterImpl::ServiceConfigJsonEntry>
XdsHttpStatefulSessionFilter::GenerateServiceConfig(
const FilterConfig& hcm_filter_config,
const FilterConfig* filter_config_override) const {
Json config = filter_config_override != nullptr
? filter_config_override->config
: hcm_filter_config.config;
return ServiceConfigJsonEntry{"stateful_session", config.Dump()};
}
} // namespace grpc_core

@ -1,58 +0,0 @@
//
// Copyright 2022 gRPC authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
#ifndef GRPC_CORE_EXT_XDS_XDS_HTTP_STATEFUL_SESSION_FILTER_H
#define GRPC_CORE_EXT_XDS_XDS_HTTP_STATEFUL_SESSION_FILTER_H
#include <grpc/support/port_platform.h>
#include "absl/status/statusor.h"
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include "upb/arena.h"
#include "upb/def.h"
#include "src/core/ext/xds/xds_common_types.h"
#include "src/core/ext/xds/xds_http_filters.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/channel_fwd.h"
#include "src/core/lib/gprpp/validation_errors.h"
namespace grpc_core {
class XdsHttpStatefulSessionFilter : public XdsHttpFilterImpl {
public:
absl::string_view ConfigProtoName() const override;
absl::string_view OverrideConfigProtoName() const override;
void PopulateSymtab(upb_DefPool* symtab) const override;
absl::optional<FilterConfig> GenerateFilterConfig(
const XdsResourceType::DecodeContext& context, XdsExtension extension,
ValidationErrors* errors) const override;
absl::optional<FilterConfig> GenerateFilterConfigOverride(
const XdsResourceType::DecodeContext& context, XdsExtension extension,
ValidationErrors* errors) const override;
const grpc_channel_filter* channel_filter() const override;
ChannelArgs ModifyChannelArgs(const ChannelArgs& args) const override;
absl::StatusOr<ServiceConfigJsonEntry> GenerateServiceConfig(
const FilterConfig& hcm_filter_config,
const FilterConfig* filter_config_override) const override;
bool IsSupportedOnClients() const override { return true; }
bool IsSupportedOnServers() const override { return false; }
};
} // namespace grpc_core
#endif // GRPC_CORE_EXT_XDS_XDS_HTTP_STATEFUL_SESSION_FILTER_H

@ -208,6 +208,10 @@ Json::Array XdsLbPolicyRegistry::ConvertXdsLbPolicyConfig(
const auto* typed_config =
envoy_config_core_v3_TypedExtensionConfig_typed_config(
typed_extension_config);
if (typed_config == nullptr) {
errors->AddError("field not present");
return {};
}
auto extension = ExtractXdsExtension(context, typed_config, errors);
if (!extension.has_value()) return {};
// Check for registered LB policy type.

@ -411,8 +411,8 @@ XdsListenerResource::HttpConnectionManager HttpConnectionManagerParse(
continue;
}
absl::optional<XdsHttpFilterImpl::FilterConfig> filter_config =
filter_impl->GenerateFilterConfig(context, std::move(*extension),
errors);
filter_impl->GenerateFilterConfig(std::move(*extension),
context.arena, errors);
if (filter_config.has_value()) {
http_connection_manager.http_filters.emplace_back(
XdsListenerResource::HttpConnectionManager::HttpFilter{

@ -620,8 +620,8 @@ XdsRouteConfigResource::TypedPerFilterConfig ParseTypedPerFilterConfig(
continue;
}
absl::optional<XdsHttpFilterImpl::FilterConfig> filter_config =
filter_impl->GenerateFilterConfigOverride(
context, std::move(*extension_to_use), errors);
filter_impl->GenerateFilterConfigOverride(std::move(*extension_to_use),
context.arena, errors);
if (filter_config.has_value()) {
typed_per_filter_config[std::string(key)] = std::move(*filter_config);
}

@ -419,34 +419,6 @@ grpc_proto_library(
well_known_protos = True,
)
grpc_proto_library(
name = "cookie_proto",
srcs = [
"cookie.proto",
],
well_known_protos = True,
)
grpc_proto_library(
name = "stateful_session_cookie_proto",
srcs = [
"stateful_session_cookie.proto",
],
deps = [
"cookie_proto",
],
)
grpc_proto_library(
name = "stateful_session_proto",
srcs = [
"stateful_session.proto",
],
deps = [
"extension_proto",
],
)
py_proto_library(
name = "csds_py_pb2",
deps = [":_csds_proto_only"],

@ -1,38 +0,0 @@
// Copyright 2022 gRPC authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Local copy of Envoy xDS proto file, used for testing only.
syntax = "proto3";
package envoy.type.http.v3;
import "google/protobuf/duration.proto";
// [#protodoc-title: Http cookie API]
// Cookie defines an API for obtaining or generating HTTP cookie.
message Cookie {
// The name that will be used to obtain cookie value from downstream HTTP request or generate
// new cookie for downstream.
string name = 1;
// Duration of cookie. This will be used to set the expiry time of a new cookie when it is
// generated. Set this to 0 to use a session cookie.
google.protobuf.Duration ttl = 2;
// Path of cookie. This will be used to set the path of a new cookie when it is generated.
// If no path is specified here, no path will be set for the cookie.
string path = 3;
}

@ -1,44 +0,0 @@
// Copyright 2022 gRPC authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Local copy of Envoy xDS proto file, used for testing only.
syntax = "proto3";
package envoy.extensions.filters.http.stateful_session.v3;
import "src/proto/grpc/testing/xds/v3/extension.proto";
// [#protodoc-title: Stateful session filter]
// Stateful session :ref:`configuration overview <config_http_filters_stateful_session>`.
// [#extension: envoy.filters.http.stateful_session]
message StatefulSession {
// Specific implementation of session state. This session state will be used to store and
// get address of the upstream host to which the session is assigned.
//
// [#extension-category: envoy.http.stateful_session]
config.core.v3.TypedExtensionConfig session_state = 1;
}
message StatefulSessionPerRoute {
oneof override {
// Disable the stateful session filter for this particular vhost or route. If disabled is
// specified in multiple per-filter-configs, the most specific one will be used.
bool disabled = 1;
// Per-route stateful session configuration that can be served by RDS or static route table.
StatefulSession stateful_session = 2;
}
}

@ -1,50 +0,0 @@
// Copyright 2022 gRPC authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Local copy of Envoy xDS proto file, used for testing only.
syntax = "proto3";
package envoy.extensions.http.stateful_session.cookie.v3;
import "src/proto/grpc/testing/xds/v3/cookie.proto";
// [#protodoc-title: Cookie based stateful session extension]
// This extension allows the session state to be tracked via cookies.
//
// This extension first encodes the address of the upstream host selected by the load balancer
// into a ``set-cookie`` response header with the :ref:`cookie configuration
// <envoy_v3_api_field_extensions.http.stateful_session.cookie.v3.CookieBasedSessionState.cookie>`.
// when new requests are incoming, this extension will try to parse the specific upstream host
// address by the cookie name. If the address parsed from the cookie corresponds to a valid
// upstream host, this upstream host will be selected first. See :ref:`stateful session filter
// <envoy_v3_api_msg_extensions.filters.http.stateful_session.v3.StatefulSession>`.
//
// For example, if the cookie name is set to ``sticky-host``, envoy will prefer ``1.2.3.4:80``
// as the upstream host when the request contains the following header:
//
// .. code-block:: none
//
// cookie: sticky-host="MS4yLjMuNDo4MA=="
//
// When processing the upstream response, if ``1.2.3.4:80`` is indeed the final choice the extension
// does nothing. If ``1.2.3.4:80`` is not the final choice, the new selected host will be used to
// update the cookie (via the ``set-cookie`` response header).
//
// [#extension: envoy.http.stateful_session.cookie]
message CookieBasedSessionState {
// The cookie configuration used to track session state.
type.http.v3.Cookie cookie = 1;
}

@ -186,9 +186,7 @@ CORE_SOURCE_FILES = [
'src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c',
'src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c',
'src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c',
'src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c',
'src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c',
'src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c',
'src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c',
'src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c',
@ -335,9 +333,7 @@ CORE_SOURCE_FILES = [
'src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c',
'src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c',
'src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c',
'src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c',
'src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c',
'src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c',
@ -423,7 +419,6 @@ CORE_SOURCE_FILES = [
'src/core/ext/xds/xds_http_fault_filter.cc',
'src/core/ext/xds/xds_http_filters.cc',
'src/core/ext/xds/xds_http_rbac_filter.cc',
'src/core/ext/xds/xds_http_stateful_session_filter.cc',
'src/core/ext/xds/xds_lb_policy_registry.cc',
'src/core/ext/xds/xds_listener.cc',
'src/core/ext/xds/xds_route_config.cc',

@ -219,9 +219,6 @@ grpc_cc_test(
"//src/proto/grpc/testing/xds/v3:fault_proto",
"//src/proto/grpc/testing/xds/v3:http_filter_rbac_proto",
"//src/proto/grpc/testing/xds/v3:router_proto",
"//src/proto/grpc/testing/xds/v3:stateful_session_cookie_proto",
"//src/proto/grpc/testing/xds/v3:stateful_session_proto",
"//src/proto/grpc/testing/xds/v3:typed_struct_proto",
"//test/core/util:grpc_test_util",
"//test/cpp/util:grpc_cli_utils",
],

@ -29,7 +29,6 @@
#include "absl/strings/strip.h"
#include "absl/types/variant.h"
#include "gtest/gtest.h"
#include "upb/def.hpp"
#include "upb/upb.hpp"
#include <grpc/grpc.h>
@ -41,10 +40,6 @@
#include "src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h"
#include "src/core/ext/filters/rbac/rbac_filter.h"
#include "src/core/ext/filters/rbac/rbac_service_config_parser.h"
#include "src/core/ext/filters/stateful_session/stateful_session_filter.h"
#include "src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h"
#include "src/core/ext/xds/xds_bootstrap_grpc.h"
#include "src/core/lib/gprpp/env.h"
#include "src/proto/grpc/testing/xds/v3/address.pb.h"
#include "src/proto/grpc/testing/xds/v3/fault.pb.h"
#include "src/proto/grpc/testing/xds/v3/fault_common.pb.h"
@ -57,10 +52,7 @@
#include "src/proto/grpc/testing/xds/v3/regex.pb.h"
#include "src/proto/grpc/testing/xds/v3/route.pb.h"
#include "src/proto/grpc/testing/xds/v3/router.pb.h"
#include "src/proto/grpc/testing/xds/v3/stateful_session.pb.h"
#include "src/proto/grpc/testing/xds/v3/stateful_session_cookie.pb.h"
#include "src/proto/grpc/testing/xds/v3/string.pb.h"
#include "src/proto/grpc/testing/xds/v3/typed_struct.pb.h"
#include "test/core/util/test_config.h"
// IWYU pragma: no_include <google/protobuf/message.h>
@ -73,11 +65,6 @@ using ::envoy::extensions::filters::http::fault::v3::HTTPFault;
using ::envoy::extensions::filters::http::rbac::v3::RBAC;
using ::envoy::extensions::filters::http::rbac::v3::RBACPerRoute;
using ::envoy::extensions::filters::http::router::v3::Router;
using ::envoy::extensions::filters::http::stateful_session::v3::StatefulSession;
using ::envoy::extensions::filters::http::stateful_session::v3 ::
StatefulSessionPerRoute;
using ::envoy::extensions::http::stateful_session::cookie::v3 ::
CookieBasedSessionState;
//
// base class for filter tests
@ -85,10 +72,6 @@ using ::envoy::extensions::http::stateful_session::cookie::v3 ::
class XdsHttpFilterTest : public ::testing::Test {
protected:
XdsHttpFilterTest()
: decode_context_{nullptr, xds_server_, nullptr, upb_def_pool_.ptr(),
upb_arena_.ptr()} {}
XdsExtension MakeXdsExtension(const grpc::protobuf::Message& message) {
google::protobuf::Any any;
any.PackFrom(message);
@ -109,12 +92,9 @@ class XdsHttpFilterTest : public ::testing::Test {
absl::StripPrefix(type, "type.googleapis.com/"));
}
GrpcXdsBootstrap::GrpcXdsServer xds_server_;
upb::DefPool upb_def_pool_;
upb::Arena upb_arena_;
XdsResourceType::DecodeContext decode_context_;
XdsHttpFilterRegistry registry_;
ValidationErrors errors_;
upb::Arena arena_;
std::string type_url_storage_;
std::string serialized_storage_;
};
@ -175,8 +155,8 @@ TEST_F(XdsRouterFilterTest, Accessors) {
TEST_F(XdsRouterFilterTest, GenerateFilterConfig) {
XdsExtension extension = MakeXdsExtension(Router());
auto config = filter_->GenerateFilterConfig(decode_context_,
std::move(extension), &errors_);
auto config = filter_->GenerateFilterConfig(std::move(extension),
arena_.ptr(), &errors_);
ASSERT_TRUE(errors_.ok()) << errors_.status("unexpected errors");
ASSERT_TRUE(config.has_value());
EXPECT_EQ(config->config_proto_type_name, filter_->ConfigProtoName());
@ -186,8 +166,8 @@ TEST_F(XdsRouterFilterTest, GenerateFilterConfig) {
TEST_F(XdsRouterFilterTest, GenerateFilterConfigTypedStruct) {
XdsExtension extension = MakeXdsExtension(Router());
extension.value = Json();
auto config = filter_->GenerateFilterConfig(decode_context_,
std::move(extension), &errors_);
auto config = filter_->GenerateFilterConfig(std::move(extension),
arena_.ptr(), &errors_);
absl::Status status = errors_.status("errors validating filter config");
EXPECT_EQ(status.code(), absl::StatusCode::kInvalidArgument);
EXPECT_EQ(
@ -202,8 +182,8 @@ TEST_F(XdsRouterFilterTest, GenerateFilterConfigUnparseable) {
XdsExtension extension = MakeXdsExtension(Router());
std::string serialized_resource("\0", 1);
extension.value = absl::string_view(serialized_resource);
auto config = filter_->GenerateFilterConfig(decode_context_,
std::move(extension), &errors_);
auto config = filter_->GenerateFilterConfig(std::move(extension),
arena_.ptr(), &errors_);
absl::Status status = errors_.status("errors validating filter config");
EXPECT_EQ(status.code(), absl::StatusCode::kInvalidArgument);
EXPECT_EQ(
@ -216,8 +196,8 @@ TEST_F(XdsRouterFilterTest, GenerateFilterConfigUnparseable) {
TEST_F(XdsRouterFilterTest, GenerateFilterConfigOverride) {
XdsExtension extension = MakeXdsExtension(Router());
auto config = filter_->GenerateFilterConfigOverride(
decode_context_, std::move(extension), &errors_);
auto config = filter_->GenerateFilterConfigOverride(std::move(extension),
arena_.ptr(), &errors_);
absl::Status status = errors_.status("errors validating filter config");
EXPECT_EQ(status.code(), absl::StatusCode::kInvalidArgument);
EXPECT_EQ(
@ -291,10 +271,10 @@ class XdsFaultInjectionFilterConfigTest
absl::optional<XdsHttpFilterImpl::FilterConfig> GenerateConfig(
XdsExtension extension) {
if (GetParam()) {
return filter_->GenerateFilterConfigOverride(
decode_context_, std::move(extension), &errors_);
return filter_->GenerateFilterConfigOverride(std::move(extension),
arena_.ptr(), &errors_);
}
return filter_->GenerateFilterConfig(decode_context_, std::move(extension),
return filter_->GenerateFilterConfig(std::move(extension), arena_.ptr(),
&errors_);
}
};
@ -459,8 +439,8 @@ TEST_F(XdsRbacFilterTest, ModifyChannelArgs) {
TEST_F(XdsRbacFilterTest, GenerateFilterConfig) {
XdsExtension extension = MakeXdsExtension(RBAC());
auto config = filter_->GenerateFilterConfig(decode_context_,
std::move(extension), &errors_);
auto config = filter_->GenerateFilterConfig(std::move(extension),
arena_.ptr(), &errors_);
ASSERT_TRUE(errors_.ok()) << errors_.status("unexpected errors");
ASSERT_TRUE(config.has_value());
EXPECT_EQ(config->config_proto_type_name, filter_->ConfigProtoName());
@ -470,8 +450,8 @@ TEST_F(XdsRbacFilterTest, GenerateFilterConfig) {
TEST_F(XdsRbacFilterTest, GenerateFilterConfigTypedStruct) {
XdsExtension extension = MakeXdsExtension(RBAC());
extension.value = Json();
auto config = filter_->GenerateFilterConfig(decode_context_,
std::move(extension), &errors_);
auto config = filter_->GenerateFilterConfig(std::move(extension),
arena_.ptr(), &errors_);
absl::Status status = errors_.status("errors validating filter config");
EXPECT_EQ(status.code(), absl::StatusCode::kInvalidArgument);
EXPECT_EQ(
@ -486,8 +466,8 @@ TEST_F(XdsRbacFilterTest, GenerateFilterConfigUnparseable) {
XdsExtension extension = MakeXdsExtension(RBAC());
std::string serialized_resource("\0", 1);
extension.value = absl::string_view(serialized_resource);
auto config = filter_->GenerateFilterConfig(decode_context_,
std::move(extension), &errors_);
auto config = filter_->GenerateFilterConfig(std::move(extension),
arena_.ptr(), &errors_);
absl::Status status = errors_.status("errors validating filter config");
EXPECT_EQ(status.code(), absl::StatusCode::kInvalidArgument);
EXPECT_EQ(
@ -500,8 +480,8 @@ TEST_F(XdsRbacFilterTest, GenerateFilterConfigUnparseable) {
TEST_F(XdsRbacFilterTest, GenerateFilterConfigOverride) {
XdsExtension extension = MakeXdsExtension(RBACPerRoute());
auto config = filter_->GenerateFilterConfigOverride(
decode_context_, std::move(extension), &errors_);
auto config = filter_->GenerateFilterConfigOverride(std::move(extension),
arena_.ptr(), &errors_);
ASSERT_TRUE(errors_.ok()) << errors_.status("unexpected errors");
ASSERT_TRUE(config.has_value());
EXPECT_EQ(config->config_proto_type_name, filter_->OverrideConfigProtoName());
@ -511,8 +491,8 @@ TEST_F(XdsRbacFilterTest, GenerateFilterConfigOverride) {
TEST_F(XdsRbacFilterTest, GenerateFilterConfigOverrideTypedStruct) {
XdsExtension extension = MakeXdsExtension(RBACPerRoute());
extension.value = Json();
auto config = filter_->GenerateFilterConfigOverride(
decode_context_, std::move(extension), &errors_);
auto config = filter_->GenerateFilterConfigOverride(std::move(extension),
arena_.ptr(), &errors_);
absl::Status status = errors_.status("errors validating filter config");
EXPECT_EQ(status.code(), absl::StatusCode::kInvalidArgument);
EXPECT_EQ(status.message(),
@ -526,8 +506,8 @@ TEST_F(XdsRbacFilterTest, GenerateFilterConfigOverrideUnparseable) {
XdsExtension extension = MakeXdsExtension(RBACPerRoute());
std::string serialized_resource("\0", 1);
extension.value = absl::string_view(serialized_resource);
auto config = filter_->GenerateFilterConfigOverride(
decode_context_, std::move(extension), &errors_);
auto config = filter_->GenerateFilterConfigOverride(std::move(extension),
arena_.ptr(), &errors_);
absl::Status status = errors_.status("errors validating filter config");
EXPECT_EQ(status.code(), absl::StatusCode::kInvalidArgument);
EXPECT_EQ(status.message(),
@ -548,11 +528,11 @@ class XdsRbacFilterConfigTest : public XdsRbacFilterTest,
RBACPerRoute rbac_per_route;
*rbac_per_route.mutable_rbac() = rbac;
XdsExtension extension = MakeXdsExtension(rbac_per_route);
return filter_->GenerateFilterConfigOverride(
decode_context_, std::move(extension), &errors_);
return filter_->GenerateFilterConfigOverride(std::move(extension),
arena_.ptr(), &errors_);
}
XdsExtension extension = MakeXdsExtension(rbac);
return filter_->GenerateFilterConfig(decode_context_, std::move(extension),
return filter_->GenerateFilterConfig(std::move(extension), arena_.ptr(),
&errors_);
}
@ -927,348 +907,6 @@ TEST_P(XdsRbacFilterConfigTest, InvalidPermissionAndPrincipal) {
<< status;
}
//
// StatefulSession filter tests
//
using XdsStatefulSessionFilterDisabledTest = XdsHttpFilterTest;
TEST_F(XdsStatefulSessionFilterDisabledTest, FilterNotRegistered) {
XdsExtension extension = MakeXdsExtension(StatefulSession());
EXPECT_EQ(GetFilter(extension.type), nullptr);
}
class XdsStatefulSessionFilterTest : public XdsHttpFilterTest {
protected:
void SetUp() override {
SetEnv("GRPC_EXPERIMENTAL_XDS_ENABLE_HOST_OVERRIDE", "true");
registry_ = XdsHttpFilterRegistry();
XdsExtension extension = MakeXdsExtension(StatefulSession());
filter_ = GetFilter(extension.type);
GPR_ASSERT(filter_ != nullptr);
}
void TearDown() override {
UnsetEnv("GRPC_EXPERIMENTAL_XDS_ENABLE_HOST_OVERRIDE");
}
const XdsHttpFilterImpl* filter_;
};
TEST_F(XdsStatefulSessionFilterTest, Accessors) {
EXPECT_EQ(
filter_->ConfigProtoName(),
"envoy.extensions.filters.http.stateful_session.v3.StatefulSession");
EXPECT_EQ(filter_->OverrideConfigProtoName(),
"envoy.extensions.filters.http.stateful_session.v3"
".StatefulSessionPerRoute");
EXPECT_EQ(filter_->channel_filter(), &StatefulSessionFilter::kFilter);
EXPECT_TRUE(filter_->IsSupportedOnClients());
EXPECT_FALSE(filter_->IsSupportedOnServers());
EXPECT_FALSE(filter_->IsTerminalFilter());
}
TEST_F(XdsStatefulSessionFilterTest, ModifyChannelArgs) {
ChannelArgs args = filter_->ModifyChannelArgs(ChannelArgs());
auto value = args.GetInt(GRPC_ARG_PARSE_STATEFUL_SESSION_METHOD_CONFIG);
ASSERT_TRUE(value.has_value());
EXPECT_EQ(*value, 1);
}
TEST_F(XdsStatefulSessionFilterTest, OverrideConfigDisabled) {
StatefulSessionPerRoute stateful_session_per_route;
stateful_session_per_route.set_disabled(true);
XdsExtension extension = MakeXdsExtension(stateful_session_per_route);
auto config = filter_->GenerateFilterConfigOverride(
decode_context_, std::move(extension), &errors_);
ASSERT_TRUE(errors_.ok()) << errors_.status("unexpected errors");
ASSERT_TRUE(config.has_value());
EXPECT_EQ(config->config_proto_type_name, filter_->OverrideConfigProtoName());
EXPECT_EQ(config->config, Json(Json::Object{})) << config->config.Dump();
}
TEST_F(XdsStatefulSessionFilterTest, GenerateServiceConfigNoOverride) {
XdsHttpFilterImpl::FilterConfig hcm_config = {filter_->ConfigProtoName(),
Json::Object{{"name", "foo"}}};
auto config = filter_->GenerateServiceConfig(hcm_config, nullptr);
ASSERT_TRUE(config.ok()) << config.status();
EXPECT_EQ(config->service_config_field_name, "stateful_session");
EXPECT_EQ(config->element, Json(Json::Object{{"name", "foo"}}).Dump());
}
TEST_F(XdsStatefulSessionFilterTest, GenerateServiceConfigWithOverride) {
XdsHttpFilterImpl::FilterConfig hcm_config = {filter_->ConfigProtoName(),
Json::Object{{"name", "foo"}}};
XdsHttpFilterImpl::FilterConfig override_config = {
filter_->OverrideConfigProtoName(), Json::Object{{"name", "bar"}}};
auto config = filter_->GenerateServiceConfig(hcm_config, &override_config);
ASSERT_TRUE(config.ok()) << config.status();
EXPECT_EQ(config->service_config_field_name, "stateful_session");
EXPECT_EQ(config->element, Json(Json::Object{{"name", "bar"}}).Dump());
}
TEST_F(XdsStatefulSessionFilterTest, GenerateFilterConfigTypedStruct) {
XdsExtension extension = MakeXdsExtension(StatefulSession());
extension.value = Json();
auto config = filter_->GenerateFilterConfig(decode_context_,
std::move(extension), &errors_);
absl::Status status = errors_.status("errors validating filter config");
EXPECT_EQ(status.code(), absl::StatusCode::kInvalidArgument);
EXPECT_EQ(
status.message(),
"errors validating filter config: ["
"field:http_filter.value["
"envoy.extensions.filters.http.stateful_session.v3.StatefulSession] "
"error:could not parse stateful session filter config]")
<< status;
}
TEST_F(XdsStatefulSessionFilterTest, GenerateFilterConfigUnparseable) {
XdsExtension extension = MakeXdsExtension(StatefulSession());
std::string serialized_resource("\0", 1);
extension.value = absl::string_view(serialized_resource);
auto config = filter_->GenerateFilterConfig(decode_context_,
std::move(extension), &errors_);
absl::Status status = errors_.status("errors validating filter config");
EXPECT_EQ(status.code(), absl::StatusCode::kInvalidArgument);
EXPECT_EQ(
status.message(),
"errors validating filter config: ["
"field:http_filter.value["
"envoy.extensions.filters.http.stateful_session.v3.StatefulSession] "
"error:could not parse stateful session filter config]")
<< status;
}
TEST_F(XdsStatefulSessionFilterTest, GenerateFilterConfigOverrideTypedStruct) {
XdsExtension extension = MakeXdsExtension(StatefulSessionPerRoute());
extension.value = Json();
auto config = filter_->GenerateFilterConfigOverride(
decode_context_, std::move(extension), &errors_);
absl::Status status = errors_.status("errors validating filter config");
EXPECT_EQ(status.code(), absl::StatusCode::kInvalidArgument);
EXPECT_EQ(status.message(),
"errors validating filter config: ["
"field:http_filter.value["
"envoy.extensions.filters.http.stateful_session.v3"
".StatefulSessionPerRoute] "
"error:could not parse stateful session filter override config]")
<< status;
}
TEST_F(XdsStatefulSessionFilterTest, GenerateFilterConfigOverrideUnparseable) {
XdsExtension extension = MakeXdsExtension(StatefulSessionPerRoute());
std::string serialized_resource("\0", 1);
extension.value = absl::string_view(serialized_resource);
auto config = filter_->GenerateFilterConfigOverride(
decode_context_, std::move(extension), &errors_);
absl::Status status = errors_.status("errors validating filter config");
EXPECT_EQ(status.code(), absl::StatusCode::kInvalidArgument);
EXPECT_EQ(status.message(),
"errors validating filter config: ["
"field:http_filter.value["
"envoy.extensions.filters.http.stateful_session.v3"
".StatefulSessionPerRoute] "
"error:could not parse stateful session filter override config]")
<< status;
}
// For the stateful session filter, the override config is a superset of the
// top-level config, so we test all of the common fields as input for
// both GenerateFilterConfig() and GenerateFilterConfigOverride().
class XdsStatefulSessionFilterConfigTest
: public XdsStatefulSessionFilterTest,
public ::testing::WithParamInterface<bool> {
protected:
absl::optional<XdsHttpFilterImpl::FilterConfig> GenerateConfig(
StatefulSession stateful_session) {
if (GetParam()) {
StatefulSessionPerRoute stateful_session_per_route;
*stateful_session_per_route.mutable_stateful_session() = stateful_session;
XdsExtension extension = MakeXdsExtension(stateful_session_per_route);
return filter_->GenerateFilterConfigOverride(
decode_context_, std::move(extension), &errors_);
}
XdsExtension extension = MakeXdsExtension(stateful_session);
return filter_->GenerateFilterConfig(decode_context_, std::move(extension),
&errors_);
}
std::string FieldPrefix() {
return absl::StrCat("http_filter.value[",
(GetParam() ? filter_->OverrideConfigProtoName()
: filter_->ConfigProtoName()),
"]", (GetParam() ? ".stateful_session" : ""));
}
};
INSTANTIATE_TEST_SUITE_P(XdsStatefulSessionFilter,
XdsStatefulSessionFilterConfigTest, ::testing::Bool());
TEST_P(XdsStatefulSessionFilterConfigTest, MinimalConfig) {
CookieBasedSessionState cookie_state;
cookie_state.mutable_cookie()->set_name("foo");
StatefulSession stateful_session;
stateful_session.mutable_session_state()->mutable_typed_config()->PackFrom(
cookie_state);
auto config = GenerateConfig(stateful_session);
ASSERT_TRUE(errors_.ok()) << errors_.status("unexpected errors");
ASSERT_TRUE(config.has_value());
EXPECT_EQ(config->config_proto_type_name,
GetParam() ? filter_->OverrideConfigProtoName()
: filter_->ConfigProtoName());
EXPECT_EQ(config->config, Json(Json::Object{{"name", "foo"}}))
<< config->config.Dump();
}
TEST_P(XdsStatefulSessionFilterConfigTest, PathAndTtl) {
CookieBasedSessionState cookie_state;
auto* cookie = cookie_state.mutable_cookie();
cookie->set_name("foo");
cookie->set_path("/service/method");
cookie->mutable_ttl()->set_seconds(3);
StatefulSession stateful_session;
stateful_session.mutable_session_state()->mutable_typed_config()->PackFrom(
cookie_state);
auto config = GenerateConfig(stateful_session);
ASSERT_TRUE(errors_.ok()) << errors_.status("unexpected errors");
ASSERT_TRUE(config.has_value());
EXPECT_EQ(config->config_proto_type_name,
GetParam() ? filter_->OverrideConfigProtoName()
: filter_->ConfigProtoName());
EXPECT_EQ(config->config, Json(Json::Object{
{"name", "foo"},
{"path", "/service/method"},
{"ttl", "3.000000000s"},
}))
<< config->config.Dump();
}
TEST_P(XdsStatefulSessionFilterConfigTest, SessionStateUnset) {
auto config = GenerateConfig(StatefulSession());
absl::Status status = errors_.status("errors validating filter config");
ASSERT_EQ(status.code(), absl::StatusCode::kInvalidArgument);
EXPECT_EQ(
status.message(),
absl::StrCat("errors validating filter config: [field:", FieldPrefix(),
".session_state error:field not present]"))
<< status;
}
TEST_P(XdsStatefulSessionFilterConfigTest, CookieNotPresent) {
StatefulSession stateful_session;
stateful_session.mutable_session_state()->mutable_typed_config()->PackFrom(
CookieBasedSessionState());
auto config = GenerateConfig(stateful_session);
absl::Status status = errors_.status("errors validating filter config");
ASSERT_EQ(status.code(), absl::StatusCode::kInvalidArgument);
EXPECT_EQ(
status.message(),
absl::StrCat("errors validating filter config: [field:", FieldPrefix(),
".session_state.typed_config.value["
"envoy.extensions.http.stateful_session.cookie.v3"
".CookieBasedSessionState].cookie "
"error:field not present]"))
<< status;
}
TEST_P(XdsStatefulSessionFilterConfigTest, CookieNameNotPresent) {
CookieBasedSessionState cookie_state;
cookie_state.mutable_cookie();
StatefulSession stateful_session;
stateful_session.mutable_session_state()->mutable_typed_config()->PackFrom(
cookie_state);
auto config = GenerateConfig(stateful_session);
absl::Status status = errors_.status("errors validating filter config");
ASSERT_EQ(status.code(), absl::StatusCode::kInvalidArgument);
EXPECT_EQ(
status.message(),
absl::StrCat("errors validating filter config: [field:", FieldPrefix(),
".session_state.typed_config.value["
"envoy.extensions.http.stateful_session.cookie.v3"
".CookieBasedSessionState].cookie.name "
"error:field not present]"))
<< status;
}
TEST_P(XdsStatefulSessionFilterConfigTest, InvalidTtl) {
CookieBasedSessionState cookie_state;
auto* cookie = cookie_state.mutable_cookie();
cookie->set_name("foo");
cookie->mutable_ttl()->set_seconds(-1);
StatefulSession stateful_session;
stateful_session.mutable_session_state()->mutable_typed_config()->PackFrom(
cookie_state);
auto config = GenerateConfig(stateful_session);
absl::Status status = errors_.status("errors validating filter config");
ASSERT_EQ(status.code(), absl::StatusCode::kInvalidArgument);
EXPECT_EQ(
status.message(),
absl::StrCat("errors validating filter config: [field:", FieldPrefix(),
".session_state.typed_config.value["
"envoy.extensions.http.stateful_session.cookie.v3"
".CookieBasedSessionState].cookie.ttl.seconds "
"error:value must be in the range [0, 315576000000]]"))
<< status;
}
TEST_P(XdsStatefulSessionFilterConfigTest, UnknownSessionStateType) {
StatefulSession stateful_session;
stateful_session.mutable_session_state()->mutable_typed_config()->PackFrom(
Router());
auto config = GenerateConfig(stateful_session);
absl::Status status = errors_.status("errors validating filter config");
ASSERT_EQ(status.code(), absl::StatusCode::kInvalidArgument);
EXPECT_EQ(
status.message(),
absl::StrCat("errors validating filter config: [field:", FieldPrefix(),
".session_state.typed_config.value["
"envoy.extensions.filters.http.router.v3.Router] "
"error:unsupported session state type]"))
<< status;
}
TEST_P(XdsStatefulSessionFilterConfigTest, TypedStructSessionState) {
StatefulSession stateful_session;
auto* typed_config =
stateful_session.mutable_session_state()->mutable_typed_config();
typed_config->PackFrom(CookieBasedSessionState());
::xds::type::v3::TypedStruct typed_struct;
typed_struct.set_type_url(typed_config->type_url());
typed_config->PackFrom(typed_struct);
auto config = GenerateConfig(stateful_session);
absl::Status status = errors_.status("errors validating filter config");
ASSERT_EQ(status.code(), absl::StatusCode::kInvalidArgument);
EXPECT_EQ(
status.message(),
absl::StrCat("errors validating filter config: [field:", FieldPrefix(),
".session_state.typed_config.value["
"xds.type.v3.TypedStruct].value["
"envoy.extensions.http.stateful_session.cookie.v3"
".CookieBasedSessionState] "
"error:could not parse session state config]"))
<< status;
}
TEST_P(XdsStatefulSessionFilterConfigTest, UnparseableSessionState) {
StatefulSession stateful_session;
stateful_session.mutable_session_state()->mutable_typed_config()->PackFrom(
CookieBasedSessionState());
stateful_session.mutable_session_state()->mutable_typed_config()->set_value(
std::string("\0", 1));
auto config = GenerateConfig(stateful_session);
absl::Status status = errors_.status("errors validating filter config");
ASSERT_EQ(status.code(), absl::StatusCode::kInvalidArgument);
EXPECT_EQ(
status.message(),
absl::StrCat("errors validating filter config: [field:", FieldPrefix(),
".session_state.typed_config.value["
"envoy.extensions.http.stateful_session.cookie.v3"
".CookieBasedSessionState] "
"error:could not parse session state config]"))
<< status;
}
} // namespace
} // namespace testing
} // namespace grpc_core

@ -1432,12 +1432,8 @@ src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c \
src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h \
src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c \
src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h \
src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c \
src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h \
src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c \
src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h \
src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c \
src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h \
src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c \
src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h \
src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c \
@ -1730,12 +1726,8 @@ src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdef
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h \
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h \
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h \
src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h \
src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h \
src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h \
src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c \
@ -1908,8 +1900,6 @@ src/core/ext/xds/xds_http_filters.cc \
src/core/ext/xds/xds_http_filters.h \
src/core/ext/xds/xds_http_rbac_filter.cc \
src/core/ext/xds/xds_http_rbac_filter.h \
src/core/ext/xds/xds_http_stateful_session_filter.cc \
src/core/ext/xds/xds_http_stateful_session_filter.h \
src/core/ext/xds/xds_lb_policy_registry.cc \
src/core/ext/xds/xds_lb_policy_registry.h \
src/core/ext/xds/xds_listener.cc \

@ -1205,12 +1205,8 @@ src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c \
src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h \
src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c \
src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h \
src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c \
src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h \
src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c \
src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h \
src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c \
src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h \
src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c \
src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h \
src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c \
@ -1503,12 +1499,8 @@ src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdef
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h \
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h \
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h \
src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h \
src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h \
src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c \
src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h \
src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c \
@ -1681,8 +1673,6 @@ src/core/ext/xds/xds_http_filters.cc \
src/core/ext/xds/xds_http_filters.h \
src/core/ext/xds/xds_http_rbac_filter.cc \
src/core/ext/xds/xds_http_rbac_filter.h \
src/core/ext/xds/xds_http_stateful_session_filter.cc \
src/core/ext/xds/xds_http_stateful_session_filter.h \
src/core/ext/xds/xds_lb_policy_registry.cc \
src/core/ext/xds/xds_lb_policy_registry.h \
src/core/ext/xds/xds_listener.cc \

Loading…
Cancel
Save