Commit 0b6f608c authored by Waleed Akbar's avatar Waleed Akbar
Browse files

feat(pluggables): Update pluggable messages and requests for improved configuration handling

parent 444b5091
Loading
Loading
Loading
Loading
+86 −77
Original line number Diff line number Diff line
@@ -28,6 +28,48 @@ service PluggablesService {
}


message CreatePluggableRequest {
  context.DeviceId device                    = 1;
  int32            preferred_pluggable_index = 2;   // -1 for auto (physical slot number in the device(router))
  PluggableConfig  initial_config            = 3;
}

message ListPluggablesRequest {
  context.DeviceId device     = 1;
  View             view_level = 2;
}

message ListPluggablesResponse {
  repeated Pluggable pluggables = 1;
}

message GetPluggableRequest {
  PluggableId id         = 1;
  View        view_level = 2;
}

message DeletePluggableRequest {
  PluggableId id = 1;
}

message ConfigurePluggableRequest {
  PluggableConfig config                = 1;
  View            view_level            = 2;
  int32           apply_timeout_seconds = 3;   // Not Implemented yet (for timeout)
}

// to control the level of detail in responses
enum View {
  VIEW_UNSPECIFIED = 0;
  VIEW_CONFIG      = 1;
  VIEW_STATE       = 2;
  VIEW_FULL        = 3;
}

// -----------------------------------------------------------------------------
// Pluggable and Digital Subcarrier Messages
// -----------------------------------------------------------------------------

message PluggableId {
  context.DeviceId device           = 1;
  int32            pluggable_index  = 2;  // physical slot number in the device
@@ -47,8 +89,8 @@ message DigitalSubcarrierConfig {
  DigitalSubcarrierId id                      = 1;
  bool                active                  = 2;
  double              target_output_power_dbm = 3;
  double center_frequency_hz     = 10;
  double symbol_rate_baud        = 11;
  double              center_frequency_hz     = 4;
  double              symbol_rate_baud        = 5;
}

message DigitalSubcarrierState {
@@ -56,7 +98,7 @@ message DigitalSubcarrierState {
  bool                active                    = 2;
  double              measured_output_power_dbm = 3;
  double              osnr_db                   = 4;
  context.Timestamp updated_at     = 10;
  context.Timestamp   updated_at                = 5;
}

message DigitalSubcarrierGroupConfig {
@@ -64,7 +106,7 @@ message DigitalSubcarrierGroupConfig {
  int32                            group_size             = 2;   // expected number of DSCs
  double                           group_capacity_gbps    = 3;   // from YANG group capacity in Gbps
  double                           subcarrier_spacing_mhz = 4;   // from YANG digital-subcarrier-spacing
  repeated DigitalSubcarrierConfig subcarriers = 10;
  repeated DigitalSubcarrierConfig subcarriers            = 5;
}

message DigitalSubcarrierGroupState {
@@ -72,8 +114,15 @@ message DigitalSubcarrierGroupState {
  int32                           count                  = 2;   // available DSCs
  double                          group_capacity_gbps    = 3;
  double                          subcarrier_spacing_mhz = 4;
  repeated DigitalSubcarrierState subcarriers = 10;
  context.Timestamp updated_at                = 20;
  repeated DigitalSubcarrierState subcarriers            = 5;
  context.Timestamp               updated_at             = 6;
}

message PluggableChannelConfig {
  string                                channel_name            = 1;
  double                                center_frequency_mhz    = 2;
  double                                target_output_power_dbm = 3;
  repeated DigitalSubcarrierGroupConfig dsc_groups              = 4;
}

message PluggableConfig {
@@ -83,13 +132,14 @@ message PluggableConfig {
  int32                                 operational_mode        = 4;   // e.g., 0=off and 1=on 
  int32                                 line_port               = 5;   // line port number
  string                                channel_name            = 6;   // channel name
  repeated DigitalSubcarrierGroupConfig dsc_groups = 10;
  repeated DigitalSubcarrierGroupConfig dsc_groups              = 7;
  repeated PluggableChannelConfig       channel_configs         = 8;
}

message PluggableState {
  PluggableId                          id         = 1;
  repeated DigitalSubcarrierGroupState dsc_groups = 10;
  context.Timestamp updated_at                    = 20;
  repeated DigitalSubcarrierGroupState dsc_groups = 2;
  context.Timestamp                    updated_at = 3;
}

message Pluggable {
@@ -97,44 +147,3 @@ message Pluggable {
  PluggableConfig config = 2;
  PluggableState  state  = 3;
}
 No newline at end of file

// -----------------------------------------------------------------------------
// RPC I/O Messages
// -----------------------------------------------------------------------------
message CreatePluggableRequest {
  context.DeviceId device         = 1;
  int32 preferred_pluggable_index = 2;   // -1 for auto (physical slot number in the device(router))
  PluggableConfig initial_config  = 10;
}

message ListPluggablesRequest {
  context.DeviceId device = 1;
  View view_level         = 2;
}

message ListPluggablesResponse {
  repeated Pluggable pluggables = 1;
}

message GetPluggableRequest {
  PluggableId id  = 1;
  View view_level = 2;
}

message DeletePluggableRequest {
  PluggableId id = 1;
}

message ConfigurePluggableRequest {
  PluggableConfig config      = 1;
  View view_level             = 2;
  int32 apply_timeout_seconds = 10;   // Not Implemented yet (for timeout)
}

// to control the level of detail in responses
enum View {
  VIEW_UNSPECIFIED = 0;
  VIEW_CONFIG      = 1;
  VIEW_STATE       = 2;
  VIEW_FULL        = 3;
}