)]}'
{"specs/newton/approved/standardize-network-capabilities.rst":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Nova scheduler selects a host that satisfies all the constraints specified by"},{"line_number":22,"context_line":"the user,while scheduling a server. Default nova scheduler (filter scheduler)"},{"line_number":23,"context_line":"has a set of filters which implement hard constraints with respect to"},{"line_number":24,"context_line":"hardware capabilities like number of vCPUs, available RAM and free disk"},{"line_number":25,"context_line":"space as python modules. Hardware capability constraints outside of these"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_85d3d137","line":22,"updated":"2016-07-25 17:53:40.000000000","message":"s/,while scheduling a server//","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Nova scheduler selects a host that satisfies all the constraints specified by"},{"line_number":22,"context_line":"the user,while scheduling a server. Default nova scheduler (filter scheduler)"},{"line_number":23,"context_line":"has a set of filters which implement hard constraints with respect to"},{"line_number":24,"context_line":"hardware capabilities like number of vCPUs, available RAM and free disk"},{"line_number":25,"context_line":"space as python modules. Hardware capability constraints outside of these"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_b9d4a047","line":22,"in_reply_to":"dada55a8_85d3d137","updated":"2016-07-27 18:16:29.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Nova scheduler selects a host that satisfies all the constraints specified by"},{"line_number":22,"context_line":"the user,while scheduling a server. Default nova scheduler (filter scheduler)"},{"line_number":23,"context_line":"has a set of filters which implement hard constraints with respect to"},{"line_number":24,"context_line":"hardware capabilities like number of vCPUs, available RAM and free disk"},{"line_number":25,"context_line":"space as python modules. Hardware capability constraints outside of these"},{"line_number":26,"context_line":"standard filters are applied through host aggregate meta-data. Vendor"},{"line_number":27,"context_line":"specific capabilities are tagged to each host or a set of hosts"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_65d69d28","line":24,"updated":"2016-07-25 17:53:40.000000000","message":"The number of vCPU, available RAM and free disk space are not hardware capabilities. Rather, they are *resources* -- i.e. quantitative things that may be consumed on a provider of those resources.","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Nova scheduler selects a host that satisfies all the constraints specified by"},{"line_number":22,"context_line":"the user,while scheduling a server. Default nova scheduler (filter scheduler)"},{"line_number":23,"context_line":"has a set of filters which implement hard constraints with respect to"},{"line_number":24,"context_line":"hardware capabilities like number of vCPUs, available RAM and free disk"},{"line_number":25,"context_line":"space as python modules. Hardware capability constraints outside of these"},{"line_number":26,"context_line":"standard filters are applied through host aggregate meta-data. Vendor"},{"line_number":27,"context_line":"specific capabilities are tagged to each host or a set of hosts"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_99befcfd","line":24,"in_reply_to":"dada55a8_65d69d28","updated":"2016-07-27 18:16:29.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":23,"context_line":"has a set of filters which implement hard constraints with respect to"},{"line_number":24,"context_line":"hardware capabilities like number of vCPUs, available RAM and free disk"},{"line_number":25,"context_line":"space as python modules. Hardware capability constraints outside of these"},{"line_number":26,"context_line":"standard filters are applied through host aggregate meta-data. Vendor"},{"line_number":27,"context_line":"specific capabilities are tagged to each host or a set of hosts"},{"line_number":28,"context_line":"(host aggregates) and host aggregate filter will match these host specific"},{"line_number":29,"context_line":"tags with user specified required tags to schedule a given server."}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_c5ddc943","line":26,"updated":"2016-07-25 17:53:40.000000000","message":"s/meta-data/metadata/g","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":23,"context_line":"has a set of filters which implement hard constraints with respect to"},{"line_number":24,"context_line":"hardware capabilities like number of vCPUs, available RAM and free disk"},{"line_number":25,"context_line":"space as python modules. Hardware capability constraints outside of these"},{"line_number":26,"context_line":"standard filters are applied through host aggregate meta-data. Vendor"},{"line_number":27,"context_line":"specific capabilities are tagged to each host or a set of hosts"},{"line_number":28,"context_line":"(host aggregates) and host aggregate filter will match these host specific"},{"line_number":29,"context_line":"tags with user specified required tags to schedule a given server."}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_79bb480f","line":26,"in_reply_to":"dada55a8_c5ddc943","updated":"2016-07-27 18:16:29.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":24,"context_line":"hardware capabilities like number of vCPUs, available RAM and free disk"},{"line_number":25,"context_line":"space as python modules. Hardware capability constraints outside of these"},{"line_number":26,"context_line":"standard filters are applied through host aggregate meta-data. Vendor"},{"line_number":27,"context_line":"specific capabilities are tagged to each host or a set of hosts"},{"line_number":28,"context_line":"(host aggregates) and host aggregate filter will match these host specific"},{"line_number":29,"context_line":"tags with user specified required tags to schedule a given server."},{"line_number":30,"context_line":"User specifies required tags as “extra specs” in user request. There is no"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_a5e095fb","line":27,"updated":"2016-07-25 17:53:40.000000000","message":"s/Vendor specific/Vendor-specific/","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":24,"context_line":"hardware capabilities like number of vCPUs, available RAM and free disk"},{"line_number":25,"context_line":"space as python modules. Hardware capability constraints outside of these"},{"line_number":26,"context_line":"standard filters are applied through host aggregate meta-data. Vendor"},{"line_number":27,"context_line":"specific capabilities are tagged to each host or a set of hosts"},{"line_number":28,"context_line":"(host aggregates) and host aggregate filter will match these host specific"},{"line_number":29,"context_line":"tags with user specified required tags to schedule a given server."},{"line_number":30,"context_line":"User specifies required tags as “extra specs” in user request. There is no"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_19416c0c","line":27,"in_reply_to":"dada55a8_a5e095fb","updated":"2016-07-27 18:16:29.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":25,"context_line":"space as python modules. Hardware capability constraints outside of these"},{"line_number":26,"context_line":"standard filters are applied through host aggregate meta-data. Vendor"},{"line_number":27,"context_line":"specific capabilities are tagged to each host or a set of hosts"},{"line_number":28,"context_line":"(host aggregates) and host aggregate filter will match these host specific"},{"line_number":29,"context_line":"tags with user specified required tags to schedule a given server."},{"line_number":30,"context_line":"User specifies required tags as “extra specs” in user request. There is no"},{"line_number":31,"context_line":"standardized way to expose these capabilities and it’s up to the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_05e881e1","line":28,"updated":"2016-07-25 17:53:40.000000000","message":"s/and host aggregrate filter/and the AggregateInstanceExtraSpecsFilter/","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":25,"context_line":"space as python modules. Hardware capability constraints outside of these"},{"line_number":26,"context_line":"standard filters are applied through host aggregate meta-data. Vendor"},{"line_number":27,"context_line":"specific capabilities are tagged to each host or a set of hosts"},{"line_number":28,"context_line":"(host aggregates) and host aggregate filter will match these host specific"},{"line_number":29,"context_line":"tags with user specified required tags to schedule a given server."},{"line_number":30,"context_line":"User specifies required tags as “extra specs” in user request. There is no"},{"line_number":31,"context_line":"standardized way to expose these capabilities and it’s up to the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_f9457817","line":28,"in_reply_to":"dada55a8_05e881e1","updated":"2016-07-27 18:16:29.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":27,"context_line":"specific capabilities are tagged to each host or a set of hosts"},{"line_number":28,"context_line":"(host aggregates) and host aggregate filter will match these host specific"},{"line_number":29,"context_line":"tags with user specified required tags to schedule a given server."},{"line_number":30,"context_line":"User specifies required tags as “extra specs” in user request. There is no"},{"line_number":31,"context_line":"standardized way to expose these capabilities and it’s up to the"},{"line_number":32,"context_line":"administrator to define these tags and same functionality can end up having"},{"line_number":33,"context_line":"different tags across different vendor devices."}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_e5e28d00","line":30,"updated":"2016-07-25 17:53:40.000000000","message":"Technically, the user doesn\u0027t specify any required tags in the flavor extra_specs. The *cloud admin* tags flavor extra_specs with capability key/value pairs that match what they\u0027ve created for particular aggregate metadata. The user merely selects a flavor at boot time.","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"eba1d88b6d345fe5553bb19889178d0f3659cbc8","unresolved":false,"context_lines":[{"line_number":27,"context_line":"specific capabilities are tagged to each host or a set of hosts"},{"line_number":28,"context_line":"(host aggregates) and host aggregate filter will match these host specific"},{"line_number":29,"context_line":"tags with user specified required tags to schedule a given server."},{"line_number":30,"context_line":"User specifies required tags as “extra specs” in user request. There is no"},{"line_number":31,"context_line":"standardized way to expose these capabilities and it’s up to the"},{"line_number":32,"context_line":"administrator to define these tags and same functionality can end up having"},{"line_number":33,"context_line":"different tags across different vendor devices."}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa7ab95a_f7b4b882","line":30,"in_reply_to":"dada55a8_e5e28d00","updated":"2016-08-30 18:15:49.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Use Cases"},{"line_number":36,"context_line":"---------"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"* While scheduling a virtual server, a user would desire to pick the compute"},{"line_number":39,"context_line":"  host that supports a capability such as port mirroring with a specified"},{"line_number":40,"context_line":"  granularity on vSwitch or NIC level. Hence we represent the capability to"},{"line_number":41,"context_line":"  have values for NIC and/or vSwitch."}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_45f279d3","line":38,"updated":"2016-07-25 17:53:40.000000000","message":"Again, a user doesn\u0027t technically pick a compute host via a capability. The user simply picks a flavor which specifies a set of required capabilities via extra_specs...","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"eba1d88b6d345fe5553bb19889178d0f3659cbc8","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Use Cases"},{"line_number":36,"context_line":"---------"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"* While scheduling a virtual server, a user would desire to pick the compute"},{"line_number":39,"context_line":"  host that supports a capability such as port mirroring with a specified"},{"line_number":40,"context_line":"  granularity on vSwitch or NIC level. Hence we represent the capability to"},{"line_number":41,"context_line":"  have values for NIC and/or vSwitch."}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa7ab95a_57ae442e","line":38,"in_reply_to":"dada55a8_45f279d3","updated":"2016-08-30 18:15:49.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":43,"context_line":"  This also address the case when the user would desire to pick a compute node"},{"line_number":44,"context_line":"  where both the vSwitch and the NIC need to support a feature. For example,"},{"line_number":45,"context_line":"  for performance reasons the user might want to use the Generic Segmentation"},{"line_number":46,"context_line":"  Offload (also known as TCP Segmentation Offload) to off load TCP segmentation"},{"line_number":47,"context_line":"  in the NIC. For this feature obviously the NIC should support it, but also"},{"line_number":48,"context_line":"  the vSwitch should not do the segmentation in software, and hand over large"},{"line_number":49,"context_line":"  segment correctly (i.e. with the right flags in the NIC descriptors set)."}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_25edc5ef","line":46,"updated":"2016-07-25 17:53:40.000000000","message":"s/off load/offload/","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":43,"context_line":"  This also address the case when the user would desire to pick a compute node"},{"line_number":44,"context_line":"  where both the vSwitch and the NIC need to support a feature. For example,"},{"line_number":45,"context_line":"  for performance reasons the user might want to use the Generic Segmentation"},{"line_number":46,"context_line":"  Offload (also known as TCP Segmentation Offload) to off load TCP segmentation"},{"line_number":47,"context_line":"  in the NIC. For this feature obviously the NIC should support it, but also"},{"line_number":48,"context_line":"  the vSwitch should not do the segmentation in software, and hand over large"},{"line_number":49,"context_line":"  segment correctly (i.e. with the right flags in the NIC descriptors set)."}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_3948b02d","line":46,"in_reply_to":"dada55a8_25edc5ef","updated":"2016-07-27 18:16:29.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":48,"context_line":"  the vSwitch should not do the segmentation in software, and hand over large"},{"line_number":49,"context_line":"  segment correctly (i.e. with the right flags in the NIC descriptors set)."},{"line_number":50,"context_line":"  This use case refers to TSO, but same principle applies to any stateless"},{"line_number":51,"context_line":"  offloads. The actual implementation of this would be through a JSON filter"},{"line_number":52,"context_line":"  or equivalent approach and will be addressed in a separate spec."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* Additionally, while scheduling a virtual server, a user would desire to pick"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_85bab1df","line":51,"updated":"2016-07-25 17:53:40.000000000","message":"-1 on JSON filter. I am attempting to set guidance for the long-term placement API to only indicate capabilities via simple string tags.","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"eba1d88b6d345fe5553bb19889178d0f3659cbc8","unresolved":false,"context_lines":[{"line_number":48,"context_line":"  the vSwitch should not do the segmentation in software, and hand over large"},{"line_number":49,"context_line":"  segment correctly (i.e. with the right flags in the NIC descriptors set)."},{"line_number":50,"context_line":"  This use case refers to TSO, but same principle applies to any stateless"},{"line_number":51,"context_line":"  offloads. The actual implementation of this would be through a JSON filter"},{"line_number":52,"context_line":"  or equivalent approach and will be addressed in a separate spec."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* Additionally, while scheduling a virtual server, a user would desire to pick"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa7ab95a_77a98823","line":51,"in_reply_to":"dada55a8_85bab1df","updated":"2016-08-30 18:15:49.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":55,"context_line":"  a host based on a capability such as port mirroring and not necessarily be"},{"line_number":56,"context_line":"  prescriptive about the fact that the capability is present NIC or vSwitch."},{"line_number":57,"context_line":"  Hence the HW/SW component is modeled as a leaf node. The user will also be"},{"line_number":58,"context_line":"  returned the HW/SW component which was selected."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_65bdfdd6","line":58,"updated":"2016-07-25 17:53:40.000000000","message":"This does not make much sense to me. Are you attempting to say that certain capabilities may be preferred and not required? If so, a separate spec already covers that concept:\n\nhttps://review.openstack.org/#/c/313784/3/specs/ocata/approved/add-qualitative-requirements.rst\n\nSee proposal starting at line 44.\n\nand you can remove the above use case.","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":78,"context_line":"-----------------"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Open stack capability group will be modified to include network capability"},{"line_number":81,"context_line":"group."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"class CapabilityGroup(Enum):"},{"line_number":84,"context_line":"    \"\"\"Groups of capabilities.\"\"\""}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_c5b4a9f3","line":81,"updated":"2016-07-25 17:53:40.000000000","message":"You can remove the reference to object field Enums and just focus on the network-specific capability strings and their associated descriptions (which you have done a GREAT job of below). It looks like we probably won\u0027t be using an Enum-based implementation for the strings and instead will be putting these standardized capability strings into a shared \"os-capabilities\" library. So, really all we need are the string constants and the descriptions of them.","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    PORTSPEED \u003d ‘portspeed’"},{"line_number":96,"context_line":"    CRYPTO_ACCLN \u003d ‘crypto_accln’"},{"line_number":97,"context_line":"    COMPRESSION_ACCLN \u003d ‘compression_accln’"},{"line_number":98,"context_line":"    STATELESS_PROTOCOL_OFFLOADS \u003d ‘stateless_protocol_offloads’"},{"line_number":99,"context_line":"    STATELESS_TUNNEL_PROTOCOL_OFFLOADS\u003d‘stateless_tunnel_protocol_offloads’"},{"line_number":100,"context_line":"    MULTIQUEUE \u003d ‘multiqueue’"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_a5b7f5f3","line":97,"updated":"2016-07-25 17:53:40.000000000","message":"How about having \"accelerator\" as a grouping/namespace and putting crypto and compression as sub-namespaces?\n\nFor example:\n\n hw:nic:accelerator:crypto:XXX\n hw:nic:accelerator:compression:XXX","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"eba1d88b6d345fe5553bb19889178d0f3659cbc8","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    PORTSPEED \u003d ‘portspeed’"},{"line_number":96,"context_line":"    CRYPTO_ACCLN \u003d ‘crypto_accln’"},{"line_number":97,"context_line":"    COMPRESSION_ACCLN \u003d ‘compression_accln’"},{"line_number":98,"context_line":"    STATELESS_PROTOCOL_OFFLOADS \u003d ‘stateless_protocol_offloads’"},{"line_number":99,"context_line":"    STATELESS_TUNNEL_PROTOCOL_OFFLOADS\u003d‘stateless_tunnel_protocol_offloads’"},{"line_number":100,"context_line":"    MULTIQUEUE \u003d ‘multiqueue’"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa7ab95a_977b6cbd","line":97,"in_reply_to":"dada55a8_a5b7f5f3","updated":"2016-08-30 18:15:49.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    CRYPTO_ACCLN \u003d ‘crypto_accln’"},{"line_number":97,"context_line":"    COMPRESSION_ACCLN \u003d ‘compression_accln’"},{"line_number":98,"context_line":"    STATELESS_PROTOCOL_OFFLOADS \u003d ‘stateless_protocol_offloads’"},{"line_number":99,"context_line":"    STATELESS_TUNNEL_PROTOCOL_OFFLOADS\u003d‘stateless_tunnel_protocol_offloads’"},{"line_number":100,"context_line":"    MULTIQUEUE \u003d ‘multiqueue’"},{"line_number":101,"context_line":"    VMDQ \u003d ‘vmdq’"},{"line_number":102,"context_line":"    SRIOV \u003d ‘sriov’"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_05cfe17f","line":99,"updated":"2016-07-25 17:53:40.000000000","message":"How about having \"offload\" as a namespace and just have:\n\n hw:nic:offload:tso\n hw:nic:offload:tx_checksum\n hw:nic:offload:qinq\n\netc... I don\u0027t see a need to have separate namespaces/prefixes for stateful and stateless protocol.","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"eba1d88b6d345fe5553bb19889178d0f3659cbc8","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    CRYPTO_ACCLN \u003d ‘crypto_accln’"},{"line_number":97,"context_line":"    COMPRESSION_ACCLN \u003d ‘compression_accln’"},{"line_number":98,"context_line":"    STATELESS_PROTOCOL_OFFLOADS \u003d ‘stateless_protocol_offloads’"},{"line_number":99,"context_line":"    STATELESS_TUNNEL_PROTOCOL_OFFLOADS\u003d‘stateless_tunnel_protocol_offloads’"},{"line_number":100,"context_line":"    MULTIQUEUE \u003d ‘multiqueue’"},{"line_number":101,"context_line":"    VMDQ \u003d ‘vmdq’"},{"line_number":102,"context_line":"    SRIOV \u003d ‘sriov’"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa7ab95a_b74cf09e","line":99,"in_reply_to":"dada55a8_05cfe17f","updated":"2016-08-30 18:15:49.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":125,"context_line":"performance management, traffic analysis, user monitoring etc. by sending a"},{"line_number":126,"context_line":"copy of a packet received or transmitted on a switch/server port to a monitor"},{"line_number":127,"context_line":"port where network analyzer is attached. Monitor port could be either in"},{"line_number":128,"context_line":"same device (switch/server) or in aa different network device connected through"},{"line_number":129,"context_line":"the network."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"In a virtualized environment, mirroring may be used to monitor the traffic"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_e5c9ed7a","line":128,"updated":"2016-07-25 17:53:40.000000000","message":"s/aa/a/","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":125,"context_line":"performance management, traffic analysis, user monitoring etc. by sending a"},{"line_number":126,"context_line":"copy of a packet received or transmitted on a switch/server port to a monitor"},{"line_number":127,"context_line":"port where network analyzer is attached. Monitor port could be either in"},{"line_number":128,"context_line":"same device (switch/server) or in aa different network device connected through"},{"line_number":129,"context_line":"the network."},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"In a virtualized environment, mirroring may be used to monitor the traffic"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_996c3c9e","line":128,"in_reply_to":"dada55a8_e5c9ed7a","updated":"2016-07-27 18:16:29.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":"In a virtualized environment, mirroring may be used to monitor the traffic"},{"line_number":132,"context_line":"on a virtual machine port. In a virtualized environment with KVM hypervisor,"},{"line_number":133,"context_line":"all the virtual machines instantiated on a compute node will have attachment"},{"line_number":134,"context_line":"port on openvswitch (vSwitch for KVM) and user can enable port mirroring on"},{"line_number":135,"context_line":"these ports if needed. Besides the openvswitch, mirroring can be enabled on"},{"line_number":136,"context_line":"compute node NICs as well since some of the NICs also support port mirroring."}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_45c9d977","line":133,"updated":"2016-07-25 17:53:40.000000000","message":"s/have attachment/have an attached/","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":"In a virtualized environment, mirroring may be used to monitor the traffic"},{"line_number":132,"context_line":"on a virtual machine port. In a virtualized environment with KVM hypervisor,"},{"line_number":133,"context_line":"all the virtual machines instantiated on a compute node will have attachment"},{"line_number":134,"context_line":"port on openvswitch (vSwitch for KVM) and user can enable port mirroring on"},{"line_number":135,"context_line":"these ports if needed. Besides the openvswitch, mirroring can be enabled on"},{"line_number":136,"context_line":"compute node NICs as well since some of the NICs also support port mirroring."}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_d904f4c7","line":133,"in_reply_to":"dada55a8_45c9d977","updated":"2016-07-27 18:16:29.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":131,"context_line":"In a virtualized environment, mirroring may be used to monitor the traffic"},{"line_number":132,"context_line":"on a virtual machine port. In a virtualized environment with KVM hypervisor,"},{"line_number":133,"context_line":"all the virtual machines instantiated on a compute node will have attachment"},{"line_number":134,"context_line":"port on openvswitch (vSwitch for KVM) and user can enable port mirroring on"},{"line_number":135,"context_line":"these ports if needed. Besides the openvswitch, mirroring can be enabled on"},{"line_number":136,"context_line":"compute node NICs as well since some of the NICs also support port mirroring."},{"line_number":137,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_25c4a55d","line":134,"updated":"2016-07-25 17:53:40.000000000","message":"s/and user/and the user/\n\nAlso, is it actually the *user* that would be enabling port mirroring, or would it be the *host* that would need to enable mirroring for a guest? I don\u0027t believe the user can/should be able to do that at all in a virtualized environment, no?","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"eba1d88b6d345fe5553bb19889178d0f3659cbc8","unresolved":false,"context_lines":[{"line_number":131,"context_line":"In a virtualized environment, mirroring may be used to monitor the traffic"},{"line_number":132,"context_line":"on a virtual machine port. In a virtualized environment with KVM hypervisor,"},{"line_number":133,"context_line":"all the virtual machines instantiated on a compute node will have attachment"},{"line_number":134,"context_line":"port on openvswitch (vSwitch for KVM) and user can enable port mirroring on"},{"line_number":135,"context_line":"these ports if needed. Besides the openvswitch, mirroring can be enabled on"},{"line_number":136,"context_line":"compute node NICs as well since some of the NICs also support port mirroring."},{"line_number":137,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa7ab95a_575c844a","line":134,"in_reply_to":"dada55a8_25c4a55d","updated":"2016-08-30 18:15:49.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":172,"context_line":"    MIRROR_NET_OVS \u003d self.PREFIX + MirroringGroup.NETWORK_MIRRORING+‘:ovs’"},{"line_number":173,"context_line":"    MIRROR_NET_NIC self.PREFIX + MirroringGroup.NETWORK_MIRRORING + ‘:nic’"},{"line_number":174,"context_line":"    MIRROR_FLOW_OVS \u003d self.PREFIX + MirroringGroup.FLOW_MIRRORING + ‘:ovs’"},{"line_number":175,"context_line":"    MIRROR_FLOW_NIC \u003d self.PREFIX + MirroringGroup.FLOW_MIRRORING + ‘:nic’"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"L2/L3 Tunnels (net:l2l3tunnel)"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_85a111ac","line":175,"updated":"2016-07-25 17:53:40.000000000","message":"Hmm... do we really need separate capability strings for OVS and NIC? I mean, the compute host is either going to have the capability or it isn\u0027t. So, net:mirroring:port might be implemented on the NIC or it might be implemented in a software switch, but it doesn\u0027t really matter in regards to whether the compute host supports port mirroring. It either does or it doesn\u0027t. Choosing to use hardware or software port mirroring is something that the virt driver (in combination with the ML2 agent on the compute host) can do on its own without having to specify the capability in so granular a fashion, IMHO.\n\nIf you absolutely need to differentiate between hardware and software support for various mirroring capabilities, then the net: namespace is not where you would do that. Instead, you would want to use the hw:nic: namespace for hardware capabilities and a virt:nic: namespace for software capabilities.","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":179,"context_line":"------------------------------"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"L2/L3 tunnels are configured to extend a network over heterogeneous networks"},{"line_number":182,"context_line":"either be it internet or private enterprise networks. Over the years multiple"},{"line_number":183,"context_line":"tunneling protocols have evolved solving different use cases and different"},{"line_number":184,"context_line":"data packet forwarding technologies. This capability group encompasses all"},{"line_number":185,"context_line":"such tunneling encapsulation protocols."}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_65a4ddb8","line":182,"updated":"2016-07-25 17:53:40.000000000","message":"s/over heterogenous networks either be it internet or private enterprise networks/over heterogenous Internet or private networks/\ns/Over the years multiple/Over the years, multiple/","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":179,"context_line":"------------------------------"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"L2/L3 tunnels are configured to extend a network over heterogeneous networks"},{"line_number":182,"context_line":"either be it internet or private enterprise networks. Over the years multiple"},{"line_number":183,"context_line":"tunneling protocols have evolved solving different use cases and different"},{"line_number":184,"context_line":"data packet forwarding technologies. This capability group encompasses all"},{"line_number":185,"context_line":"such tunneling encapsulation protocols."}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_190face2","line":182,"in_reply_to":"dada55a8_65a4ddb8","updated":"2016-07-27 18:16:29.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":182,"context_line":"either be it internet or private enterprise networks. Over the years multiple"},{"line_number":183,"context_line":"tunneling protocols have evolved solving different use cases and different"},{"line_number":184,"context_line":"data packet forwarding technologies. This capability group encompasses all"},{"line_number":185,"context_line":"such tunneling encapsulation protocols."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"class L2L3TunnelGroup (NetworkCapabilityGroup):"},{"line_number":188,"context_line":"    “”” L2/L3 tunnel group encompasses multiple tunnel types”””"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_c5ab0988","line":185,"updated":"2016-07-25 17:53:40.000000000","message":"Is a tunneling protocol really a capability? In what way do you envision a cloud admin tagging a flavor or image with one or more of these capability tags to indicate the flavor or workload requires or prefers something about tunneling protocol used for underlay networking?","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":231,"context_line":"hence may not even traverse through physical interface."},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"But, in network deployments where hardware acceleration is enabled by SR-IOV,"},{"line_number":234,"context_line":"each virtual server interface is mapped directly to a logical function"},{"line_number":235,"context_line":"(logical segment of a device). In SR-IOV deployments, even the east-west"},{"line_number":236,"context_line":"traffic between the virtual servers within the same physical host"},{"line_number":237,"context_line":"will traverse the physical NIC. In these kind of deployments, users will be"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_a5aed595","line":234,"updated":"2016-07-25 17:53:40.000000000","message":"s/is mapped directly/can be passed through to/\ns/a logical function/a virtual function (VF)/","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":231,"context_line":"hence may not even traverse through physical interface."},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"But, in network deployments where hardware acceleration is enabled by SR-IOV,"},{"line_number":234,"context_line":"each virtual server interface is mapped directly to a logical function"},{"line_number":235,"context_line":"(logical segment of a device). In SR-IOV deployments, even the east-west"},{"line_number":236,"context_line":"traffic between the virtual servers within the same physical host"},{"line_number":237,"context_line":"will traverse the physical NIC. In these kind of deployments, users will be"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_f913b80b","line":234,"in_reply_to":"dada55a8_a5aed595","updated":"2016-07-27 18:16:29.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":234,"context_line":"each virtual server interface is mapped directly to a logical function"},{"line_number":235,"context_line":"(logical segment of a device). In SR-IOV deployments, even the east-west"},{"line_number":236,"context_line":"traffic between the virtual servers within the same physical host"},{"line_number":237,"context_line":"will traverse the physical NIC. In these kind of deployments, users will be"},{"line_number":238,"context_line":"interested to use NIC bandwidth while scheduling a Virtual Server.  The"},{"line_number":239,"context_line":"following capability group represents all the network interface speeds."},{"line_number":240,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_0596c14b","line":237,"updated":"2016-07-25 17:53:40.000000000","message":"s/kind of/kinds of/","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":234,"context_line":"each virtual server interface is mapped directly to a logical function"},{"line_number":235,"context_line":"(logical segment of a device). In SR-IOV deployments, even the east-west"},{"line_number":236,"context_line":"traffic between the virtual servers within the same physical host"},{"line_number":237,"context_line":"will traverse the physical NIC. In these kind of deployments, users will be"},{"line_number":238,"context_line":"interested to use NIC bandwidth while scheduling a Virtual Server.  The"},{"line_number":239,"context_line":"following capability group represents all the network interface speeds."},{"line_number":240,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_39f6f0d7","line":237,"in_reply_to":"dada55a8_0596c14b","updated":"2016-07-27 18:16:29.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":249,"context_line":"    PORT_BW_25_GB \u003d self.PREFIX + ‘:25gb’"},{"line_number":250,"context_line":"    PORT_BW_40_GB \u003d self.PREFIX + ‘:40gb’"},{"line_number":251,"context_line":"    PORT_BW_100_GB \u003d self.PREFIX + ‘:100gb’"},{"line_number":252,"context_line":"    PORT_BW_200_GB \u003d self.PREFIX + ‘:200gb’"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"Cryptographic HW Acceleration (hw:nic:crypto_accln)"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_e590cd50","line":252,"updated":"2016-07-25 17:53:40.000000000","message":"These are not capabilities. These are quantitative resources and should be dealt with in the nested resource providers specification in development.","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"eba1d88b6d345fe5553bb19889178d0f3659cbc8","unresolved":false,"context_lines":[{"line_number":249,"context_line":"    PORT_BW_25_GB \u003d self.PREFIX + ‘:25gb’"},{"line_number":250,"context_line":"    PORT_BW_40_GB \u003d self.PREFIX + ‘:40gb’"},{"line_number":251,"context_line":"    PORT_BW_100_GB \u003d self.PREFIX + ‘:100gb’"},{"line_number":252,"context_line":"    PORT_BW_200_GB \u003d self.PREFIX + ‘:200gb’"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"Cryptographic HW Acceleration (hw:nic:crypto_accln)"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa7ab95a_578724b4","line":252,"in_reply_to":"dada55a8_e590cd50","updated":"2016-08-30 18:15:49.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":258,"context_line":"Cryptographic protocols such as IPSEC, SSL etc. often have better performance"},{"line_number":259,"context_line":"with HW implementations as compared to equivalent SW implementations. Several"},{"line_number":260,"context_line":"NICs (special purpose and general) provide HW acceleration capability for"},{"line_number":261,"context_line":"cryptographic functions like Intel QuickAssit [13] and Agilo CX [14]. A"},{"line_number":262,"context_line":"relevant NFV use case is an IPSEC tunnel from an enterprise branch office."},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"class CryptoAccln (Capability):"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_45a0b99f","line":261,"updated":"2016-07-25 17:53:40.000000000","message":"s/Assit/Assist :)","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":258,"context_line":"Cryptographic protocols such as IPSEC, SSL etc. often have better performance"},{"line_number":259,"context_line":"with HW implementations as compared to equivalent SW implementations. Several"},{"line_number":260,"context_line":"NICs (special purpose and general) provide HW acceleration capability for"},{"line_number":261,"context_line":"cryptographic functions like Intel QuickAssit [13] and Agilo CX [14]. A"},{"line_number":262,"context_line":"relevant NFV use case is an IPSEC tunnel from an enterprise branch office."},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"class CryptoAccln (Capability):"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_99039cb8","line":261,"in_reply_to":"dada55a8_45a0b99f","updated":"2016-07-27 18:16:29.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":259,"context_line":"with HW implementations as compared to equivalent SW implementations. Several"},{"line_number":260,"context_line":"NICs (special purpose and general) provide HW acceleration capability for"},{"line_number":261,"context_line":"cryptographic functions like Intel QuickAssit [13] and Agilo CX [14]. A"},{"line_number":262,"context_line":"relevant NFV use case is an IPSEC tunnel from an enterprise branch office."},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"class CryptoAccln (Capability):"},{"line_number":265,"context_line":"    PREFIX \u003d HwNicCapabilityGroup.PREFIX + ‘:’ +"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_259b0574","line":262,"updated":"2016-07-25 17:53:40.000000000","message":"That really isn\u0027t an NFV-specific use case :)","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":296,"context_line":"can be offloaded to the NIC for overall performance improvement. For"},{"line_number":297,"context_line":"specific non-hash-based filters, please refer to [19] and [20].  Similarly,"},{"line_number":298,"context_line":"the stateless protocol offloads, vlan tagging and q-in-q [21] can be offloaded"},{"line_number":299,"context_line":"in the NIC so that no CPU cycles are spent on dealing with this type of"},{"line_number":300,"context_line":"tagging provided the NIC descriptors can be set correctly, and the software"},{"line_number":301,"context_line":"stack to avoid doing the tag insertion/extraction."},{"line_number":302,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_8588f123","line":299,"updated":"2016-07-25 17:53:40.000000000","message":"s/spent on dealing/spent dealing/","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":296,"context_line":"can be offloaded to the NIC for overall performance improvement. For"},{"line_number":297,"context_line":"specific non-hash-based filters, please refer to [19] and [20].  Similarly,"},{"line_number":298,"context_line":"the stateless protocol offloads, vlan tagging and q-in-q [21] can be offloaded"},{"line_number":299,"context_line":"in the NIC so that no CPU cycles are spent on dealing with this type of"},{"line_number":300,"context_line":"tagging provided the NIC descriptors can be set correctly, and the software"},{"line_number":301,"context_line":"stack to avoid doing the tag insertion/extraction."},{"line_number":302,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_790068ab","line":299,"in_reply_to":"dada55a8_8588f123","updated":"2016-07-27 18:16:29.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":298,"context_line":"the stateless protocol offloads, vlan tagging and q-in-q [21] can be offloaded"},{"line_number":299,"context_line":"in the NIC so that no CPU cycles are spent on dealing with this type of"},{"line_number":300,"context_line":"tagging provided the NIC descriptors can be set correctly, and the software"},{"line_number":301,"context_line":"stack to avoid doing the tag insertion/extraction."},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"class StatelessProtocolOffloads (Capability):"},{"line_number":304,"context_line":"    PREFIX \u003d HwNicCapabilityGroup.PREFIX + ‘:’ +"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_658b3d1f","line":301,"updated":"2016-07-25 17:53:40.000000000","message":"\", and the software stack...\" part of the sentence does not make sense. Specifically what *about* the software stack is needed or needs to perform?","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":332,"context_line":""},{"line_number":333,"context_line":"    STATELESS_PROTO_OFFLOAD_VXLAN \u003d self.PREFIX + ‘:vxlan’"},{"line_number":334,"context_line":"    STATELESS_PROTO_OFFLOAD_GRE \u003d self.PREFIX + ‘:gre’"},{"line_number":335,"context_line":"    STATELESS_PROTO_OFFLOAD_GENEVE \u003d self.PREFIX + ‘:geneve’"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"Service chaining (net:service_chaining)"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_c582e9ff","line":335,"updated":"2016-07-25 17:53:40.000000000","message":"Please see way above comment about not needing to state the protocol is or is not stateless in the string constants for these capabilities.","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"eba1d88b6d345fe5553bb19889178d0f3659cbc8","unresolved":false,"context_lines":[{"line_number":332,"context_line":""},{"line_number":333,"context_line":"    STATELESS_PROTO_OFFLOAD_VXLAN \u003d self.PREFIX + ‘:vxlan’"},{"line_number":334,"context_line":"    STATELESS_PROTO_OFFLOAD_GRE \u003d self.PREFIX + ‘:gre’"},{"line_number":335,"context_line":"    STATELESS_PROTO_OFFLOAD_GENEVE \u003d self.PREFIX + ‘:geneve’"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"Service chaining (net:service_chaining)"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa7ab95a_b71a307b","line":335,"in_reply_to":"dada55a8_c582e9ff","updated":"2016-08-30 18:15:49.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":372,"context_line":"    SERVICE_CHAINING_NSH_ADD_BASE_NIC \u003d self.PREFIX + ‘:nsh_add_base’ +"},{"line_number":373,"context_line":"                                        self.POSTFIX"},{"line_number":374,"context_line":"    SERVICE_CHAINING_NSH_ADD_OPTIONAL_NIC \u003d self.PREFIX +"},{"line_number":375,"context_line":"                                     ‘:nsh_add_optional’ + self.POSTFIX"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"Multiqueue (hw:nic:multiqueue)"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_a5853508","line":375,"updated":"2016-07-25 17:53:40.000000000","message":"I\u0027ll have to think more on the above SFC capabilities. Not sure about some of them (all of them?)...","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":405,"context_line":"the packets to the respective VM instead of performing the heavy lifting work"},{"line_number":406,"context_line":"of sorting data. Thus, VMDq improves platform efficiency for handling"},{"line_number":407,"context_line":"receive-side network I/O and increases CPU utilization for application"},{"line_number":408,"context_line":"processing."},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"Class Vmdq (Capability):"},{"line_number":411,"context_line":"    PREFIX \u003d HWNicCapabilityGroup.PREFIX + ‘:’ + HWNicCapabilityGroup.vmdq"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_057d211c","line":408,"updated":"2016-07-25 17:53:40.000000000","message":"Are hw:nic:multiqueue and hw:nic:vmdq competing or incompatible technologies? Just curious...","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"eba1d88b6d345fe5553bb19889178d0f3659cbc8","unresolved":false,"context_lines":[{"line_number":405,"context_line":"the packets to the respective VM instead of performing the heavy lifting work"},{"line_number":406,"context_line":"of sorting data. Thus, VMDq improves platform efficiency for handling"},{"line_number":407,"context_line":"receive-side network I/O and increases CPU utilization for application"},{"line_number":408,"context_line":"processing."},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"Class Vmdq (Capability):"},{"line_number":411,"context_line":"    PREFIX \u003d HWNicCapabilityGroup.PREFIX + ‘:’ + HWNicCapabilityGroup.vmdq"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa7ab95a_17eafc73","line":408,"in_reply_to":"dada55a8_057d211c","updated":"2016-08-30 18:15:49.000000000","message":"They are complementary. As explained,  Multiqueue allows to segment a physical NIC port to logical queues so that a multicore system can assign queues to cores for parallel packet processing through IRQ affinity. Whereas, VMDQ is a flow classifier.","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":422,"context_line":"multiple Virtual Functions (VFs) and much attention was placed on minimizing"},{"line_number":423,"context_line":"the hardware cost of each additional function. SR-IOV-capable devices"},{"line_number":424,"context_line":"provide configurable numbers of independent VFs, each with its own PCI"},{"line_number":425,"context_line":"Configuration space. The hypervisor assigns one or more VF to a virtual"},{"line_number":426,"context_line":"machine. Memory Translation technologies provide hardware assisted techniques"},{"line_number":427,"context_line":"to allow direct DMA transfers to and from the VM, thus bypassing the software"},{"line_number":428,"context_line":"switch in the hypervisor [27]. The SR-IOV companion reference [28] elaborates"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_e5772d39","line":425,"updated":"2016-07-25 17:53:40.000000000","message":"s/VF/VFs/","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":422,"context_line":"multiple Virtual Functions (VFs) and much attention was placed on minimizing"},{"line_number":423,"context_line":"the hardware cost of each additional function. SR-IOV-capable devices"},{"line_number":424,"context_line":"provide configurable numbers of independent VFs, each with its own PCI"},{"line_number":425,"context_line":"Configuration space. The hypervisor assigns one or more VF to a virtual"},{"line_number":426,"context_line":"machine. Memory Translation technologies provide hardware assisted techniques"},{"line_number":427,"context_line":"to allow direct DMA transfers to and from the VM, thus bypassing the software"},{"line_number":428,"context_line":"switch in the hypervisor [27]. The SR-IOV companion reference [28] elaborates"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_5920044a","line":425,"in_reply_to":"dada55a8_e5772d39","updated":"2016-07-27 18:16:29.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":436,"context_line":"    SRIOV_VF_QOS_TX_RATE_LIMIT \u003d self.PREFIX + ‘:vf_qos_tx_rate_limit’"},{"line_number":437,"context_line":"    SRIOV_VF_QOS_RX_RATE_LIMIT \u003d self.PREFIX + ‘:vf_qos_rx_rate_limit"},{"line_number":438,"context_line":"    SRIOV_VF_QOS_MULTI_QUEUE_PER_VF \u003d self.PREFIX +"},{"line_number":439,"context_line":"                                      ‘:vf_qos_multi_queue_per_vf’"},{"line_number":440,"context_line":"    SR-IOV_CONFIGURABLE_MTU \u003d self.PREFIX + ‘:configurable_mtu’"},{"line_number":441,"context_line":"    SR-IOV_ANTI-SPOOFING_MAC \u003d self.PREFIX + ‘:antispoofing_mac’"},{"line_number":442,"context_line":"    SR-IOV_ANTI-SPOOFING_VLAN \u003d self.PREFIX + ‘:antispoofing_vlan’"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_4577193a","line":439,"updated":"2016-07-25 17:53:40.000000000","message":"For the above three capability strings, are they representing whether a NIC has that capability? Or are they representing some quantitative limit for the VFs? Very important to segregate the quantitative side from the capabilities representation.","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"eba1d88b6d345fe5553bb19889178d0f3659cbc8","unresolved":false,"context_lines":[{"line_number":436,"context_line":"    SRIOV_VF_QOS_TX_RATE_LIMIT \u003d self.PREFIX + ‘:vf_qos_tx_rate_limit’"},{"line_number":437,"context_line":"    SRIOV_VF_QOS_RX_RATE_LIMIT \u003d self.PREFIX + ‘:vf_qos_rx_rate_limit"},{"line_number":438,"context_line":"    SRIOV_VF_QOS_MULTI_QUEUE_PER_VF \u003d self.PREFIX +"},{"line_number":439,"context_line":"                                      ‘:vf_qos_multi_queue_per_vf’"},{"line_number":440,"context_line":"    SR-IOV_CONFIGURABLE_MTU \u003d self.PREFIX + ‘:configurable_mtu’"},{"line_number":441,"context_line":"    SR-IOV_ANTI-SPOOFING_MAC \u003d self.PREFIX + ‘:antispoofing_mac’"},{"line_number":442,"context_line":"    SR-IOV_ANTI-SPOOFING_VLAN \u003d self.PREFIX + ‘:antispoofing_vlan’"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa7ab95a_d78df431","line":439,"in_reply_to":"dada55a8_4577193a","updated":"2016-08-30 18:15:49.000000000","message":"These are  all NIC capabilities","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":447,"context_line":"----------------------------------------------------"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"A more generic way to think of NPUs and FPGAs is a programmable pipeline."},{"line_number":450,"context_line":"As an example, Programmable ConnectX-3 Pro Adapter [31] has an FPGA which"},{"line_number":451,"context_line":"can be programmed to deliver functions such as DoS attack prevention,"},{"line_number":452,"context_line":"IPSEC encryption etc."},{"line_number":453,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_2572e549","line":450,"updated":"2016-07-25 17:53:40.000000000","message":"Is this a NIC-specific thing? Or just a general purpose FPGA?","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"eba1d88b6d345fe5553bb19889178d0f3659cbc8","unresolved":false,"context_lines":[{"line_number":447,"context_line":"----------------------------------------------------"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"A more generic way to think of NPUs and FPGAs is a programmable pipeline."},{"line_number":450,"context_line":"As an example, Programmable ConnectX-3 Pro Adapter [31] has an FPGA which"},{"line_number":451,"context_line":"can be programmed to deliver functions such as DoS attack prevention,"},{"line_number":452,"context_line":"IPSEC encryption etc."},{"line_number":453,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa7ab95a_d7941438","line":450,"in_reply_to":"dada55a8_2572e549","updated":"2016-08-30 18:15:49.000000000","message":"This is NIC specific and intelligent NICs support these features.","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":462,"context_line":"--------------------------------"},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"Data center bridging [32] encompasses a collection of technologies targeted to"},{"line_number":465,"context_line":"enhance Ethernet reliability which is originally designed to be best-effort"},{"line_number":466,"context_line":"network. New data center architectures evolved to have I/O consolidation and"},{"line_number":467,"context_line":"enhanced Ethernet features. I/O consolidation technology like FCoE allows"},{"line_number":468,"context_line":"Fibre channel communication over Ethernet, which leads to dramatic"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_858f5122","line":465,"updated":"2016-07-25 17:53:40.000000000","message":"s/best-effort/a best-effort/","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":462,"context_line":"--------------------------------"},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"Data center bridging [32] encompasses a collection of technologies targeted to"},{"line_number":465,"context_line":"enhance Ethernet reliability which is originally designed to be best-effort"},{"line_number":466,"context_line":"network. New data center architectures evolved to have I/O consolidation and"},{"line_number":467,"context_line":"enhanced Ethernet features. I/O consolidation technology like FCoE allows"},{"line_number":468,"context_line":"Fibre channel communication over Ethernet, which leads to dramatic"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_391d5010","line":465,"in_reply_to":"dada55a8_858f5122","updated":"2016-07-27 18:16:29.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":465,"context_line":"enhance Ethernet reliability which is originally designed to be best-effort"},{"line_number":466,"context_line":"network. New data center architectures evolved to have I/O consolidation and"},{"line_number":467,"context_line":"enhanced Ethernet features. I/O consolidation technology like FCoE allows"},{"line_number":468,"context_line":"Fibre channel communication over Ethernet, which leads to dramatic"},{"line_number":469,"context_line":"reduction in number of network adapters, low power consumption and lower TCO."},{"line_number":470,"context_line":"Fibre channel traffic forces Ethernet to be loss less and data center bridging"},{"line_number":471,"context_line":"technologies enhance Ethernet to be loss less."}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_65921d4d","line":468,"updated":"2016-07-25 17:53:40.000000000","message":"s/to dramatic/to a dramatic/","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":465,"context_line":"enhance Ethernet reliability which is originally designed to be best-effort"},{"line_number":466,"context_line":"network. New data center architectures evolved to have I/O consolidation and"},{"line_number":467,"context_line":"enhanced Ethernet features. I/O consolidation technology like FCoE allows"},{"line_number":468,"context_line":"Fibre channel communication over Ethernet, which leads to dramatic"},{"line_number":469,"context_line":"reduction in number of network adapters, low power consumption and lower TCO."},{"line_number":470,"context_line":"Fibre channel traffic forces Ethernet to be loss less and data center bridging"},{"line_number":471,"context_line":"technologies enhance Ethernet to be loss less."}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_7917c8ed","line":468,"in_reply_to":"dada55a8_65921d4d","updated":"2016-07-27 18:16:29.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":466,"context_line":"network. New data center architectures evolved to have I/O consolidation and"},{"line_number":467,"context_line":"enhanced Ethernet features. I/O consolidation technology like FCoE allows"},{"line_number":468,"context_line":"Fibre channel communication over Ethernet, which leads to dramatic"},{"line_number":469,"context_line":"reduction in number of network adapters, low power consumption and lower TCO."},{"line_number":470,"context_line":"Fibre channel traffic forces Ethernet to be loss less and data center bridging"},{"line_number":471,"context_line":"technologies enhance Ethernet to be loss less."},{"line_number":472,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_c5994970","line":469,"updated":"2016-07-25 17:53:40.000000000","message":"s/in number of/in the number of/\ns/low power/lower power/","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":466,"context_line":"network. New data center architectures evolved to have I/O consolidation and"},{"line_number":467,"context_line":"enhanced Ethernet features. I/O consolidation technology like FCoE allows"},{"line_number":468,"context_line":"Fibre channel communication over Ethernet, which leads to dramatic"},{"line_number":469,"context_line":"reduction in number of network adapters, low power consumption and lower TCO."},{"line_number":470,"context_line":"Fibre channel traffic forces Ethernet to be loss less and data center bridging"},{"line_number":471,"context_line":"technologies enhance Ethernet to be loss less."},{"line_number":472,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_d9d23434","line":469,"in_reply_to":"dada55a8_c5994970","updated":"2016-07-27 18:16:29.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":467,"context_line":"enhanced Ethernet features. I/O consolidation technology like FCoE allows"},{"line_number":468,"context_line":"Fibre channel communication over Ethernet, which leads to dramatic"},{"line_number":469,"context_line":"reduction in number of network adapters, low power consumption and lower TCO."},{"line_number":470,"context_line":"Fibre channel traffic forces Ethernet to be loss less and data center bridging"},{"line_number":471,"context_line":"technologies enhance Ethernet to be loss less."},{"line_number":472,"context_line":""},{"line_number":473,"context_line":"IEEE 802.1Qbb Priority Flow Control (PFC) extends the granularity of PAUSE"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_a59c155e","line":470,"updated":"2016-07-25 17:53:40.000000000","message":"here and line below... s/loss less/lossless/","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":467,"context_line":"enhanced Ethernet features. I/O consolidation technology like FCoE allows"},{"line_number":468,"context_line":"Fibre channel communication over Ethernet, which leads to dramatic"},{"line_number":469,"context_line":"reduction in number of network adapters, low power consumption and lower TCO."},{"line_number":470,"context_line":"Fibre channel traffic forces Ethernet to be loss less and data center bridging"},{"line_number":471,"context_line":"technologies enhance Ethernet to be loss less."},{"line_number":472,"context_line":""},{"line_number":473,"context_line":"IEEE 802.1Qbb Priority Flow Control (PFC) extends the granularity of PAUSE"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_19ddec42","line":470,"in_reply_to":"dada55a8_a59c155e","updated":"2016-07-27 18:16:29.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":471,"context_line":"technologies enhance Ethernet to be loss less."},{"line_number":472,"context_line":""},{"line_number":473,"context_line":"IEEE 802.1Qbb Priority Flow Control (PFC) extends the granularity of PAUSE"},{"line_number":474,"context_line":"frame to accommodate the priority queues (.1p).  Using PFC, link is divided"},{"line_number":475,"context_line":"into eight virtual queues and PAUSE can be applied to each individual queue."},{"line_number":476,"context_line":"With the capability to enable PAUSE on a per-user-priority basis,"},{"line_number":477,"context_line":"a lossless lane for Fibre Channel can be created while retaining packet-drop"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_05a401a4","line":474,"updated":"2016-07-25 17:53:40.000000000","message":"s/link/a link/","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":471,"context_line":"technologies enhance Ethernet to be loss less."},{"line_number":472,"context_line":""},{"line_number":473,"context_line":"IEEE 802.1Qbb Priority Flow Control (PFC) extends the granularity of PAUSE"},{"line_number":474,"context_line":"frame to accommodate the priority queues (.1p).  Using PFC, link is divided"},{"line_number":475,"context_line":"into eight virtual queues and PAUSE can be applied to each individual queue."},{"line_number":476,"context_line":"With the capability to enable PAUSE on a per-user-priority basis,"},{"line_number":477,"context_line":"a lossless lane for Fibre Channel can be created while retaining packet-drop"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_f9e1f8ff","line":474,"in_reply_to":"dada55a8_05a401a4","updated":"2016-07-27 18:16:29.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":487,"context_line":""},{"line_number":488,"context_line":"IEEE 802.1Qau Quantized Congestion Notification (QCN) enhances the granularity"},{"line_number":489,"context_line":"of Congestion Notification Messages transmission from a switch. Switches always"},{"line_number":490,"context_line":"monitors their output queues and whenever an output queue reaches threshold"},{"line_number":491,"context_line":"(low/high thresholds), they send CNM packets back to the sender (one for every"},{"line_number":492,"context_line":"n packets, where n depends on output queue threshold). Each CNM packet"},{"line_number":493,"context_line":"contains enough information like destination address, priority etc. so that the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_e59e0d53","line":490,"updated":"2016-07-25 17:53:40.000000000","message":"s/monitors/monitor/\ns/threshold/a certain configurable threshold/","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":487,"context_line":""},{"line_number":488,"context_line":"IEEE 802.1Qau Quantized Congestion Notification (QCN) enhances the granularity"},{"line_number":489,"context_line":"of Congestion Notification Messages transmission from a switch. Switches always"},{"line_number":490,"context_line":"monitors their output queues and whenever an output queue reaches threshold"},{"line_number":491,"context_line":"(low/high thresholds), they send CNM packets back to the sender (one for every"},{"line_number":492,"context_line":"n packets, where n depends on output queue threshold). Each CNM packet"},{"line_number":493,"context_line":"contains enough information like destination address, priority etc. so that the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_59e76412","line":490,"in_reply_to":"dada55a8_e59e0d53","updated":"2016-07-27 18:16:29.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":491,"context_line":"(low/high thresholds), they send CNM packets back to the sender (one for every"},{"line_number":492,"context_line":"n packets, where n depends on output queue threshold). Each CNM packet"},{"line_number":493,"context_line":"contains enough information like destination address, priority etc. so that the"},{"line_number":494,"context_line":"sender reduce the transmission rate of that specific traffic."},{"line_number":495,"context_line":""},{"line_number":496,"context_line":"Class DataCenterBridging (Capability):"},{"line_number":497,"context_line":"    PREFIX \u003d HwNicCapabilityGroup.PREFIX + ‘:’ + HwNicCapabilityGroup.DCB"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_45aef985","line":494,"updated":"2016-07-25 17:53:40.000000000","message":"s/sender reduce/sender can reduce/","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":491,"context_line":"(low/high thresholds), they send CNM packets back to the sender (one for every"},{"line_number":492,"context_line":"n packets, where n depends on output queue threshold). Each CNM packet"},{"line_number":493,"context_line":"contains enough information like destination address, priority etc. so that the"},{"line_number":494,"context_line":"sender reduce the transmission rate of that specific traffic."},{"line_number":495,"context_line":""},{"line_number":496,"context_line":"Class DataCenterBridging (Capability):"},{"line_number":497,"context_line":"    PREFIX \u003d HwNicCapabilityGroup.PREFIX + ‘:’ + HwNicCapabilityGroup.DCB"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_99f1dcd0","line":494,"in_reply_to":"dada55a8_45aef985","updated":"2016-07-27 18:16:29.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":498,"context_line":""},{"line_number":499,"context_line":"    DCB_PFC   \u003d DataCenterBridging.PREFIX + ‘:pfc’"},{"line_number":500,"context_line":"    DCB_ETS   \u003d  DataCenterBridging.PREFIX + ‘:ets’"},{"line_number":501,"context_line":"    DCB_QCN \u003d  DataCenterBridging.PREFIX + ‘:qcn’"},{"line_number":502,"context_line":""},{"line_number":503,"context_line":""},{"line_number":504,"context_line":"OpenFlow TTP (net:openflowttp)"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_25a9457c","line":501,"updated":"2016-07-25 17:53:40.000000000","message":"So, for the above capabilities, are these capabilities on a particular class of network interface cards? Or are these capabilities of a particular class of hardware routers/switches?","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":498,"context_line":""},{"line_number":499,"context_line":"    DCB_PFC   \u003d DataCenterBridging.PREFIX + ‘:pfc’"},{"line_number":500,"context_line":"    DCB_ETS   \u003d  DataCenterBridging.PREFIX + ‘:ets’"},{"line_number":501,"context_line":"    DCB_QCN \u003d  DataCenterBridging.PREFIX + ‘:qcn’"},{"line_number":502,"context_line":""},{"line_number":503,"context_line":""},{"line_number":504,"context_line":"OpenFlow TTP (net:openflowttp)"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_d92a34e7","line":501,"in_reply_to":"dada55a8_25a9457c","updated":"2016-07-27 18:16:29.000000000","message":"These are the capabilities some NICs (Intel) support. These capabilities are supported by the switches as well, but here we\u0027re describing about NIC support.","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":504,"context_line":"OpenFlow TTP (net:openflowttp)"},{"line_number":505,"context_line":"------------------------------"},{"line_number":506,"context_line":""},{"line_number":507,"context_line":"Openflow protocol [33] has separated networking devices data path from the"},{"line_number":508,"context_line":"control plane by describing packet processing pipe line (as a sequence of"},{"line_number":509,"context_line":"forwarding tables) independent of control protocols. But vendors use"},{"line_number":510,"context_line":"completely different forwarding pipelines based on switch ASIC specifications"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_85b631da","line":507,"updated":"2016-07-25 17:53:40.000000000","message":"s/has separated networking devices data path/separates the device data path/","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":504,"context_line":"OpenFlow TTP (net:openflowttp)"},{"line_number":505,"context_line":"------------------------------"},{"line_number":506,"context_line":""},{"line_number":507,"context_line":"Openflow protocol [33] has separated networking devices data path from the"},{"line_number":508,"context_line":"control plane by describing packet processing pipe line (as a sequence of"},{"line_number":509,"context_line":"forwarding tables) independent of control protocols. But vendors use"},{"line_number":510,"context_line":"completely different forwarding pipelines based on switch ASIC specifications"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_19b4ccf0","line":507,"in_reply_to":"dada55a8_85b631da","updated":"2016-07-27 18:16:29.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":505,"context_line":"------------------------------"},{"line_number":506,"context_line":""},{"line_number":507,"context_line":"Openflow protocol [33] has separated networking devices data path from the"},{"line_number":508,"context_line":"control plane by describing packet processing pipe line (as a sequence of"},{"line_number":509,"context_line":"forwarding tables) independent of control protocols. But vendors use"},{"line_number":510,"context_line":"completely different forwarding pipelines based on switch ASIC specifications"},{"line_number":511,"context_line":"and there is no way standardize the forwarding plane."}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_65b97dcb","line":508,"updated":"2016-07-25 17:53:40.000000000","message":"s/packet processing pipe line/packet processing as a pipeline/","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":505,"context_line":"------------------------------"},{"line_number":506,"context_line":""},{"line_number":507,"context_line":"Openflow protocol [33] has separated networking devices data path from the"},{"line_number":508,"context_line":"control plane by describing packet processing pipe line (as a sequence of"},{"line_number":509,"context_line":"forwarding tables) independent of control protocols. But vendors use"},{"line_number":510,"context_line":"completely different forwarding pipelines based on switch ASIC specifications"},{"line_number":511,"context_line":"and there is no way standardize the forwarding plane."}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_79c1882e","line":508,"in_reply_to":"dada55a8_65b97dcb","updated":"2016-07-27 18:16:29.000000000","message":"A packet entering networking device will go through a sequence of \"engines\" which process and modify the packet. This is known as \"packet processing pipeline\".  Openflow protocol describes this pipeline so as to standardize the pipeline.","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":508,"context_line":"control plane by describing packet processing pipe line (as a sequence of"},{"line_number":509,"context_line":"forwarding tables) independent of control protocols. But vendors use"},{"line_number":510,"context_line":"completely different forwarding pipelines based on switch ASIC specifications"},{"line_number":511,"context_line":"and there is no way standardize the forwarding plane."},{"line_number":512,"context_line":""},{"line_number":513,"context_line":"Table Type Patterns specification [34] enables users to define abstract"},{"line_number":514,"context_line":"switch models. TTP is one type of Network Data Models that are used to"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_c5b029e0","line":511,"updated":"2016-07-25 17:53:40.000000000","message":"s/standardize/to standardize/","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":508,"context_line":"control plane by describing packet processing pipe line (as a sequence of"},{"line_number":509,"context_line":"forwarding tables) independent of control protocols. But vendors use"},{"line_number":510,"context_line":"completely different forwarding pipelines based on switch ASIC specifications"},{"line_number":511,"context_line":"and there is no way standardize the forwarding plane."},{"line_number":512,"context_line":""},{"line_number":513,"context_line":"Table Type Patterns specification [34] enables users to define abstract"},{"line_number":514,"context_line":"switch models. TTP is one type of Network Data Models that are used to"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_f9b8d8e7","line":511,"in_reply_to":"dada55a8_c5b029e0","updated":"2016-07-27 18:16:29.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":511,"context_line":"and there is no way standardize the forwarding plane."},{"line_number":512,"context_line":""},{"line_number":513,"context_line":"Table Type Patterns specification [34] enables users to define abstract"},{"line_number":514,"context_line":"switch models. TTP is one type of Network Data Models that are used to"},{"line_number":515,"context_line":"describe open flow-logical switch. Each TTP includes unique ID, required"},{"line_number":516,"context_line":"OF protocol features, Forwarding Table Map, Meter Table, Flow Table along with"},{"line_number":517,"context_line":"Flow Types and Group Table with group entries. Controller and switches"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_a5b375e8","line":514,"updated":"2016-07-25 17:53:40.000000000","message":"s/Models/Model/\ns/that are used/that is used/","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":511,"context_line":"and there is no way standardize the forwarding plane."},{"line_number":512,"context_line":""},{"line_number":513,"context_line":"Table Type Patterns specification [34] enables users to define abstract"},{"line_number":514,"context_line":"switch models. TTP is one type of Network Data Models that are used to"},{"line_number":515,"context_line":"describe open flow-logical switch. Each TTP includes unique ID, required"},{"line_number":516,"context_line":"OF protocol features, Forwarding Table Map, Meter Table, Flow Table along with"},{"line_number":517,"context_line":"Flow Types and Group Table with group entries. Controller and switches"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_99c8bc76","line":514,"in_reply_to":"dada55a8_a5b375e8","updated":"2016-07-27 18:16:29.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"2cfcd9f2dbad3482fd416c99c875aad73f98672e","unresolved":false,"context_lines":[{"line_number":528,"context_line":""},{"line_number":529,"context_line":""},{"line_number":530,"context_line":"The above are merely examples. Not complete by any means, but meant to"},{"line_number":531,"context_line":"illustrate how to codify the various capabilities within Nova."},{"line_number":532,"context_line":""},{"line_number":533,"context_line":"Alternatives"},{"line_number":534,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dada55a8_05cb6154","line":531,"updated":"2016-07-25 17:53:40.000000000","message":"Maybe not just within Nova :) Also sounds like many of the above capabilities are specific to Neutron ;)","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"},{"author":{"_account_id":22637,"name":"Arun yerra","email":"arunsarat@gmail.com","username":"arunsarat"},"change_message_id":"aab547adee6f6e9a87d37053c7ba362e20db419d","unresolved":false,"context_lines":[{"line_number":528,"context_line":""},{"line_number":529,"context_line":""},{"line_number":530,"context_line":"The above are merely examples. Not complete by any means, but meant to"},{"line_number":531,"context_line":"illustrate how to codify the various capabilities within Nova."},{"line_number":532,"context_line":""},{"line_number":533,"context_line":"Alternatives"},{"line_number":534,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bacf61ea_b9a5c0b6","line":531,"in_reply_to":"dada55a8_05cb6154","updated":"2016-07-27 18:16:29.000000000","message":"Done","commit_id":"83767c6d076dc22e6a31603f7ed4192bca5b8135"}]}
