VSI Discovery and Configuration Protocol (VDP) (Working Draft) Proposed Resolutions to subset of comments against 802.1Qbg Draft-1 Chait Tumuluri (Emulex),

Slides:



Advertisements
Similar presentations
Bob Sultan ( evb protocol alternatives.
Advertisements

 Recap the proposal  Questions from last meeting and answers.
IEEE 802.1D: Spanning Tree Algorithm and the Filtering Database Ben Schultz Bridge Functions Consortium UNH InterOperability Lab July, 2000.
Remote Procedure Call (RPC)
1 SpaceWire Update NASA GSFC November 25, GSFC SpaceWire Status New Link core with split clock domains complete (Much faster) New Router core.
Bridging. Bridge Functions To extend size of LANs either geographically or in terms number of users. − Protocols that include collisions can be performed.
Flow and Error Control. Flow Control Flow control coordinates the amount of data that can be sent before receiving acknowledgement It is one of the most.
Data Link Layer as a Reliable Data Transport Protocol Computer Networks Computer Networks Term B10.
Data Link Layer Review Advanced Computer Networks.
Networks: Data Link Layer1 Data Link Layer. Networks: Data Link Layer2 Data Link Layer Provides a well-defined service interface to the network layer.
CAPWAP Editor’s Report Pat R. Calhoun Cisco Systems, Inc.
Software Architecture for ColdFusion Developers Unit 4: Application Events and Global Variables.
Abierman-rmonwg-17mar03 1 RMONMIB WG 56th IETF San Francisco, California March 17, 2003 Discussion: Admin:
Cisco S2 C4 Router Components. Configure a Router You can configure a router from –from the console terminal (a computer connected to the router –through.
© 2009 Voltaire Inc.1 Fabric Management in VM environment Marina Lipshteyn, Voltaire.
Bridging. Bridge Functions To extend size of LANs either geographically or in terms number of users. − Protocols that include collisions can be performed.
Yang Shi, Chris Elliott, Yong Zhang IETF 73 rd 18 Nov 2008, Minneapolis CAPWAP WG MIB Drafts Report.
Rough Outline for a Intra-Portal Protocol Version 03 Stephen Haddock September 12,
Topology/Protection Comment Resolution Summary Jason Fan, Section Editor Jim Kao, Technical Editor
Doc.: IEEE /0201r0 Submission March 2005 Michael Montemurro and Matt SmithSlide 1 Communications with a target AP prior to roaming. Notice: This.
Response Status Codes Concepts for oneM2M Group Name: WG3 Source: Philip Jacobs, Cisco, Meeting Date: Agenda Item: TS-0004.
ForCES protocol updates draft-ietf-forces-protocol-04.txt Robert Haas, Aug 1, 2005 IETF 63, Paris.
GPRS functionality overview in Horner OCS. GPRS functionality – Peer to Peer communication over GPRS – CSCAPE connectivity over GPRS – Data exchange using.
Summary of Changes 00  01 Structured capabilities into 4 separate Capabilites that can be individually negotiated (instead of 3 incremental capabilities):
Omniran CF00 1 Key Concepts of Fault Diagnostics and Maintenance Date: [ ] Authors: NameAffiliationPhone Hao WangFujitsu R&D
IEEE MEDIA INDEPENDENT HANDOVER DCN: Title: MIH State Machines Representation Date Submitted: October 2007.
IETF68 DIME WG Open Issues for RFC3588bis Victor Fajardo (draft-ietf-dime-rfc3588bis-02.txt)
Doc.: IEEE /xxxxr0 July 2011 Padam Kafle, Nokia Submission Simplification of Enablement Procedure for TVWS Authors: Date: July 18, 2011 NameCompanyAddressPhone .
NVO3 VDP Gap Analysis VM to NVE Specific Control Plane Requirements Paul Bottorff (HP) Joseph Pelissier (Cisco) Patricia Thaler (Broadcom)
COSC 3213: Computer Networks I Instructor: Dr. Amir Asif Department of Computer Science York University Section M Topics: 1.Flow Control and ARQ Protocols.
Performance Evaluation of L3 Transport Protocols for IEEE Richard Rouil, Nada Golmie and David Griffith National Institute of Standards and Technology.
© 2007 Open Grid Forum NSI CS Protocol State Machine Message Handling OGF 37.
Doc.:IEEE /517r0 Submission August 2002 IBM Research Slide 1 Some Clarifications to IEEE e, Draft 3.2, August 2002 H.L. Truong and G. Vannuccini.
GEANT OpenCall – NSI CONTEST NSI CONTEST – Demonstrator Giacomo Bernini Nextworks GENI Networking Conference 22, March 2015, Washington DC.
Data Link Layer Flow Control.
TCP - Part III TCP Timers Selective Acknowledgements.
Definitions of ACK and CTS Timeout
ISIS Auto-Configuration (draft-ietf-isis-auto-conf-03)
Date: Authors: February 2010 Month Year
TCP Wrap-up TCP Timers Selective Acknowledgements.
802-1AX-2014-Cor-1-d0-5 Sponsor Ballot Comments Version 2
IEEE 802.1AS REV D5.0 Review Comments
Instructor Mazhar Hussain
Locationing Protocol for 11az
802.1Qbg VSI Discovery and Configuration State Machine
Flow and Error Control.
doc.: IEEE <doc#>
Data Link Layer as a Reliable Data Transport Protocol
Proposal for IEEE 802.1CQ-LAAP
802-1AX-2014-Cor-1-d0-5 Sponsor Ballot Comments Version 1
Proposal for IEEE 802.1CQ-LAAP
Summary of Unresolved General Comments for 2/14 TGs Telecon
NMDA Q & A draft-dsdt-nmda-guidelines &
Proposal for IEEE 802.1CQ-LAAP
Post WG LC NMDA datastore architecture draft
802.1Qbg VSI Discovery and Configuration State Machine
Paul Bottorff 802.1Qbg Maintenance Items Paul Bottorff 2/28/2019 EVB.
Simulation Evaluation of Peer Link Management Protocol
Today: Distributed File Systems
A novel hidden station detection mechanism
PLE Comment Resolution
Requirements and Consideration Discussion Rakesh Sharma
PLE Comment Resolution Update
Proposed EVB TLV v2 March 4, 2010.
Requirements and Consideration Discussion Rakesh Sharma
Paul Bottorff 802.1Qbg Maintenance Items Paul Bottorff 6/1/2019 EVB.
Congestion Control Comments Resolution
IEEE MEDIA INDEPENDENT HANDOVER DCN:
TGba Possible Architecture and Specification Issues
Date: Authors: February 2010 Month Year
Presentation transcript:

VSI Discovery and Configuration Protocol (VDP) (Working Draft) Proposed Resolutions to subset of comments against 802.1Qbg Draft-1 Chait Tumuluri (Emulex), Jeffrey Lynch (IBM), Vijoy Pandey (BNT), Rakesh Sharma (BM), Renato Recio (IBM), Srikanth Kilaru (Juniper) Version 04c 08/10/2010

Summary of changes 1. Compliance to IEEE Protocols State Machines Conventions (Ref: IEEE 802.1AB x.xx) 2. Changed timer expiration events to comply with IEEE state machines style. 3. Changed state machine layout to match IEEE state machines. 4. Misc. other style changes in state machines to make them consistent with IEEE state machines. 5. Updated local variables and procedures names and description for additional clarification. 6. Ensured that changes do not impact state machines operation other than style and layout.

Station State Machine (One Instance per VSI) INIT operTLV = NULL sysTLV = NULL rTLV = NULL localChange = FALSE vsiState = UNASSOCIATED STATION_PROCESSING TxTLV (sysTLV) ACKTimer = ACK_TIMEOUT_VALUE localChange == TRUE PREASSOCIATED vsiStatus = ProcRxAndSetCfg (rTLV,operTLV,sysTLV) If (vsiStatus == OK) vsiState = PREASSOCIATED localChange = FALSE ActivityTimer = ACTIVITY_TIMER_MAX ASSOCIATED vsiStatus = ProcRxAndSetCfg (rTLV,operTLV,sysTLV) If (vsiStatus == OK) vsiState = ASSOCIATED localChange = FALSE ActivityTimer = ACTIVITY_TIMER_MAX localChange == TRUE || ActivityTimer == 0 rTLV != NULL && (rTLV.mode1 == PRE-ASSOC || rTLV.mode1 == PRE-ASSOCR) && rTLV.mode2 == SUCCESS localChange == TRUE || ActivityTimer == 0 rTLV != NULL && rTLV.mode1 == ASSOC && (rTLV.mode2 == SUCCESS || (rTLV.mode2 != SUCCESS && localChange == TRUE vsiState == ASSOCIATED)) (rTLV != NULL && rTLV.mode1 == De-Assoc) || vsiStatus != OK (rTLV != NULL && rTLV.mode1 == De-Assoc) || vsiStatus != OK (rTLV != NULL && rTLV.mode1 == DE-ASSOC) || (ACKTimer == 0) BEGIN END

VSI State Machine – Bridge (Draft) (One Instance per VSI) INIT operTLV = NULL rTLV = NULL vsiState = UNASSOCIATED localChange-DeAssoc = FALSE BRIDGE_PROCESSING vsiStatus = Proc_VTID_Def_Fetch(rTLV,operTLV) BridgeResTimer = MAX_BRIDGE_TIMER rTLV != NULL PREASSOCIATED vsiState = PREASSOCIATED operTLV = rTLV; operTLV.mode2 = SUCCESS TxTLV(operTLV) InactivityTimer = MAX_INACTIVE_TIME ASSOCIATED vsiState = ASSOCIATED operTLV = rTLV; operTLV.mode2 = SUCCESS TxTLV (operTLV) InactivityTimer = MAX_INACTIVE_TIME (rxTLV.mode1 == Assoc && vsiStatus == SUCCESS) II (vsiState == ASSOCIATED && rTLV.mode1 == Assoc && vsiStatus == FAIL) DEASSOCIATED vsiState = UNASSOCIATED operTLV = rTLV; operTLV.mode2 = FAIL TxTLV (operTLV) rTLV.mode1 == DeAssoc || InactivityTimer == 0 || localChange-DeAssoc == TRUE rTLV.mode1 == De-Assoc rTLV != NULL && (rTLV.mode1 == Assoc || rxTLV.mode1 == Pre-Assoc) rTLV != NULL && ((rTLV.mode1 == Assoc || rxTLV.mode1 == Pre-Assoc) && vsiStatus == FAIL) || (rTLV.mode1 == De-Assoc)) rTLV != NULL && (rTLV.mode1 == Assoc || rxTLV.mode1 == Pre-Assoc) vsiStatus == SUCCESS && rTLV.mode1 == Pre-Assoc INACTIVE vsiState = UNASSOCIATED operTLV.mode1 = De-Assoc operTLV.mode2 = SUCCESS TxTLV (operTLV) InactivityTimer == 0 || localChange-DeAssoc InactivityTimer == 0 || localChange-DeAssoc == TRUE BEGIN END

VSI State Machine Local Variables and Procedures 1. vsiState: Local variable for current state. Possible states are: UNASSOCIATED, PREASSOCIATED and ASSOCIATED 2. operTLV: Current local (active) TLV (configuration) of Station. 3. sysTLV: TLV from station management system e.g. Hypervisor. In addition localChange variable must be set to TRUE. If localChange is TRUE or ActivityTimer has expired, sysTLV can not change (resource lock semantics). 4. rTLV: TLV received from remote (station or bridge) 5. bTLV: TLV received from remote (station or bridge) 6. TxTLV(vsiTLV): Transmits TLV using TLV transport (ECP) service interfaces. Includes support for aggregation of VSI TLVs. 7. Proc_VSI_Def_Fetch (): Bridge procedure to fetch VSI definition based on Associate and/or Pre-Associate parameters based on received Remote TLV parameters. And sets vsiStatus in case of error. This function handles PreAssociate with and without resource reservation case as well. 8. ACKtimer: ACKtimer is ACK Timer local variable. Response (ACK or NACK) is expected before timer expires. 9. ACK_TIMEOUT_VALUE: This local variable contains ACK timeout value for the machine.

VSI State Machine Local Variables and Procedures 1. INACTIVITY_TIMER Bridge timer local variable for inactivity timer. 2. MAX_INACTIVE_TIME Max inactivity time on the bridge. It is set by bridge based on configured value and complies to range specified in 802.1Qbg. 3. BridgeResTimer Bridge resource fetch timer local timer. 4. localChange-DeAssoc Local variable for de-associating VSI. It is set to TRUE by bridge management when VSI to be disconnected. 5. MAX_BRIDGE_TIMER Local variable that stores max bridge timer value. It is set by bridge based on configured value and complies to range specified in 802.1Qbg. 6. vsiStatus = ProcRxAndSetCfg(rTLV,operTLV,sysTLV) Validate received TLV, set configuration and return vsiStatus 7. vsiStatus = Proc_VTID_Def_Fetch(rTLV, operTLV) Validate received TLV, get VTID definition, set configuration and return vsiStatus.

Backup

VDP Objectives 1. Support VSI preAssociate (with and without resource reservations), Associate and deAssociate. 2. ASSOCIATE, PreAssociate and DeAssociate are Idempotent i.e. can be repeated. 3. Capability to Associate skipping PreAssociate. 4. VDP will work both for VEPA and VEB environments. 5. Timeout mechanism to ensure: a.Bridge resources are not reserved too long for inactive VSIs (lease semantics) b.Allow removing resources from inactive VSIs with the goal of a.Conserve bridges resources (Number VSIs being handled by bridge can be large). b.Prevent inactive or VMs in error state to continue to hold resources. 6. Timeout out values to be negotiated on per channel between station and bridge. One timeout used for all ULPs on the channel negotiated using EVB TLV.

VDP Objectives (continued) 7. Manageability and Robustness a.Ensure VSI state and configuration between the Station and the Bridge remains consistent. b.Hard errors at the Bridge or the Hypervisor that can impact individual VSI or Hypervisor/Bridge as a whole. All VSI configuration goes away in this situation. c.Bridge and Station Errors are detected through one or more of the following mechanisms. a.VSI KEEP-ALIVE (periodic transmission of VSI TLV from station and response from Bridge) b.ACK Timer c.Transport (ECP and LLDP) status indications. d.Bridge and Hypervisor administrative capability to force VSI deAssociate. e.ASSOCIATED VSI remains associated with existing configuration if a new associate is not successfully completed. f.Statistics and logging support (need specific proposal).

VSI State Machine – Station (One Instance per VSI) localChange-PreAssoc PreAssoc_NAK_Rx II ACKTimeout || DeAssocAck Rx vsiError || localChange-DeAssoc localChange-Assoc INIT vsiLocalTLV = NULL vsiState = UNASSOCIATED PREASSOC_PROCESSING TxTLV(PreASSOC) StartACKTimer() PREASSOCIATED vsiError = ProcRxAndSetCfg(vsiRemoteTLV,vsiLocalTLV,vsiSt ate); If (!vsiError) vsiState = PREASSOCIATED localChange-PreAssoc || ACIIVITY_TIMER_Event PreAssoc_ACK_Rx DEASSOC_PROCESSING TxTLV(DeASSOC) StartACKTimer() ASSOC_PROCESSING TxTLV(ASSOC) StartACKTimer() ASSOCIATED vsiError = ProcRxAndSetCfg(vsiRemoteTLV,vsiLocalTLV,vsiState); If (!vsiError) vsiState = ASSOCIATED (Assoc_NAK_Rx && VsiState == !Assoc) II ACKTimeout || DeAssocAck Rx Assoc_ACK_Rx || (Assoc_NAK_Rx && VsiState == Assoc) localChange - Assoc || ACIIVITY_TIMER_Event localChange - PreAssoc localChange - Assoc ACKTimeout || DeAssoc Rx vsiError || localChange-DeAssoc Local VSI-START EXIT vsiError || DeAssocAck Rx

VSI State Machine – Bridge (Draft) (One Instance per VSI) INIT vsiLocalTLV = NULL vsiState = UNASSOCIATED PREASSOC_PROCESSING vsiError=ProcRxandSetCfg(localTLV, remoteTLV, vsiState) If (vsiError) txTLV(PreAssoc NACK) Else txTLV(PreAssoc-ACK) PREASSOCIATED vsiState = PREASSOCIATED !vsiError DEASSOC TxTLV(DeAssoc-ACK) ASSOC_PROCESSING vsiError=ProcRxandSetCfg(localTLV, remoteTLV, vsiState) If (vsiError) txTLV(Assoc NACK) Else txTLV(Assoc-ACK) ASSOCIATED VsiState = ASSOCIATED !vsiError || (vsiError && VsiState == Assoc) rxTLV == DeAssoc || INACTIVE rxTLV == Assoc rxTLV == PreAssoc localChange-DeAssoc rxTLV == Assoc rxTLV == PreAssoc (rxTLV == DeAssoc) || INACTIVE rxTLV == PreAssoc EXIT New-VSI-Instance ID TLV Rx (rxTLV == DeAssoc) || INACTIVE vsiError vsiError && VsiState == !Assoc