Skip to content

Commit edffdfe

Browse files
Google APIscopybara-github
authored andcommitted
feat: add messages and fields related to Direct VPC Egress
feat: add messages and fields related to Serverless External feat: add messages and fields related to Route feat: add enum types related to Firewall feat: add enum types related to Google Service feat: add enum types related to Abort feat: add enum types related to Drop docs: update outdated comments PiperOrigin-RevId: 744581812
1 parent c98457c commit edffdfe

2 files changed

Lines changed: 250 additions & 46 deletions

File tree

google/cloud/networkmanagement/v1/trace.proto

Lines changed: 127 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -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.
16531757
message NatInfo {
16541758
// Types of NAT.

0 commit comments

Comments
 (0)