Recent Commits to NES-Open-Switch:master

Showing posts with label handler. Show all posts
Showing posts with label handler. 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)

Wednesday, March 30, 2016

LACP upgrade - 10: updating LACP PDU partner info handler

Updated the LACP #PDU #handler in #LACP module. This handler will #process the #PDU while #received on port. The #peer #partner #info of the received port is #updated from the info received in the LACP PDU. The info in the PDU is checked against the actor port specific info to #decide whether the #peer port is in #sync with the received port. The partner info like oper-port, oper-priority, oper-system-id, oper-system-priority, oper-key and oper-stat are populated according to the values received from LDU. The actor specific info like port, port-priority, system-id, system-priority and oper-key are cross checked with the info in PDU to decide whether synchronization has been attained with the peer port.

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

Tuesday, March 22, 2016

LACP upgrade - 9: updating LACP PDU transmit handler

Updated the #PDU #transmit #handler in the #LACP module. Whenever updated LACP packets has to be sent to the #peer #partner node, the PDUs are #composed from the internal data-structures in this routine. This routine access the member port data-structures for #creating the individual #TLVs in the LACP PDU. The data-structure references has been corrected to the native member port structures. This routine passes the created PDUs to the appropriate #platform #handlers to send them out of the actual port.

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

Thursday, March 17, 2016

LACP upgrade - 7: updating the received LACP PDU handler

Updated incoming #LACP #PDU #handler in LACP module. The PDU handler has been updated to use native member port structures. The #peer #partner #data-structures on the particular member port are updated and internal LACP state on the port is updated in the handler. The routine to update the peer partner data-structures with the #administratively configured #default #values has been updated to remove references to the augmented data-structures. The #partner #info #expire #handler also has been updated in the same lines.

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

Wednesday, March 9, 2016

LACP upgrade - 6: updating member port aggregator attach handler

Updated #member #port #attach #handler with the aggregator in the #LACP module. This handler make the #hardware calls to #attach the member port with the selected aggregator and mark the member port state as attached. The #remote #peer is informed of this by sending a #new #LACP #PDU and peer is marked as #synchronized. Later, when peer responds with it's PDU the actual #distribution and #collection operations will be #started for member ports. On attaching the member port with the aggregator the LAG distribution and collection operations will be started in hardware. i.e. The traffic sent out on the aggregator port will be distributed to the member ports and traffic received on the member ports will be collected on to the combined aggregator port.

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

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)

Thursday, February 11, 2016

LACP upgrade - 1: updated LACP aggregator and member port activation handler

Updated the port status #activation #handler for both #aggregator and the #member-port in #LACP module. The data type references has been corrected to use the new updated type. The activation handlers #cascade the #configuration #state #changes from the #LAG module to LACP module. On moving the port to #active state from LAG module, the #LACP #protocol specific procedures will be #started for these ports. Similarly on putting these ports in to #not-in-service or #not-ready state, the #protocol procedures are #stopped and #cleanup is done for these ports.

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

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, January 14, 2016

GMPLS update - 55: adding standard tunnel activation handler

Added the #tunnel #activation #handler in GMPLS module. This will change the #tunnel #state as #active / #not-in-service effectively #enabling / #disabling the tunnel operation. On activating the tunnel depending on the tunnel type further actions will change. For a #static tunnel, the #bandwidth #reservation will be performed on the lower links and the #external #paths will be found in that process. The #cross-connects and the #segments will be created and they will be further made active, effectively cascading the activation operation. For #dynamically #signaled #tunnels the signaling modules will take over the further operations.

#GMPLS update 55 ...
[commit 43fbc1683644f5b2fba96ab5dde255d140e50345] (https://github.com/nes-repo/NES-Open-Switch/commit/43fbc1683644f5b2fba96ab5dde255d140e50345)

Tuesday, November 17, 2015

GMPLS update - 40: adding in-segment activation handler

Added #in-segment #activation #handler in GMPLS module. On activating the in-segment it #enables the #LSP #segment operations on it. i.e. It #starts #receiving the #LSP #labelled #data on the interface. When cross-connect is also activated the received data will switched to the respective out-segments - with the respective out-going labels. And further passed to the out-going interfaces, thus completing the #label-switched #data-path.

#GMPLS update 40 ...
[commit d5de3572598d73b0f1fc8cf71175785f3cf4f9cd] (https://github.com/nes-repo/NES-Open-Switch/commit/d5de3572598d73b0f1fc8cf71175785f3cf4f9cd)

Saturday, October 3, 2015

GMPLS interface update - 3: added MPLS interface ADMIN-STATUS handler

Added #MPLS-interface #ADMIN-STATUS #handler routine in GMPLS module. This enables to #perform the #support #procedure s for #MPLS-interface s on ADMIN-STATUS change. The handler is register ed 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 GMPLS module when the ADMIN-STATUS is changed from IF module.

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

Thursday, October 1, 2015

IF update - 17: adding interface create/remove handler

Added support for #logical-interface #create / #remove #handler in IF module. On #row-status #change for interfaces in IF module will #call this #handler for #perform ing the #support #procedure s in the respective module. The interface #handler has been #register ed from the #GMPLS module to complete the interface create/remove sequence for MPLS-interface s. The existing interface activation handler in IF module has been updated to use the newly added interface call-back routine.

#IF update 17 + #GMPLS update 12 ...
[commit 43ff119c1f494c3a74324b6851e0c62aba933fe8] (https://github.com/nes-repo/NES-Open-Switch/commit/43ff119c1f494c3a74324b6851e0c62aba933fe8)

Sunday, September 27, 2015

GMPLS interface update - 1: added MPLS interface create/remove sequence

Added #MPLS-interface #create / #remove #sequence in GMPLS module. This enables to #create #MPLS-interface s #through the #IF #module #interface #management operations. On creating the MPLS logical-interface in the IF module the corresponding interface is created in the GMPLS module through the logical-interface handler routine. On removing the MPLS logical-interface in IF module, corresponding operations are performed in GMPLS module accordingly. The #MPLS-interface #activation and #ADMIN-STATUS operations are performed in the GMPLS module #through the appropriate logical-interface #handler #routine s defined by GMPLS module for the same, and the triggers for these operations are passed from the IF module to GMPLS module through these handlers.

#GMPLS update 10 ...
[commit b7ac22f2c0ecbd173325f8331640ab3399ba9f2c] (https://github.com/nes-repo/NES-Open-Switch/commit/b7ac22f2c0ecbd173325f8331640ab3399ba9f2c)

Wednesday, September 23, 2015

IF update - 14: updating logical interface stacking handler

Updated the #logical-interface #stack #handling routines in IF module. The #stacking #change #handler routines has been #upgraded for the new data-structure changes. The interface stacking change handler will #check with the #upper and #lower #interface #layer s #on #create / #remove operations for each stack slice. e.g. On adding a #TE-Link over an #ethernet port the port capability (L2/L3/MPLS, bandwidth, MTU, duplexity, etc ...) and it's current state (OPER-STATUS) is checked. On creating the TE-Link TE-Link bandwidth is deduced from the lower layer ethernet port speed/bandwidth. On removing an GMPLS / #MPLS-tunnel, the earlier reserved bandwidth is returned back to it's lower layer #MPLS-interface and #TE-Link. These operations are supported through the interface stack change handler.

#IF update 14 ...
[commit 57a5237d1912bcff8c85f1e3d4448c52311a44f1] (https://github.com/nes-repo/NES-Open-Switch/commit/57a5237d1912bcff8c85f1e3d4448c52311a44f1)

Sunday, September 20, 2015

IF update - 13: updating logical interface status handler

Updated the #logical-interface #hierarchical #status #handling routines in IF module. The #status #change #handler routines has been #upgraded for the new data-structure changes. The hierarchical status handler #propagate s the interface #status #from the #lower interface #layer s #to the #higher #layer s. The interface #stacking enables the interface status to be decided based on the lower layer component interfaces. The interface status will depend on it's own #ADMIN-STATUS, #interface-type dependent #procedure s and #lower layer #interface #OPER-STATUS.

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

Saturday, September 19, 2015

IF update - 12: updating logical interface status utilities

Updated the #logical #interface status handling routines in IF module. The #status #change and #status #handler routines has been #upgraded for the new data-structure changes. The obsoleted augmented logical interface structures has been removed from the IF module.

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

Wednesday, September 16, 2015

IF update - 11: updating custom logical interface entries

Updated the #custom #logical #interface configuration #create / #remove routines in IF module. The #agent level #traversal #routine s and #mapper routines has been #upgraded for the new data-structure changes. The #interface #activation #handler has been adapted for the new changes. This allows to directly create the logical interfaces by the operator.

#IF update 11 ...
[commit b235d3e2cf04471f99a2bb034d1469a2ce4ea24a] (https://github.com/nes-repo/NES-Open-Switch/commit/b235d3e2cf04471f99a2bb034d1469a2ce4ea24a)