Recent Commits to NES-Open-Switch:master

Showing posts with label aggregator. Show all posts
Showing posts with label aggregator. Show all posts

Tuesday, April 5, 2016

LACP upgrade - 13: cleaning up LAG module

Cleaned up #LAG and #LACP modules with #miscellaneous #changes. Corrected the #PDU #handler in LACP module. Reordered PDU buffer data-structure. Removed definitions of the old module data-structures in LAG module. Corrected #aggregator #member-port #list iterator routine. Corrected #member-port #statistics iterator routines with direct references from member-port configuration entries. Updated #custom #aggregator configuration entries with direct reference from the aggregator configuration entries.

#LACP update 26 ...
[commit a64084632d865d7e2dbbbe553d7bc4d64f4bea43] (https://github.com/nes-repo/NES-Open-Switch/commit/a64084632d865d7e2dbbbe553d7bc4d64f4bea43)

Friday, April 1, 2016

LACP upgrade - 12: updating member port selection handler

Updated #member-port #selection #handler in #LACP module. This handler checks and #verifies whether the #peer #partner and the #peer #port #attributes are not changing. The peer port info is recorded while LACP PDU is received. While there is an #administrative #configuration change from the peer side or a #physical #connectivity #changes happens from the remote side, it has to be decided whether the #member-port can still be part of #aggregation or not. The handler reads out the attributes passed in the LACP PDU and compare them against the peer port info recorded earlier. When the attributes differ in the PDU the member-port is marked as not part of the aggregation and #member-port #selection #procedures are executed.

#LACP update 25 ...
[commit d9276967f49544b9bdec8921911edf9f52286aa3] (https://github.com/nes-repo/NES-Open-Switch/commit/d9276967f49544b9bdec8921911edf9f52286aa3)

Thursday, March 31, 2016

LACP upgrade - 11: updating member port distribution and collection handler

Updated #distribution and #collection #handler for #member-ports in #LACP module. The handler #enables the collection and distribution operations #sequentially on each port. After an #aggregator port is selected to be #attached with the member port member port moves to the #synchronized #state with the peer port. i.e. both peer agrees that same aggregator link is used for attaching from both peer systems. Once the synchronization is attained the handler #enables #collection operation on the member port and the #HAL #calls will be done for enabling collecting operation in the #hardware as well. Once this is done, informs the peer about this with an updated LACP PDU. Once both the peers are collecting data from each side of the link for the same aggregator port the #distribution operation will be started on the member port by the handler in the next step. The #HAL call will be done and the updated LACP PDU will be sent to peer to inform them as well. Once both collection and distribution operations are enabled on the member ports the link will be fully participating in the aggregation operation.

#LACP update 24 ...
[commit 10442a8c8cd0bf6e7bba44a62cf01c3fda3a99d3] (https://github.com/nes-repo/NES-Open-Switch/commit/10442a8c8cd0bf6e7bba44a62cf01c3fda3a99d3)

Tuesday, March 8, 2016

LACP upgrade - 5: updating aggregator port state update handler

Updated #aggregator #port #status #handler in #LACP module. The data structure has been updated to use the new updated structure. This routine #updates the aggregator status as part of the #administrative or #operational #changes. The #LAG module uses this to #convey the aggregator #status #change to LACP module. When the aggregator port status changes to DOWN current aggregator selection is marked to be cleared. The remote information is marked as expired. This will cause the remote peer information to be gathered fresh again on port UP change. When port state comes as UP, the peer synchronization is marked as lost and expired and a timer is set to start operation on this port again.

#LACP update 18 ...
[commit 8eb97ea8c7dfb9c391f358e309df5bdc1f86b976] (https://github.com/nes-repo/NES-Open-Switch/commit/8eb97ea8c7dfb9c391f358e309df5bdc1f86b976)

Wednesday, February 17, 2016

LACP upgrade - 4: updated LACP member port detach handler

Updated #member-port #detach #handler in #LACP module. This handler #detaches the #port from the #hardware #aggregator and #inform the #remote #peer of the same. After this a wait timer is set for later processing. This procedure is executed as part of #protocol #state #changes or as a side effect of a management operation. The aggregator is detached from the member-port in hardware and the peer is informed that local end is not in sync anymore. The #collection and #distribution procedures are #disabled in #hardware and the peer will be known of the same when it receives the updated LACP PDU from local end.

#LACP update 17 ...
[commit 246b3ed5760ddcf5cf0765586213084eff6fd177] (https://github.com/nes-repo/NES-Open-Switch/commit/246b3ed5760ddcf5cf0765586213084eff6fd177)

Tuesday, February 16, 2016

LACP upgrade - 3: updated LACP member port initialization and reset routines

Updated #member-port #init and #reset routines in #LACP module. These routine the initialization and reset operation as part of the #LACP #protocol #operation. On init for the member-port the LAG initialization routine is also called for setting defaults for the LAG parameters. The init also causes the #member-port to be #detached from the #aggregator as well. Hence the selection process starts over again and #elects the #aggregator again.

#LACP update 16 ...
[commit 1a5e11fea1f11448ca06d1e44b62971268b366d3] (https://github.com/nes-repo/NES-Open-Switch/commit/1a5e11fea1f11448ca06d1e44b62971268b366d3)

Monday, February 8, 2016

LAG upgrade - 28: added LAG interface OPER-STATUS handler

Added #aggregator logical-interface ( #lag-interface ) #OPER-STATUS #handler routine in LAG module. This enables to #perform the #support #procedures for #lag-interfaces on OPER-STATUS change. The handler is registered with the IF module and #IF #module will #execute this #call-back on respective #parameter #change in IF module. This helps to perform the necessary procedures in LAG module when the OPER-STATUS is changed from IF module. The references to the augmented custom aggregator data-structures has been updated to the standard aggregator data-structures.

#LAG update 36 ...
[commit 53be9578d6d937bfe18fad3d7c1efffc69722550] (https://github.com/nes-repo/NES-Open-Switch/commit/53be9578d6d937bfe18fad3d7c1efffc69722550)

Thursday, February 4, 2016

LAG upgrade - 26: cleaning up LAG management framework for data-structure changes

Added miscellaneous changes in #management #framework in LAG module. #Cleaned up #aggregator #activation handler and added #initialized aggregator #parameters with their #default values. Corrected standard #extended #member #port #iterator routine to provide reference to the standard member port, so that extended parameters embedded in them can be accessed in the mapper routine. Corrected #member #port #create #API to create #statistics, #debug and #extended port #data-structures as part of the member port creation. Corrected #aggregator #create #API to create the #member port #list as part of aggregator creation.

#LAG update 34 ...
[commit 3302d18556d2f6e7652b93118f9ecd186e3451fe] (https://github.com/nes-repo/NES-Open-Switch/commit/3302d18556d2f6e7652b93118f9ecd186e3451fe)

Friday, January 22, 2016

LAG upgrade - 25: removing custom aggregator create API

Removed #custom #aggregator #create / #remove API in LAG module. The custom aggregator entries are #embedded in the #standard #aggregator entries and the standard aggregator create / remove API already handles the required functionality. Hence the redundant external API is being removed.

#LAG update 33 ...
[commit 0a76fda1aa99caf3fb55c5658b71bc4fb6f406ae] (https://github.com/nes-repo/NES-Open-Switch/commit/0a76fda1aa99caf3fb55c5658b71bc4fb6f406ae)

Wednesday, January 6, 2016

LAG upgrade - 22: updating aggregator activation handler

Updating the #aggregator #activation handler in LAG module. The references to the augmented aggregator data-structures has been updated to the standard aggregator data-structures. This allows to directly use the #standard #aggregator data-structure and use the #embedded custom aggregator data-structure for internal operations. The #status related parameters are kept in the custom data-structure and on aggregator status #change these are updated as #active / #not-in-service. When aggregator are not ready to participate in the normal operations because of inconsistency in the applied configuration the state is set as #not-ready.

#LAG update 30 ...
[commit e0fd07fb4b43c2c956e2d465b5383fef93871f06] (https://github.com/nes-repo/NES-Open-Switch/commit/e0fd07fb4b43c2c956e2d465b5383fef93871f06)

Monday, January 4, 2016

LAG upgrade - 21: updating custom aggregator agent mapper routines

Updated #custom aggregator agent routines in LAG module. The agent #iterator routines and #mapper #routine has been updated to use standard #aggregator #based #indexing. This will access the custom aggregator entries #embedded in the standard #aggregator entries and there by removing the redundant indexing. The custom aggregator entries contain attributes like the #aggregator-group, #max-bandwidth, etc ...

#LAG update 29 ...
[commit 09b87ee92cf898c0f940626591f89ff4dc27faec] (https://github.com/nes-repo/NES-Open-Switch/commit/09b87ee92cf898c0f940626591f89ff4dc27faec)

Wednesday, December 23, 2015

LAG upgrade - 18: optimizing custom aggregator parameter entries

Updated #custom #aggregator #parameter agent mapper routines in LAG module. The agent #iterator routines and #mapper #routine has been updated to use standard #aggregator entry based #indexing. This will access the custom aggregator entries by using the #native #indexing. This removes references to the custom aggregator indexing used earlier. The custom aggregator parameter entries has been embedded in the standard aggregator entries. The custom aggregator parameter entries holds the #attributes like the #aggregator-group, #max-bandwidth, etc ...

#LAG update 26 ...
[commit 6dceb8662f0500f5b889db22e71877eb47c112a8] (https://github.com/nes-repo/NES-Open-Switch/commit/6dceb8662f0500f5b889db22e71877eb47c112a8)

Friday, November 27, 2015

LAG upgrade - 11: updating member port list agent mapper routines

Updated #member #port #list agent routines in LAG module. The agent #iterator routines and #mapper #routine has been updated to use #aggregator #based #indexing. This will access the member list embedded in the aggregator and there by removing the redundant indexing.

#LAG update 19 ...
[commit ae96877c7d1a4d0e4a3ba3eef97b522bd0fcbafd] (https://github.com/nes-repo/NES-Open-Switch/commit/ae96877c7d1a4d0e4a3ba3eef97b522bd0fcbafd)

Tuesday, November 24, 2015

LAG upgrade - 10: optimizing member port configuration entries

Hard-linked #member #port #list #configuration in LAG module. The member port list has been #embedded in the #standard #aggregator configuration #entries. This removes the redundant indexing scheme and optimizes the memory used by the member port list entries. The member port list is a #single #entry corresponding to each #aggregator #port, it contains a #bit-map of member port #interface-indexes. For #scalability reasons this data-structure is #not #used any more and the #custom #member #port list is used which can be used in all cases.

#LAG update 18 ...
[commit 2eaf1b01ee39d133c079ef020cf6cb7696fa96d4] (https://github.com/nes-repo/NES-Open-Switch/commit/2eaf1b01ee39d133c079ef020cf6cb7696fa96d4)

Saturday, November 21, 2015

LAG upgrade - 7: aggregator framework update

Updated #aggregator #framework in accordance with the #data-structure #changes in LAG module. Updated the aggregator #create / #remove #routines according to the latest changes. Corrected the #indexing in the #agent #mapper routine.

#LAG update 15 ...
[commit 99c33261b9d71c7bfc1fcedd669ab4f71e6524a6] (https://github.com/nes-repo/NES-Open-Switch/commit/99c33261b9d71c7bfc1fcedd669ab4f71e6524a6)

Saturday, November 14, 2015

LAG update - 5: starting framework upgrade

#Upgrading the #agent #framework for #aggregator and #member #ports in LAG module. Added new upgraded data-structures for aggregator and member ports for upgrade.

#LAG update 13 ...
[commit a9034b687009c1fe73011dc8285657f4ab99aba7] (https://github.com/nes-repo/NES-Open-Switch/commit/a9034b687009c1fe73011dc8285657f4ab99aba7)

Friday, November 13, 2015

LAG update - 4: agent cleanup

#Cleaning up the #agent #framework in LAG module. Corrected #agent #identifier for custom LAG configuration parameters. Correcting the overall #aggregated #port #speed as overall #bandwidth.

#LAG update 12 ...
[commit a84c013c4bc1017d0e4b5552ff7f422432b4c5dd] (https://github.com/nes-repo/NES-Open-Switch/commit/a84c013c4bc1017d0e4b5552ff7f422432b4c5dd)

Wednesday, June 24, 2015

LACP PDU processing update - 1: link LACP PDU processing routine with module message queue

Added changes in LACP module to connect the #message #queue with #PDU #processing routine. This will extract the LACP PDUs added in the message queue and send them to PDU processing routine. This will perform the #aggregator and #member #port related operations based on the #received #LACP #PDU s.

#LACP update 10 ...
[commit 6f3b40b819e9b87dd223d058a6523ea33ee7af88]

Tuesday, May 26, 2015

LAG logical port update - 2

Added changes in lag module for handling the #lag #aggregator #logical #interface #status #change s. Similar status handler has been added for #lag #member #port s as well. When member port status is changed in other modules (e.g. ethernet) it will cascaded to lag module. The member port status changes may cause aggregator port status change as well. This will enable lag module to perform aggregator specific operations to be performed on relation with the member port status change.

#LAG update 9 ...
[commit 58cf74e3070a523621f97d5b1a0ad465fcedc08b]