Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 70 additions & 0 deletions orchagent/port/portcnt.h
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,76 @@ class PortConfig final
bool is_set = false;
} post3; // Port serdes post3

struct {
std::vector<std::uint32_t> value;
bool is_set = false;
} line_tx_fir_pre1; // Gearbox line-side port serdes pre1

struct {
std::vector<std::uint32_t> value;
bool is_set = false;
} line_tx_fir_pre2; // Gearbox line-side port serdes pre2

struct {
std::vector<std::uint32_t> value;
bool is_set = false;
} line_tx_fir_pre3; // Gearbox line-side port serdes pre3

struct {
std::vector<std::uint32_t> value;
bool is_set = false;
} line_tx_fir_main; // Gearbox line-side port serdes main

struct {
std::vector<std::uint32_t> value;
bool is_set = false;
} line_tx_fir_post1; // Gearbox line-side port serdes post1

struct {
std::vector<std::uint32_t> value;
bool is_set = false;
} line_tx_fir_post2; // Gearbox line-side port serdes post2

struct {
std::vector<std::uint32_t> value;
bool is_set = false;
} line_tx_fir_post3; // Gearbox line-side port serdes post3

struct {
std::vector<std::uint32_t> value;
bool is_set = false;
} system_tx_fir_pre1; // Gearbox system-side port serdes pre1

struct {
std::vector<std::uint32_t> value;
bool is_set = false;
} system_tx_fir_pre2; // Gearbox system-side port serdes pre2

struct {
std::vector<std::uint32_t> value;
bool is_set = false;
} system_tx_fir_pre3; // Gearbox system-side port serdes pre3

struct {
std::vector<std::uint32_t> value;
bool is_set = false;
} system_tx_fir_main; // Gearbox system-side port serdes main

struct {
std::vector<std::uint32_t> value;
bool is_set = false;
} system_tx_fir_post1; // Gearbox system-side port serdes post1

struct {
std::vector<std::uint32_t> value;
bool is_set = false;
} system_tx_fir_post2; // Gearbox system-side port serdes post2

struct {
std::vector<std::uint32_t> value;
bool is_set = false;
} system_tx_fir_post3; // Gearbox system-side port serdes post3

struct {
std::vector<std::uint32_t> value;
bool is_set = false;
Expand Down
112 changes: 112 additions & 0 deletions orchagent/port/porthlpr.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -708,6 +708,20 @@ template bool PortHelper::parsePortSerdes(decltype(PortSerdes_t::main) &serdes,
template bool PortHelper::parsePortSerdes(decltype(PortSerdes_t::post1) &serdes, const std::string &field, const std::string &value) const;
template bool PortHelper::parsePortSerdes(decltype(PortSerdes_t::post2) &serdes, const std::string &field, const std::string &value) const;
template bool PortHelper::parsePortSerdes(decltype(PortSerdes_t::post3) &serdes, const std::string &field, const std::string &value) const;
template bool PortHelper::parsePortSerdes(decltype(PortSerdes_t::line_tx_fir_pre1) &serdes, const std::string &field, const std::string &value) const;
template bool PortHelper::parsePortSerdes(decltype(PortSerdes_t::line_tx_fir_pre2) &serdes, const std::string &field, const std::string &value) const;
template bool PortHelper::parsePortSerdes(decltype(PortSerdes_t::line_tx_fir_pre3) &serdes, const std::string &field, const std::string &value) const;
template bool PortHelper::parsePortSerdes(decltype(PortSerdes_t::line_tx_fir_main) &serdes, const std::string &field, const std::string &value) const;
template bool PortHelper::parsePortSerdes(decltype(PortSerdes_t::line_tx_fir_post1) &serdes, const std::string &field, const std::string &value) const;
template bool PortHelper::parsePortSerdes(decltype(PortSerdes_t::line_tx_fir_post2) &serdes, const std::string &field, const std::string &value) const;
template bool PortHelper::parsePortSerdes(decltype(PortSerdes_t::line_tx_fir_post3) &serdes, const std::string &field, const std::string &value) const;
template bool PortHelper::parsePortSerdes(decltype(PortSerdes_t::system_tx_fir_pre1) &serdes, const std::string &field, const std::string &value) const;
template bool PortHelper::parsePortSerdes(decltype(PortSerdes_t::system_tx_fir_pre2) &serdes, const std::string &field, const std::string &value) const;
template bool PortHelper::parsePortSerdes(decltype(PortSerdes_t::system_tx_fir_pre3) &serdes, const std::string &field, const std::string &value) const;
template bool PortHelper::parsePortSerdes(decltype(PortSerdes_t::system_tx_fir_main) &serdes, const std::string &field, const std::string &value) const;
template bool PortHelper::parsePortSerdes(decltype(PortSerdes_t::system_tx_fir_post1) &serdes, const std::string &field, const std::string &value) const;
template bool PortHelper::parsePortSerdes(decltype(PortSerdes_t::system_tx_fir_post2) &serdes, const std::string &field, const std::string &value) const;
template bool PortHelper::parsePortSerdes(decltype(PortSerdes_t::system_tx_fir_post3) &serdes, const std::string &field, const std::string &value) const;
template bool PortHelper::parsePortSerdes(decltype(PortSerdes_t::attn) &serdes, const std::string &field, const std::string &value) const;
template bool PortHelper::parsePortSerdes(decltype(PortSerdes_t::ob_m2lp) &serdes, const std::string &field, const std::string &value) const;
template bool PortHelper::parsePortSerdes(decltype(PortSerdes_t::ob_alev_out) &serdes, const std::string &field, const std::string &value) const;
Expand Down Expand Up @@ -1096,6 +1110,104 @@ bool PortHelper::parsePortConfig(PortConfig &port) const
return false;
}
}
else if (field == PORT_LINE_TX_FIR_PRE1)
{
if (!this->parsePortSerdes(port.serdes.line_tx_fir_pre1, field, value))
{
return false;
}
}
else if (field == PORT_LINE_TX_FIR_PRE2)
{
if (!this->parsePortSerdes(port.serdes.line_tx_fir_pre2, field, value))
{
return false;
}
}
else if (field == PORT_LINE_TX_FIR_PRE3)
{
if (!this->parsePortSerdes(port.serdes.line_tx_fir_pre3, field, value))
{
return false;
}
}
else if (field == PORT_LINE_TX_FIR_MAIN)
{
if (!this->parsePortSerdes(port.serdes.line_tx_fir_main, field, value))
{
return false;
}
}
else if (field == PORT_LINE_TX_FIR_POST1)
{
if (!this->parsePortSerdes(port.serdes.line_tx_fir_post1, field, value))
{
return false;
}
}
else if (field == PORT_LINE_TX_FIR_POST2)
{
if (!this->parsePortSerdes(port.serdes.line_tx_fir_post2, field, value))
{
return false;
}
}
else if (field == PORT_LINE_TX_FIR_POST3)
{
if (!this->parsePortSerdes(port.serdes.line_tx_fir_post3, field, value))
{
return false;
}
}
else if (field == PORT_SYSTEM_TX_FIR_PRE1)
{
if (!this->parsePortSerdes(port.serdes.system_tx_fir_pre1, field, value))
{
return false;
}
}
else if (field == PORT_SYSTEM_TX_FIR_PRE2)
{
if (!this->parsePortSerdes(port.serdes.system_tx_fir_pre2, field, value))
{
return false;
}
}
else if (field == PORT_SYSTEM_TX_FIR_PRE3)
{
if (!this->parsePortSerdes(port.serdes.system_tx_fir_pre3, field, value))
{
return false;
}
}
else if (field == PORT_SYSTEM_TX_FIR_MAIN)
{
if (!this->parsePortSerdes(port.serdes.system_tx_fir_main, field, value))
{
return false;
}
}
else if (field == PORT_SYSTEM_TX_FIR_POST1)
{
if (!this->parsePortSerdes(port.serdes.system_tx_fir_post1, field, value))
{
return false;
}
}
else if (field == PORT_SYSTEM_TX_FIR_POST2)
{
if (!this->parsePortSerdes(port.serdes.system_tx_fir_post2, field, value))
{
return false;
}
}
else if (field == PORT_SYSTEM_TX_FIR_POST3)
{
if (!this->parsePortSerdes(port.serdes.system_tx_fir_post3, field, value))
{
return false;
}
}
else if (field == PORT_ATTN)
{
if (!this->parsePortSerdes(port.serdes.attn, field, value))
Expand Down
14 changes: 14 additions & 0 deletions orchagent/port/portschema.h
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,20 @@
#define PORT_POST1 "post1"
#define PORT_POST2 "post2"
#define PORT_POST3 "post3"
#define PORT_LINE_TX_FIR_PRE1 "line_tx_fir_pre1"
#define PORT_LINE_TX_FIR_PRE2 "line_tx_fir_pre2"
#define PORT_LINE_TX_FIR_PRE3 "line_tx_fir_pre3"
#define PORT_LINE_TX_FIR_MAIN "line_tx_fir_main"
#define PORT_LINE_TX_FIR_POST1 "line_tx_fir_post1"
#define PORT_LINE_TX_FIR_POST2 "line_tx_fir_post2"
#define PORT_LINE_TX_FIR_POST3 "line_tx_fir_post3"
#define PORT_SYSTEM_TX_FIR_PRE1 "system_tx_fir_pre1"
#define PORT_SYSTEM_TX_FIR_PRE2 "system_tx_fir_pre2"
#define PORT_SYSTEM_TX_FIR_PRE3 "system_tx_fir_pre3"
#define PORT_SYSTEM_TX_FIR_MAIN "system_tx_fir_main"
#define PORT_SYSTEM_TX_FIR_POST1 "system_tx_fir_post1"
#define PORT_SYSTEM_TX_FIR_POST2 "system_tx_fir_post2"
#define PORT_SYSTEM_TX_FIR_POST3 "system_tx_fir_post3"
#define PORT_ATTN "attn"
#define PORT_OB_M2LP "ob_m2lp"
#define PORT_OB_ALEV_OUT "ob_alev_out"
Expand Down
Loading