Skip to content

Commit

Permalink
EOS SDK RPC v4.32.2F
Browse files Browse the repository at this point in the history
  • Loading branch information
dywalsh-ar committed Dec 13, 2024
1 parent 15adf08 commit b45744c
Show file tree
Hide file tree
Showing 5 changed files with 108 additions and 2 deletions.
52 changes: 52 additions & 0 deletions proto/eth_lag_intf.proto
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,27 @@ service EthLagIntfMgrService {
*/
rpc bulk_min_links_is( BulkEthLagIntfMinLinksIsRequest ) returns ( BulkEthLagIntfMinLinksIsResponse ) {}

/**
* Returns the configured value for minimum speed (in Mbps)
*
* EosSdk reference: eos::eth_lag_intf_mgr::min_speed
*/
rpc min_speed( EthLagIntfMinSpeedRequest ) returns ( EthLagIntfMinSpeedResponse );

/**
* Sets the configuration for minimum speed (in Mbps)
*
* EosSdk reference: eos::eth_lag_intf_mgr::min_speed_is
*/
rpc min_speed_is( EthLagIntfMinSpeedIsRequest ) returns ( EthLagIntfMinSpeedIsResponse );

/**
* Bulk variant for min_speed_is
*
* EosSdk reference: eos::eth_lag_intf_mgr::min_speed_is
*/
rpc bulk_min_speed_is( BulkEthLagIntfMinSpeedIsRequest ) returns ( BulkEthLagIntfMinSpeedIsResponse );

/**
* Sets the fallback type for a LAG interface.
*
Expand Down Expand Up @@ -464,6 +485,37 @@ message EthLagIntfMinLinksResponse {
uint32 min_links = 1;
}

message EthLagIntfMinSpeedRequest {
// LAG interface ID (Port-Channel)
IntfId eth_lag_intf_id = 1;
}

message EthLagIntfMinSpeedResponse {
// Speed in Mbps
uint64 min_speed = 1;
}

message EthLagIntfMinSpeedIsRequest {
// LAG interface ID (Port-Channel)
IntfId eth_lag_intf_id = 1;
// Speed in Mbps
uint64 min_speed = 2;
}

message EthLagIntfMinSpeedIsResponse {}

message BulkEthLagIntfMinSpeedIsRequest {
// List of individual requests
repeated EthLagIntfMinSpeedIsRequest requests = 1;
}

message BulkEthLagIntfMinSpeedIsResponse {
// Number of successful requests.
uint64 processed = 1;
// Cause of error (if any).
RpcResponseStatus status = 2;
}

message EthLagIntfFallbackTypeIsRequest {
// Interface ID for the LAG interface.
IntfId eth_lag_intf_id = 1;
Expand Down
2 changes: 2 additions & 0 deletions proto/eth_lag_intf_types.proto
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ message EthLagIntf {
uint32 fallback_timeout = 5;
// Default value for the timeout above, in seconds.
uint32 default_fallback_timeout = 6;
// Minimal speed in Mbps.
uint64 min_speed = 7;
}

enum EthLagIntfFallbackType {
Expand Down
37 changes: 37 additions & 0 deletions proto/mpls_route.proto
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,20 @@ service MplsRouteMgrService {
*/
rpc watch( MplsRouteWatchRequest ) returns (stream MplsRouteWatchResponse ) {}

/**
* Subscription to monitor accurate programming of MPLS routes in hardware along
* with the NHG it was pointing to and its programmed version. This request stays
* active until the client cancels or the server shuts down.
*
* MplsIntegratedAckResponse will be generated only for versioned MPLS routes that
* point to a single versioned nexthop group (NHG version could be explicitly set
* by the client or auto-versioned), i.e., 'version_id' field set as part of
* 'MplsRouteSetRequest' and 'MplsRouteVia' contains non-empty 'nexthop_group'
* field.
*/
rpc watch_mpls_integrated( MplsIntegratedAckRequest ) returns (
stream MplsIntegratedAckResponse ) {}

/**
* Initiate a MPLS resync proccess. Starts a blank configuration to be applied once
* resync_complete is called.
Expand Down Expand Up @@ -199,6 +213,8 @@ message OnMplsRouteSet {
MplsRouteKey route_key = 1;
// The ID of the MPLS route's associated FEC.
MplsFecId fec_id = 2;
// The version of the MPLS route, 0 means version is unset.
uint32 version_id = 3;
}

/**
Expand Down Expand Up @@ -249,6 +265,27 @@ message MplsRouteWatchResponse {
OnMplsRouteDump on_mpls_route_dump = 6;
}

message MplsIntegratedAckRequest {}

message NexthopGroupVersionInfo {
string name = 1;
uint32 version = 2;
}

message MplsRouteViaSetVersionInfo {
MplsRouteKey mpls_route_key = 1;
uint32 mpls_route_version_id = 2;
NexthopGroupVersionInfo nexthop_group_version_info = 3;
ViaSetProgrammedHwState hw_state = 4;
}

message MplsIntegratedAckResponse {
// When this field is set to 'True' it indicates RPC server
// has registered for any future updates and streams them.
bool stream_ready = 1;
MplsRouteViaSetVersionInfo route_version_info = 2;
}

message MplsRouteResyncInitRequest {}

message MplsRouteResyncInitResponse {}
Expand Down
12 changes: 12 additions & 0 deletions proto/mpls_route_types.proto
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ message MplsFecId {
*/
message MplsRoute {
MplsRouteKey key = 1;
// MPLS route version in range <1-65535>
optional uint32 version_id = 2;
}

/**
Expand All @@ -42,6 +44,16 @@ message MplsRouteKey {
uint32 metric = 2;
}

/**
* Programmed hardware state of the MPLS route's via set
*/
enum ViaSetProgrammedHwState {
VIA_SET_HW_UNKNOWN = 0;
VIA_SET_HW_DROP = 1;
VIA_SET_HW_PARTIALLY_PROGRAMMED = 2;
VIA_SET_HW_ALL_PROGRAMMED = 3;
}

/**
* An MPLS route via, defining the action to take for a specified MPLS route.
*
Expand Down
7 changes: 5 additions & 2 deletions proto/nexthop_group_types.proto
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,11 @@ message NexthopGroupCounter {
}

enum NexthopGroupProgrammedHwState {
NEXTHOP_GROUP_HW_DROP = 0;
NEXTHOP_GROUP_HW_PARTIALLY_PROGRAMMED = 1;
// All nexthop group entries are not programmed in hardware.
NEXTHOP_GROUP_HW_DROP = 0;
// At least one nexthop group entry is programmed in hardware.
NEXTHOP_GROUP_HW_PARTIALLY_PROGRAMMED = 1;
// All nexthop group entries are programmed in hardware.
NEXTHOP_GROUP_HW_ALL_PROGRAMMED = 2;
}

Expand Down

0 comments on commit b45744c

Please sign in to comment.