@@ -151,9 +151,13 @@ message Step {
151151 ARRIVE_AT_INSTANCE = 9 ;
152152
153153 // Forwarding state: arriving at a Compute Engine internal load balancer.
154+ // Deprecated in favor of the `ANALYZE_LOAD_BALANCER_BACKEND` state, not
155+ // used in new tests.
154156 ARRIVE_AT_INTERNAL_LOAD_BALANCER = 10 [deprecated = true ];
155157
156158 // Forwarding state: arriving at a Compute Engine external load balancer.
159+ // Deprecated in favor of the `ANALYZE_LOAD_BALANCER_BACKEND` state, not
160+ // used in new tests.
157161 ARRIVE_AT_EXTERNAL_LOAD_BALANCER = 11 [deprecated = true ];
158162
159163 // Forwarding state: arriving at a Cloud VPN gateway.
@@ -165,6 +169,14 @@ message Step {
165169 // Forwarding state: arriving at a VPC connector.
166170 ARRIVE_AT_VPC_CONNECTOR = 24 ;
167171
172+ // Forwarding state: for packets originating from a serverless endpoint
173+ // forwarded through Direct VPC egress.
174+ DIRECT_VPC_EGRESS_CONNECTION = 35 ;
175+
176+ // Forwarding state: for packets originating from a serverless endpoint
177+ // forwarded through public (external) connectivity.
178+ SERVERLESS_EXTERNAL_CONNECTION = 36 ;
179+
168180 // Transition state: packet header translated.
169181 NAT = 14 ;
170182
@@ -238,6 +250,12 @@ message Step {
238250 // Display information of a VPC connector.
239251 VpcConnectorInfo vpc_connector = 21 ;
240252
253+ // Display information of a serverless direct VPC egress connection.
254+ DirectVpcEgressConnectionInfo direct_vpc_egress_connection = 33 ;
255+
256+ // Display information of a serverless public (external) connection.
257+ ServerlessExternalConnectionInfo serverless_external_connection = 34 ;
258+
241259 // Display information of the final state "deliver" and reason.
242260 DeliverInfo deliver = 12 ;
243261
@@ -395,6 +413,10 @@ message FirewallInfo {
395413 // For details, see [firewall rules
396414 // specifications](https://cloud.google.com/firewall/docs/firewalls#specifications)
397415 TRACKING_STATE = 101 ;
416+
417+ // Firewall analysis was skipped due to executing Connectivity Test in the
418+ // BypassFirewallChecks mode
419+ ANALYSIS_SKIPPED = 102 ;
398420 }
399421
400422 // The display name of the firewall rule. This field might be empty for
@@ -456,13 +478,13 @@ message RouteInfo {
456478 // Dynamic route exchanged between BGP peers.
457479 DYNAMIC = 3 ;
458480
459- // A subnet route received from peering network.
481+ // A subnet route received from peering network or NCC Hub .
460482 PEERING_SUBNET = 4 ;
461483
462484 // A static route received from peering network.
463485 PEERING_STATIC = 5 ;
464486
465- // A dynamic route received from peering network.
487+ // A dynamic route received from peering network or NCC Hub .
466488 PEERING_DYNAMIC = 6 ;
467489
468490 // Policy based route.
@@ -487,7 +509,9 @@ message RouteInfo {
487509 // Next hop is a VPC network gateway.
488510 NEXT_HOP_NETWORK = 3 ;
489511
490- // Next hop is a peering VPC.
512+ // Next hop is a peering VPC. This scenario only happens when the user
513+ // doesn't have permissions to the project where the next hop resource is
514+ // located.
491515 NEXT_HOP_PEERING = 4 ;
492516
493517 // Next hop is an interconnect.
@@ -506,7 +530,7 @@ message RouteInfo {
506530 NEXT_HOP_INTERNET_GATEWAY = 8 ;
507531
508532 // Next hop is blackhole; that is, the next hop either does not exist or is
509- // not running .
533+ // unusable .
510534 NEXT_HOP_BLACKHOLE = 9 ;
511535
512536 // Next hop is the forwarding rule of an Internal Load Balancer.
@@ -517,7 +541,8 @@ message RouteInfo {
517541 // instance](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/ra-overview).
518542 NEXT_HOP_ROUTER_APPLIANCE = 11 ;
519543
520- // Next hop is an NCC hub.
544+ // Next hop is an NCC hub. This scenario only happens when the user doesn't
545+ // have permissions to the project where the next hop resource is located.
521546 NEXT_HOP_NCC_HUB = 12 ;
522547 }
523548
@@ -539,25 +564,31 @@ message RouteInfo {
539564 // Type of next hop.
540565 NextHopType next_hop_type = 9 ;
541566
542- // Indicates where route is applicable.
543- RouteScope route_scope = 14 ;
567+ // Indicates where route is applicable. Deprecated, routes with NCC_HUB scope
568+ // are not included in the trace in new tests.
569+ RouteScope route_scope = 14 [deprecated = true ];
544570
545571 // Name of a route.
546572 string display_name = 1 ;
547573
548- // URI of a route (if applicable).
574+ // URI of a route. SUBNET, STATIC, PEERING_SUBNET (only for peering network)
575+ // and POLICY_BASED routes only.
549576 string uri = 2 ;
550577
551- // Region of the route (if applicable).
578+ // Region of the route. DYNAMIC, PEERING_DYNAMIC, POLICY_BASED and ADVERTISED
579+ // routes only. If set for POLICY_BASED route, this is a region of VLAN
580+ // attachments for Cloud Interconnect the route applies to.
552581 string region = 19 ;
553582
554583 // Destination IP range of the route.
555584 string dest_ip_range = 3 ;
556585
557- // Next hop of the route.
558- string next_hop = 4 ;
586+ // String type of the next hop of the route (for example, "VPN tunnel").
587+ // Deprecated in favor of the next_hop_type and next_hop_uri fields, not used
588+ // in new tests.
589+ string next_hop = 4 [deprecated = true ];
559590
560- // URI of a Compute Engine network. NETWORK routes only .
591+ // URI of a VPC network where route is located .
561592 string network_uri = 5 ;
562593
563594 // Priority of the route.
@@ -566,33 +597,54 @@ message RouteInfo {
566597 // Instance tags of the route.
567598 repeated string instance_tags = 7 ;
568599
569- // Source IP address range of the route. Policy based routes only.
600+ // Source IP address range of the route. POLICY_BASED routes only.
570601 string src_ip_range = 10 ;
571602
572- // Destination port ranges of the route. Policy based routes only.
603+ // Destination port ranges of the route. POLICY_BASED routes only.
573604 repeated string dest_port_ranges = 11 ;
574605
575- // Source port ranges of the route. Policy based routes only.
606+ // Source port ranges of the route. POLICY_BASED routes only.
576607 repeated string src_port_ranges = 12 ;
577608
578- // Protocols of the route. Policy based routes only.
609+ // Protocols of the route. POLICY_BASED routes only.
579610 repeated string protocols = 13 ;
580611
581- // URI of a NCC Hub. NCC_HUB routes only.
612+ // URI of the NCC Hub the route is advertised by. PEERING_SUBNET and
613+ // PEERING_DYNAMIC routes that are advertised by NCC Hub only.
582614 optional string ncc_hub_uri = 15 ;
583615
584- // URI of a NCC Spoke. NCC_HUB routes only.
616+ // URI of the destination NCC Spoke. PEERING_SUBNET and PEERING_DYNAMIC routes
617+ // that are advertised by NCC Hub only.
585618 optional string ncc_spoke_uri = 16 ;
586619
587- // For advertised dynamic routes, the URI of the Cloud Router that advertised
620+ // For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised
588621 // the corresponding IP prefix.
589622 optional string advertised_route_source_router_uri = 17 ;
590623
591- // For advertised routes, the URI of their next hop, i.e. the URI of the
624+ // For ADVERTISED routes, the URI of their next hop, i.e. the URI of the
592625 // hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance)
593626 // the advertised prefix is advertised through, or URI of the source peered
594- // network.
595- optional string advertised_route_next_hop_uri = 18 ;
627+ // network. Deprecated in favor of the next_hop_uri field, not used in new
628+ // tests.
629+ optional string advertised_route_next_hop_uri = 18 [deprecated = true ];
630+
631+ // URI of the next hop resource.
632+ string next_hop_uri = 20 ;
633+
634+ // URI of a VPC network where the next hop resource is located.
635+ string next_hop_network_uri = 21 ;
636+
637+ // For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating
638+ // SUBNET/STATIC route.
639+ string originating_route_uri = 22 ;
640+
641+ // For PEERING_SUBNET, PEERING_STATIC and PEERING_DYNAMIC routes, the name of
642+ // the originating SUBNET/STATIC/DYNAMIC route.
643+ string originating_route_display_name = 23 ;
644+
645+ // For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC
646+ // Hub, the URI of the corresponding route in NCC Hub's routing table.
647+ string ncc_hub_route_uri = 24 ;
596648}
597649
598650// For display only. Details of a Google Service sending packets to a
@@ -632,6 +684,10 @@ message GoogleServiceInfo {
632684 // Google API via VPC Service Controls.
633685 // https://cloud.google.com/vpc/docs/configure-private-service-connect-apis
634686 GOOGLE_API_VPC_SC = 6 ;
687+
688+ // Google API via Serverless VPC Access.
689+ // https://cloud.google.com/vpc/docs/serverless-vpc-access
690+ SERVERLESS_VPC_ACCESS = 7 ;
635691 }
636692
637693 // Source IP address.
@@ -1135,6 +1191,10 @@ message AbortInfo {
11351191 // Aborted due to an unsupported configuration of the Google-managed
11361192 // project.
11371193 UNSUPPORTED_GOOGLE_MANAGED_PROJECT_CONFIG = 31 ;
1194+
1195+ // Aborted because the source endpoint is a Cloud Run revision with direct
1196+ // VPC access enabled, but there are no reserved serverless IP ranges.
1197+ NO_SERVERLESS_IP_RANGES = 37 ;
11381198 }
11391199
11401200 // Causes that the analysis is aborted.
@@ -1249,6 +1309,11 @@ message DropInfo {
12491309 // rules](https://cloud.google.com/load-balancing/docs/health-checks#firewall_rules).
12501310 FIREWALL_BLOCKING_LOAD_BALANCER_BACKEND_HEALTH_CHECK = 13 ;
12511311
1312+ // Matching ingress firewall rules by network tags for packets sent via
1313+ // serverless VPC direct egress is unsupported. Behavior is undefined.
1314+ // https://cloud.google.com/run/docs/configuring/vpc-direct-vpc#limitations
1315+ INGRESS_FIREWALL_TAGS_UNSUPPORTED_BY_DIRECT_VPC_EGRESS = 85 ;
1316+
12521317 // Packet is sent from or to a Compute Engine instance that is not in a
12531318 // running state.
12541319 INSTANCE_NOT_RUNNING = 14 ;
@@ -1486,6 +1551,18 @@ message DropInfo {
14861551 // Sending packets processed by the Private NAT Gateways to the Private
14871552 // Service Connect endpoints is not supported.
14881553 PRIVATE_NAT_TO_PSC_ENDPOINT_UNSUPPORTED = 83 ;
1554+
1555+ // Packet is sent to the PSC port mapping service, but its destination port
1556+ // does not match any port mapping rules.
1557+ PSC_PORT_MAPPING_PORT_MISMATCH = 86 ;
1558+
1559+ // Sending packets directly to the PSC port mapping service without going
1560+ // through the PSC connection is not supported.
1561+ PSC_PORT_MAPPING_WITHOUT_PSC_CONNECTION_UNSUPPORTED = 87 ;
1562+
1563+ // Packet with destination IP address within the reserved NAT64 range is
1564+ // dropped due to matching a route of an unsupported type.
1565+ UNSUPPORTED_ROUTE_MATCHED_FOR_NAT64_DESTINATION = 88 ;
14891566 }
14901567
14911568 // Cause that the packet is dropped.
@@ -1575,7 +1652,7 @@ message RedisClusterInfo {
15751652 // "projects/{project_id}/locations/{location}/clusters/{cluster_id}"
15761653 string uri = 2 ;
15771654
1578- // URI of a Redis Cluster network in format
1655+ // URI of the network containing the Redis Cluster endpoints in format
15791656 // "projects/{project_id}/global/networks/{network_id}".
15801657 string network_uri = 3 ;
15811658
@@ -1649,6 +1726,33 @@ message VpcConnectorInfo {
16491726 string location = 3 ;
16501727}
16511728
1729+ // For display only. Metadata associated with a serverless direct VPC egress
1730+ // connection.
1731+ message DirectVpcEgressConnectionInfo {
1732+ // URI of direct access network.
1733+ string network_uri = 1 ;
1734+
1735+ // URI of direct access subnetwork.
1736+ string subnetwork_uri = 2 ;
1737+
1738+ // Selected IP range.
1739+ string selected_ip_range = 3 [(google.api.field_info ).format = IPV4_OR_IPV6 ];
1740+
1741+ // Selected starting IP address, from the selected IP range.
1742+ string selected_ip_address = 4
1743+ [(google.api.field_info ).format = IPV4_OR_IPV6 ];
1744+
1745+ // Region in which the Direct VPC egress is deployed.
1746+ string region = 5 ;
1747+ }
1748+
1749+ // For display only. Metadata associated with a serverless public connection.
1750+ message ServerlessExternalConnectionInfo {
1751+ // Selected starting IP address, from the Google dynamic address pool.
1752+ string selected_ip_address = 1
1753+ [(google.api.field_info ).format = IPV4_OR_IPV6 ];
1754+ }
1755+
16521756// For display only. Metadata associated with NAT.
16531757message NatInfo {
16541758 // Types of NAT.
0 commit comments