ipconnectivity.proto: change Transport to LinkLayer

... to clarify ambiguities about the purpose and goal of the
LinkLayer/Transport enum.

This renaming is safe because at the moment there is no reader or
writer of this field anywhere in google3 or android.

Test: $ runtest frameworks-net
Change-Id: I6775cc2df3438d3bd8609a86ed1f4b4bf6296816
diff --git a/proto/src/ipconnectivity.proto b/proto/src/ipconnectivity.proto
index cf372bc..b5afc40 100644
--- a/proto/src/ipconnectivity.proto
+++ b/proto/src/ipconnectivity.proto
@@ -17,14 +17,26 @@
   optional int32 network_id = 1;
 };
 
-// Transport describes a physical technology used by a network. It is a subset
-// of the TRANSPORT_* constants defined in android.net.NetworkCapabilities.
-enum Transport {
+// LinkLayer describes a physical link layer technology used by a network.
+// It is not intended to map one to one to the TRANSPORT_* constants defined in
+// android.net.NetworkCapabilities. Instead it is intended to be used as
+// a dimension field for metrics events and aggregated metrics.
+// Next tag: 7
+enum LinkLayer {
+  // An unknown link layer technology.
   UNKNOWN   = 0;
+
   BLUETOOTH = 1;
   CELLULAR  = 2;
   ETHERNET  = 3;
   WIFI      = 4;
+
+  // Indicates that the link layer dimension is not relevant for the metrics or
+  // event considered.
+  NONE      = 5;
+
+  // Indicates that the metrics or event considered may involve several links.
+  MULTIPLE  = 6;
 };
 
 // A pair of (key, value) integers for describing histogram-like statistics.
@@ -65,7 +77,7 @@
 // This message is associated to android.net.metrics.IpReachabilityEvent.
 message IpReachabilityEvent {
   // The interface name (wlan, rmnet, lo, ...) on which the probe was sent.
-  // Deprecated since version 2, replaced by transport field.
+  // Deprecated since version 2, to be replaced by link_layer field.
   optional string if_name = 1 [deprecated = true];
 
   // The event type code of the probe, represented by constants defined in
@@ -179,7 +191,7 @@
 // android.net.metrics.DhcpErrorEvent.
 message DHCPEvent {
   // The interface name (wlan, rmnet, lo, ...) on which the event happened.
-  // Deprecated since version 2, replaced by transport field.
+  // Deprecated since version 2, to be replaced by link_layer field.
   optional string if_name = 1 [deprecated = true];
 
   oneof value {
@@ -284,7 +296,7 @@
 // This message is associated to android.net.metrics.IpManagerEvent.
 message IpProvisioningEvent {
   // The interface name (wlan, rmnet, lo, ...) on which the probe was sent.
-  // Deprecated since version 2, replaced by transport field.
+  // Deprecated since version 2, to be replaced by link_layer field.
   optional string if_name = 1 [deprecated = true];
 
   // The code of the IP provisioning event, represented by constants defined in
@@ -296,19 +308,21 @@
 }
 
 // Represents one of the IP connectivity event defined in this file.
-// Next tag: 15
+// Next tag: 16
 message IpConnectivityEvent {
   // Time in ms when the event was recorded.
   optional int64 time_ms = 1;
 
-  // Physical transport of the network on which the event happened.
+  // Physical link layer of the network on which the event happened.
+  // Acts as a dimension key.
   // Since version 2.
-  optional Transport transport = 12;
+  optional LinkLayer link_layer = 15;
 
   // Event type.
   oneof event {
 
     // An event about the system default network.
+    // The link_layer field is not relevant for this event and set to NONE.
     DefaultNetworkEvent default_network_event = 2;
 
     // An IP reachability probe event.
@@ -318,7 +332,8 @@
     NetworkEvent network_event = 4;
 
     // A batch of DNS lookups.
-    // Deprecated in the nyc-mr2 release since version 2, and replaced by dns_latencies.
+    // Deprecated in the nyc-mr2 release since version 2,and replaced by
+    // dns_latencies.
     DNSLookupBatch dns_lookup_batch = 5 [deprecated = true];
 
     // DNS lookup latency statistics.