Skip to content

Commit a10d1f2

Browse files
Chet Powersmeta-codesync[bot]
authored andcommitted
Add field for optics communication errors
Summary: adding a field so that we can indicate when we fail to communicate with the module Reviewed By: harshitgulati18 Differential Revision: D86231781 fbshipit-source-id: d5716da1e6b8fcc96d5cbf0f7d92e5797ae75758
1 parent cc2125a commit a10d1f2

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

fboss/fsdb/if/oss/fsdb_model_thriftpath.h

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,8 @@ std::pair<strings::fwUpgradeInProgress, Child<bool, ::apache::thrift::type_class
181181
std::pair<strings::interfaces, ChildThriftPath<::std::set<::std::string>, ::facebook::fboss::fsdb::FsdbOperStateRoot, Self>>,
182182
std::pair<strings::tcvrName, Child<::std::string, ::apache::thrift::type_class::string, ::apache::thrift::type::string_t>>,
183183
std::pair<strings::lpoModule, Child<bool, ::apache::thrift::type_class::integral, ::apache::thrift::type::bool_t>>,
184-
std::pair<strings::tunableLaserStatus, ChildThriftPath<::facebook::fboss::TunableLaserStatus, ::facebook::fboss::fsdb::FsdbOperStateRoot, Self>>>;
184+
std::pair<strings::tunableLaserStatus, ChildThriftPath<::facebook::fboss::TunableLaserStatus, ::facebook::fboss::fsdb::FsdbOperStateRoot, Self>>,
185+
std::pair<strings::communicationError, Child<bool, ::apache::thrift::type_class::integral, ::apache::thrift::type::bool_t>>>;
185186
using ChildrenById = fatal::tuple< std::pair<std::integral_constant<apache::thrift::field_id_t, 1>, Child<bool, ::apache::thrift::type_class::integral, ::apache::thrift::type::bool_t>>,
186187
std::pair<std::integral_constant<apache::thrift::field_id_t, 2>, Child<::facebook::fboss::TransceiverType, ::apache::thrift::type_class::enumeration, ::apache::thrift::type::enum_t<::facebook::fboss::TransceiverType>>>,
187188
std::pair<std::integral_constant<apache::thrift::field_id_t, 3>, Child<::std::int32_t, ::apache::thrift::type_class::integral, ::apache::thrift::type::i32_t>>,
@@ -207,7 +208,8 @@ std::pair<strings::tunableLaserStatus, ChildThriftPath<::facebook::fboss::Tunabl
207208
std::pair<std::integral_constant<apache::thrift::field_id_t, 26>, ChildThriftPath<::std::set<::std::string>, ::facebook::fboss::fsdb::FsdbOperStateRoot, Self>>,
208209
std::pair<std::integral_constant<apache::thrift::field_id_t, 27>, Child<::std::string, ::apache::thrift::type_class::string, ::apache::thrift::type::string_t>>,
209210
std::pair<std::integral_constant<apache::thrift::field_id_t, 28>, Child<bool, ::apache::thrift::type_class::integral, ::apache::thrift::type::bool_t>>,
210-
std::pair<std::integral_constant<apache::thrift::field_id_t, 29>, ChildThriftPath<::facebook::fboss::TunableLaserStatus, ::facebook::fboss::fsdb::FsdbOperStateRoot, Self>>>;
211+
std::pair<std::integral_constant<apache::thrift::field_id_t, 29>, ChildThriftPath<::facebook::fboss::TunableLaserStatus, ::facebook::fboss::fsdb::FsdbOperStateRoot, Self>>,
212+
std::pair<std::integral_constant<apache::thrift::field_id_t, 30>, Child<bool, ::apache::thrift::type_class::integral, ::apache::thrift::type::bool_t>>>;
211213
template <typename Name>
212214
using NameToId = fatal::tuple<std::pair<strings::present, std::integral_constant<apache::thrift::field_id_t, 1>>,
213215
std::pair<strings::transceiver, std::integral_constant<apache::thrift::field_id_t, 2>>,
@@ -234,7 +236,8 @@ std::pair<strings::fwUpgradeInProgress, std::integral_constant<apache::thrift::f
234236
std::pair<strings::interfaces, std::integral_constant<apache::thrift::field_id_t, 26>>,
235237
std::pair<strings::tcvrName, std::integral_constant<apache::thrift::field_id_t, 27>>,
236238
std::pair<strings::lpoModule, std::integral_constant<apache::thrift::field_id_t, 28>>,
237-
std::pair<strings::tunableLaserStatus, std::integral_constant<apache::thrift::field_id_t, 29>>>::template type_of<Name>;
239+
std::pair<strings::tunableLaserStatus, std::integral_constant<apache::thrift::field_id_t, 29>>,
240+
std::pair<strings::communicationError, std::integral_constant<apache::thrift::field_id_t, 30>>>::template type_of<Name>;
238241

239242
template <typename Name>
240243
using TypeFor = typename Children::template type_of<Name>;
@@ -266,6 +269,7 @@ std::pair<strings::tunableLaserStatus, std::integral_constant<apache::thrift::fi
266269
STRUCT_CHILD_GETTERS(tcvrName, 27);
267270
STRUCT_CHILD_GETTERS(lpoModule, 28);
268271
STRUCT_CHILD_GETTERS(tunableLaserStatus, 29);
272+
STRUCT_CHILD_GETTERS(communicationError, 30);
269273

270274
template <apache::thrift::field_id_t __id>
271275
auto operator()(const std::integral_constant<apache::thrift::field_id_t, __id>&) {
@@ -295,6 +299,7 @@ std::pair<strings::tunableLaserStatus, std::integral_constant<apache::thrift::fi
295299
else if constexpr (__id == 27) { return tcvrName(); }
296300
else if constexpr (__id == 28) { return lpoModule(); }
297301
else if constexpr (__id == 29) { return tunableLaserStatus(); }
302+
else if constexpr (__id == 30) { return communicationError(); }
298303
}
299304

300305
template <typename T, T... Values>

fboss/qsfp_service/if/transceiver.thrift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -601,6 +601,9 @@ struct TcvrState {
601601
27: string tcvrName;
602602
28: bool lpoModule;
603603
29: optional TunableLaserStatus tunableLaserStatus;
604+
// Will be set to true if the last attempt to read data from this transceiver
605+
// was unsuccessful
606+
30: bool communicationError;
604607
}
605608

606609
struct TcvrStats {

0 commit comments

Comments
 (0)