)]}'
{"doc/networking-guide/source/adv-config-service-chaining.rst":[{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":"Service Function Chaining"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"The Basics"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_dff17497","line":2,"range":{"start_line":2,"start_character":8,"end_line":2,"end_character":25},"updated":"2016-07-08 10:37:10.000000000","message":"Service function chaining* - ensure all your titles are sentence case","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":"Service Function Chaining"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"The Basics"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_641a6219","line":2,"range":{"start_line":2,"start_character":8,"end_line":2,"end_character":25},"in_reply_to":"1aa78d24_dff17497","updated":"2016-07-08 16:56:59.000000000","message":"will do","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10897,"name":"Joseph Robinson","email":"josephremail@gmail.com","username":"RobiJoe"},"change_message_id":"5a54307859a879918e67db40fa2b6e1c719b8543","unresolved":false,"context_lines":[{"line_number":5,"context_line":"The Basics"},{"line_number":6,"context_line":"----------"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"Service Function Chaining is a mechanism for overriding the basic destination"},{"line_number":9,"context_line":"based forwarding that is typical of IP networks. It is conceptually related"},{"line_number":10,"context_line":"to Policy Based Routing in physical networks but it is typically thought of"},{"line_number":11,"context_line":"as a Software Defined Networking technology. It is often used in conjunction"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_03629416","line":8,"updated":"2016-07-08 08:03:57.000000000","message":"Introduce the acronym at the first instance when mentioning SFC later - \n\"Service Function Chaining (SFC)\".","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":5,"context_line":"The Basics"},{"line_number":6,"context_line":"----------"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"Service Function Chaining is a mechanism for overriding the basic destination"},{"line_number":9,"context_line":"based forwarding that is typical of IP networks. It is conceptually related"},{"line_number":10,"context_line":"to Policy Based Routing in physical networks but it is typically thought of"},{"line_number":11,"context_line":"as a Software Defined Networking technology. It is often used in conjunction"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_e4dc9248","line":8,"in_reply_to":"1aa78d24_03629416","updated":"2016-07-08 16:56:59.000000000","message":"will do","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"Service Function Chaining is a mechanism for overriding the basic destination"},{"line_number":9,"context_line":"based forwarding that is typical of IP networks. It is conceptually related"},{"line_number":10,"context_line":"to Policy Based Routing in physical networks but it is typically thought of"},{"line_number":11,"context_line":"as a Software Defined Networking technology. It is often used in conjunction"},{"line_number":12,"context_line":"with security functions although it may be used for a broader range of"},{"line_number":13,"context_line":"features."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_9ca25a99","line":10,"range":{"start_line":10,"start_character":36,"end_line":10,"end_character":44},"updated":"2016-07-08 10:37:10.000000000","message":"networks, but it is*","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"Service Function Chaining is a mechanism for overriding the basic destination"},{"line_number":9,"context_line":"based forwarding that is typical of IP networks. It is conceptually related"},{"line_number":10,"context_line":"to Policy Based Routing in physical networks but it is typically thought of"},{"line_number":11,"context_line":"as a Software Defined Networking technology. It is often used in conjunction"},{"line_number":12,"context_line":"with security functions although it may be used for a broader range of"},{"line_number":13,"context_line":"features."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_24ce9a83","line":10,"range":{"start_line":10,"start_character":36,"end_line":10,"end_character":44},"in_reply_to":"1aa78d24_9ca25a99","updated":"2016-07-08 16:56:59.000000000","message":"will do","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":12,"context_line":"with security functions although it may be used for a broader range of"},{"line_number":13,"context_line":"features."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Fundamentally SFC is the ability to cause network packet flows to route through"},{"line_number":16,"context_line":"a network via a path other than the one that would be chosen by routing table"},{"line_number":17,"context_line":"lookups on the packet\u0027s destination IP address. It is most commonly used in"},{"line_number":18,"context_line":"conjunction with Network Function Virtualization when recreating in a virtual"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_3c39a642","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":13},"updated":"2016-07-08 10:37:10.000000000","message":"Fundamentally, SFC*","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":12,"context_line":"with security functions although it may be used for a broader range of"},{"line_number":13,"context_line":"features."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Fundamentally SFC is the ability to cause network packet flows to route through"},{"line_number":16,"context_line":"a network via a path other than the one that would be chosen by routing table"},{"line_number":17,"context_line":"lookups on the packet\u0027s destination IP address. It is most commonly used in"},{"line_number":18,"context_line":"conjunction with Network Function Virtualization when recreating in a virtual"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_e4aad284","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":13},"in_reply_to":"1aa78d24_3c39a642","updated":"2016-07-08 16:56:59.000000000","message":"will correct","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":13,"context_line":"features."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Fundamentally SFC is the ability to cause network packet flows to route through"},{"line_number":16,"context_line":"a network via a path other than the one that would be chosen by routing table"},{"line_number":17,"context_line":"lookups on the packet\u0027s destination IP address. It is most commonly used in"},{"line_number":18,"context_line":"conjunction with Network Function Virtualization when recreating in a virtual"},{"line_number":19,"context_line":"environment a series of network functions that would have traditionally been"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_1cc66a16","line":16,"range":{"start_line":16,"start_character":10,"end_line":16,"end_character":20},"updated":"2016-07-08 10:37:10.000000000","message":"Break up this sentence:\n\"...via a path. This is other than the one that would be chosen by routing table lookups on the packet\u0027s destination IP address.\"","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":13,"context_line":"features."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Fundamentally SFC is the ability to cause network packet flows to route through"},{"line_number":16,"context_line":"a network via a path other than the one that would be chosen by routing table"},{"line_number":17,"context_line":"lookups on the packet\u0027s destination IP address. It is most commonly used in"},{"line_number":18,"context_line":"conjunction with Network Function Virtualization when recreating in a virtual"},{"line_number":19,"context_line":"environment a series of network functions that would have traditionally been"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_247cda1f","line":16,"range":{"start_line":16,"start_character":10,"end_line":16,"end_character":20},"in_reply_to":"1aa78d24_1cc66a16","updated":"2016-07-08 16:56:59.000000000","message":"will  correct","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Fundamentally SFC is the ability to cause network packet flows to route through"},{"line_number":16,"context_line":"a network via a path other than the one that would be chosen by routing table"},{"line_number":17,"context_line":"lookups on the packet\u0027s destination IP address. It is most commonly used in"},{"line_number":18,"context_line":"conjunction with Network Function Virtualization when recreating in a virtual"},{"line_number":19,"context_line":"environment a series of network functions that would have traditionally been"},{"line_number":20,"context_line":"implemented as a collection of physical network devices connected in series"},{"line_number":21,"context_line":"by cables."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"A very simple example of a Service Function Chain would be one that forces"},{"line_number":24,"context_line":"all traffic from point A to point B to go through a firewall even though"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_1c5f8a76","line":21,"range":{"start_line":17,"start_character":48,"end_line":21,"end_character":10},"updated":"2016-07-08 10:37:10.000000000","message":"Let\u0027s break this sentence up:\n\n\"It is most commonly used in conjunction with Network Function Virtualization when recreating in a virtual environment. It is a series of network functions that would have traditionally been implemented as a collection of physical networks.\"","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Fundamentally SFC is the ability to cause network packet flows to route through"},{"line_number":16,"context_line":"a network via a path other than the one that would be chosen by routing table"},{"line_number":17,"context_line":"lookups on the packet\u0027s destination IP address. It is most commonly used in"},{"line_number":18,"context_line":"conjunction with Network Function Virtualization when recreating in a virtual"},{"line_number":19,"context_line":"environment a series of network functions that would have traditionally been"},{"line_number":20,"context_line":"implemented as a collection of physical network devices connected in series"},{"line_number":21,"context_line":"by cables."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"A very simple example of a Service Function Chain would be one that forces"},{"line_number":24,"context_line":"all traffic from point A to point B to go through a firewall even though"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_4473e64d","line":21,"range":{"start_line":17,"start_character":48,"end_line":21,"end_character":10},"in_reply_to":"1aa78d24_1c5f8a76","updated":"2016-07-08 16:56:59.000000000","message":"will correct","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":20,"context_line":"implemented as a collection of physical network devices connected in series"},{"line_number":21,"context_line":"by cables."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"A very simple example of a Service Function Chain would be one that forces"},{"line_number":24,"context_line":"all traffic from point A to point B to go through a firewall even though"},{"line_number":25,"context_line":"the firewall is not literally between point A and B from a routing table"},{"line_number":26,"context_line":"perspective."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_7cd7aebf","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":21},"updated":"2016-07-08 10:37:10.000000000","message":"\"An example of a Service Function Chain is one that forces all traffic...\"","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":20,"context_line":"implemented as a collection of physical network devices connected in series"},{"line_number":21,"context_line":"by cables."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"A very simple example of a Service Function Chain would be one that forces"},{"line_number":24,"context_line":"all traffic from point A to point B to go through a firewall even though"},{"line_number":25,"context_line":"the firewall is not literally between point A and B from a routing table"},{"line_number":26,"context_line":"perspective."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_04a0be8f","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":21},"in_reply_to":"1aa78d24_7cd7aebf","updated":"2016-07-08 16:56:59.000000000","message":"will correct","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":21,"context_line":"by cables."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"A very simple example of a Service Function Chain would be one that forces"},{"line_number":24,"context_line":"all traffic from point A to point B to go through a firewall even though"},{"line_number":25,"context_line":"the firewall is not literally between point A and B from a routing table"},{"line_number":26,"context_line":"perspective."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_fc98be1d","line":24,"range":{"start_line":24,"start_character":52,"end_line":24,"end_character":60},"updated":"2016-07-08 10:37:10.000000000","message":"firewall, *","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":21,"context_line":"by cables."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"A very simple example of a Service Function Chain would be one that forces"},{"line_number":24,"context_line":"all traffic from point A to point B to go through a firewall even though"},{"line_number":25,"context_line":"the firewall is not literally between point A and B from a routing table"},{"line_number":26,"context_line":"perspective."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_7cfe8e39","line":24,"range":{"start_line":24,"start_character":36,"end_line":24,"end_character":41},"updated":"2016-07-08 10:37:10.000000000","message":"remove","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":21,"context_line":"by cables."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"A very simple example of a Service Function Chain would be one that forces"},{"line_number":24,"context_line":"all traffic from point A to point B to go through a firewall even though"},{"line_number":25,"context_line":"the firewall is not literally between point A and B from a routing table"},{"line_number":26,"context_line":"perspective."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_e4af727b","line":24,"range":{"start_line":24,"start_character":36,"end_line":24,"end_character":41},"in_reply_to":"1aa78d24_7cfe8e39","updated":"2016-07-08 16:56:59.000000000","message":"will correct","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"A very simple example of a Service Function Chain would be one that forces"},{"line_number":24,"context_line":"all traffic from point A to point B to go through a firewall even though"},{"line_number":25,"context_line":"the firewall is not literally between point A and B from a routing table"},{"line_number":26,"context_line":"perspective."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"A more complex example is an ordered series of Service Functions, each"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_7c85eeab","line":25,"range":{"start_line":25,"start_character":20,"end_line":25,"end_character":29},"updated":"2016-07-08 10:37:10.000000000","message":"remove","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"A very simple example of a Service Function Chain would be one that forces"},{"line_number":24,"context_line":"all traffic from point A to point B to go through a firewall even though"},{"line_number":25,"context_line":"the firewall is not literally between point A and B from a routing table"},{"line_number":26,"context_line":"perspective."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"A more complex example is an ordered series of Service Functions, each"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_04c71e46","line":25,"range":{"start_line":25,"start_character":20,"end_line":25,"end_character":29},"in_reply_to":"1aa78d24_7c85eeab","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":25,"context_line":"the firewall is not literally between point A and B from a routing table"},{"line_number":26,"context_line":"perspective."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"A more complex example is an ordered series of Service Functions, each"},{"line_number":29,"context_line":"implemented in multiple VMs, such that traffic must flow through one VM"},{"line_number":30,"context_line":"at each hop in the Service Function Chain but the network uses a hashing"},{"line_number":31,"context_line":"algorithm to distribute different flows across multiple VMs at each hop."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_9caffa2a","line":28,"range":{"start_line":28,"start_character":55,"end_line":28,"end_character":65},"updated":"2016-07-08 10:37:10.000000000","message":"\"...Functions. Each are implemented in multiples VMs, such...\"","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":25,"context_line":"the firewall is not literally between point A and B from a routing table"},{"line_number":26,"context_line":"perspective."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"A more complex example is an ordered series of Service Functions, each"},{"line_number":29,"context_line":"implemented in multiple VMs, such that traffic must flow through one VM"},{"line_number":30,"context_line":"at each hop in the Service Function Chain but the network uses a hashing"},{"line_number":31,"context_line":"algorithm to distribute different flows across multiple VMs at each hop."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_84e14ed3","line":28,"range":{"start_line":28,"start_character":55,"end_line":28,"end_character":65},"in_reply_to":"1aa78d24_9caffa2a","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":30,"context_line":"at each hop in the Service Function Chain but the network uses a hashing"},{"line_number":31,"context_line":"algorithm to distribute different flows across multiple VMs at each hop."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"All Neutron network services and VMs are connected to a Neutron network"},{"line_number":34,"context_line":"via Neutron ports. This makes it possible to create a traffic steering model"},{"line_number":35,"context_line":"for service chaining that uses only Neutron ports. This traffic steering model"},{"line_number":36,"context_line":"has no notion of the actual services attached to these Neutron ports."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_7c5a0e52","line":33,"range":{"start_line":33,"start_character":4,"end_line":33,"end_character":11},"updated":"2016-07-08 10:37:10.000000000","message":"lowercase n for neutron (all project names are lowercase) - apply throughout","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":30,"context_line":"at each hop in the Service Function Chain but the network uses a hashing"},{"line_number":31,"context_line":"algorithm to distribute different flows across multiple VMs at each hop."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"All Neutron network services and VMs are connected to a Neutron network"},{"line_number":34,"context_line":"via Neutron ports. This makes it possible to create a traffic steering model"},{"line_number":35,"context_line":"for service chaining that uses only Neutron ports. This traffic steering model"},{"line_number":36,"context_line":"has no notion of the actual services attached to these Neutron ports."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_a403aa75","line":33,"range":{"start_line":33,"start_character":4,"end_line":33,"end_character":11},"in_reply_to":"1aa78d24_7c5a0e52","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10897,"name":"Joseph Robinson","email":"josephremail@gmail.com","username":"RobiJoe"},"change_message_id":"5a54307859a879918e67db40fa2b6e1c719b8543","unresolved":false,"context_lines":[{"line_number":36,"context_line":"has no notion of the actual services attached to these Neutron ports."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"The service VM hosting the service functions is instantiated and configured,"},{"line_number":39,"context_line":"then VNICs are added to the VM and then these VNICs are attached to the network"},{"line_number":40,"context_line":"by Neutron ports. Once the service function is attached to Neutron ports, the"},{"line_number":41,"context_line":"ports may be included in a Port Chain to allow the service function to provide"},{"line_number":42,"context_line":"treatment to the user\u0027s traffic."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_660f262f","line":39,"updated":"2016-07-08 08:03:57.000000000","message":"Remove \"then\", add a second comma to the sentence, and change the placement of the second \"then\" in the sentence here - \"..instantiated and configured, VNICs are added to the VM, and these VNICs are then attached to the network by Neutron ports.\"","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":36,"context_line":"has no notion of the actual services attached to these Neutron ports."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"The service VM hosting the service functions is instantiated and configured,"},{"line_number":39,"context_line":"then VNICs are added to the VM and then these VNICs are attached to the network"},{"line_number":40,"context_line":"by Neutron ports. Once the service function is attached to Neutron ports, the"},{"line_number":41,"context_line":"ports may be included in a Port Chain to allow the service function to provide"},{"line_number":42,"context_line":"treatment to the user\u0027s traffic."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_e4fdb26f","line":39,"in_reply_to":"1aa78d24_660f262f","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"A Port Chain (Service Function Path) consists of:"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"* a set of Neutron ports, to define the sequence of service functions."},{"line_number":47,"context_line":"* a set of flow classifiers, to specify the classified traffic flows to enter"},{"line_number":48,"context_line":"  the chain."},{"line_number":49,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_3c16c655","line":46,"range":{"start_line":46,"start_character":2,"end_line":46,"end_character":3},"updated":"2016-07-08 10:37:10.000000000","message":"A* (for both instances here)","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"A Port Chain (Service Function Path) consists of:"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"* a set of Neutron ports, to define the sequence of service functions."},{"line_number":47,"context_line":"* a set of flow classifiers, to specify the classified traffic flows to enter"},{"line_number":48,"context_line":"  the chain."},{"line_number":49,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_44ef66b0","line":46,"range":{"start_line":46,"start_character":2,"end_line":46,"end_character":3},"in_reply_to":"1aa78d24_3c16c655","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10897,"name":"Joseph Robinson","email":"josephremail@gmail.com","username":"RobiJoe"},"change_message_id":"5a54307859a879918e67db40fa2b6e1c719b8543","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"A flow classifier cannot be part of two different Port Chains otherwise"},{"line_number":61,"context_line":"there is ambiguity as to which chain path that flow\u0027s packets should go."},{"line_number":62,"context_line":"A check will be made to ensure no ambiguity. However, multiple flow classifiers"},{"line_number":63,"context_line":"can be associated with a Port Chain since multiple different types of flows"},{"line_number":64,"context_line":"can request the same service treatment path."},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_26a99ee0","line":62,"updated":"2016-07-08 08:03:57.000000000","message":"Change to active voice - \"However, you can associated multiple flow classifiers with a Port Chain since..\"","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"A flow classifier cannot be part of two different Port Chains otherwise"},{"line_number":61,"context_line":"there is ambiguity as to which chain path that flow\u0027s packets should go."},{"line_number":62,"context_line":"A check will be made to ensure no ambiguity. However, multiple flow classifiers"},{"line_number":63,"context_line":"can be associated with a Port Chain since multiple different types of flows"},{"line_number":64,"context_line":"can request the same service treatment path."},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_e40bf27b","line":62,"in_reply_to":"1aa78d24_26a99ee0","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":77,"context_line":"Port Chain"},{"line_number":78,"context_line":"~~~~~~~~~~"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"* id - Port Chain ID."},{"line_number":81,"context_line":"* tenant_id - Tenant ID."},{"line_number":82,"context_line":"* name - Readable name."},{"line_number":83,"context_line":"* description - Readable description."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_9f408c37","line":80,"range":{"start_line":80,"start_character":2,"end_line":80,"end_character":4},"updated":"2016-07-08 10:37:10.000000000","message":"``id``","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":77,"context_line":"Port Chain"},{"line_number":78,"context_line":"~~~~~~~~~~"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"* id - Port Chain ID."},{"line_number":81,"context_line":"* tenant_id - Tenant ID."},{"line_number":82,"context_line":"* name - Readable name."},{"line_number":83,"context_line":"* description - Readable description."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_c7a3584e","line":80,"range":{"start_line":80,"start_character":2,"end_line":80,"end_character":4},"in_reply_to":"1aa78d24_9f408c37","updated":"2016-07-08 16:56:59.000000000","message":"ok, and ditto to all below","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":78,"context_line":"~~~~~~~~~~"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"* id - Port Chain ID."},{"line_number":81,"context_line":"* tenant_id - Tenant ID."},{"line_number":82,"context_line":"* name - Readable name."},{"line_number":83,"context_line":"* description - Readable description."},{"line_number":84,"context_line":"* port_pair_groups - List of Port Pair Group IDs."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_ff77109d","line":81,"range":{"start_line":81,"start_character":2,"end_line":81,"end_character":11},"updated":"2016-07-08 10:37:10.000000000","message":"``tenant_id``","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"* id - Port Chain ID."},{"line_number":81,"context_line":"* tenant_id - Tenant ID."},{"line_number":82,"context_line":"* name - Readable name."},{"line_number":83,"context_line":"* description - Readable description."},{"line_number":84,"context_line":"* port_pair_groups - List of Port Pair Group IDs."},{"line_number":85,"context_line":"* flow_classifiers - List of Flow Classifier IDs."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_5f6d84cb","line":82,"range":{"start_line":82,"start_character":2,"end_line":82,"end_character":6},"updated":"2016-07-08 10:37:10.000000000","message":"``name``","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":80,"context_line":"* id - Port Chain ID."},{"line_number":81,"context_line":"* tenant_id - Tenant ID."},{"line_number":82,"context_line":"* name - Readable name."},{"line_number":83,"context_line":"* description - Readable description."},{"line_number":84,"context_line":"* port_pair_groups - List of Port Pair Group IDs."},{"line_number":85,"context_line":"* flow_classifiers - List of Flow Classifier IDs."},{"line_number":86,"context_line":"* chain_parameters - Dict. of chain parameters."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_1f9adcc5","line":83,"range":{"start_line":83,"start_character":2,"end_line":83,"end_character":13},"updated":"2016-07-08 10:37:10.000000000","message":"``description``","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":81,"context_line":"* tenant_id - Tenant ID."},{"line_number":82,"context_line":"* name - Readable name."},{"line_number":83,"context_line":"* description - Readable description."},{"line_number":84,"context_line":"* port_pair_groups - List of Port Pair Group IDs."},{"line_number":85,"context_line":"* flow_classifiers - List of Flow Classifier IDs."},{"line_number":86,"context_line":"* chain_parameters - Dict. of chain parameters."},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_dfb8542d","line":84,"range":{"start_line":84,"start_character":2,"end_line":84,"end_character":18},"updated":"2016-07-08 10:37:10.000000000","message":"``port_pair_groups``","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":82,"context_line":"* name - Readable name."},{"line_number":83,"context_line":"* description - Readable description."},{"line_number":84,"context_line":"* port_pair_groups - List of Port Pair Group IDs."},{"line_number":85,"context_line":"* flow_classifiers - List of Flow Classifier IDs."},{"line_number":86,"context_line":"* chain_parameters - Dict. of chain parameters."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"A Port Chain consists of a sequence of Port Pair Groups. Each Port Pair"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_3f807846","line":85,"range":{"start_line":85,"start_character":2,"end_line":85,"end_character":18},"updated":"2016-07-08 10:37:10.000000000","message":"``flow_classifiers``","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":83,"context_line":"* description - Readable description."},{"line_number":84,"context_line":"* port_pair_groups - List of Port Pair Group IDs."},{"line_number":85,"context_line":"* flow_classifiers - List of Flow Classifier IDs."},{"line_number":86,"context_line":"* chain_parameters - Dict. of chain parameters."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"A Port Chain consists of a sequence of Port Pair Groups. Each Port Pair"},{"line_number":89,"context_line":"Group is a hop in the Port Chain and is a grouping of Port Pairs representing"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_ffec302b","line":86,"range":{"start_line":86,"start_character":21,"end_line":86,"end_character":26},"updated":"2016-07-08 10:37:10.000000000","message":"Dict? Elaborate to the full word, please","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":83,"context_line":"* description - Readable description."},{"line_number":84,"context_line":"* port_pair_groups - List of Port Pair Group IDs."},{"line_number":85,"context_line":"* flow_classifiers - List of Flow Classifier IDs."},{"line_number":86,"context_line":"* chain_parameters - Dict. of chain parameters."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"A Port Chain consists of a sequence of Port Pair Groups. Each Port Pair"},{"line_number":89,"context_line":"Group is a hop in the Port Chain and is a grouping of Port Pairs representing"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_bf8c6880","line":86,"range":{"start_line":86,"start_character":2,"end_line":86,"end_character":18},"updated":"2016-07-08 10:37:10.000000000","message":"``chain_parameters``","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":83,"context_line":"* description - Readable description."},{"line_number":84,"context_line":"* port_pair_groups - List of Port Pair Group IDs."},{"line_number":85,"context_line":"* flow_classifiers - List of Flow Classifier IDs."},{"line_number":86,"context_line":"* chain_parameters - Dict. of chain parameters."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"A Port Chain consists of a sequence of Port Pair Groups. Each Port Pair"},{"line_number":89,"context_line":"Group is a hop in the Port Chain and is a grouping of Port Pairs representing"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_64770203","line":86,"range":{"start_line":86,"start_character":21,"end_line":86,"end_character":26},"in_reply_to":"1aa78d24_ffec302b","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"A Port Chain consists of a sequence of Port Pair Groups. Each Port Pair"},{"line_number":89,"context_line":"Group is a hop in the Port Chain and is a grouping of Port Pairs representing"},{"line_number":90,"context_line":"SFs of equivalent functionality, for example, a group of Firewall SFs."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Multiple Flow Classifiers may be associated with a Port Chain, with"},{"line_number":93,"context_line":"each Flow Classifier identifying a flow. If the Flow Classifier is not"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_dfe69443","line":90,"range":{"start_line":90,"start_character":66,"end_line":90,"end_character":68},"updated":"2016-07-08 10:37:10.000000000","message":"Service Functions.*","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"A Port Chain consists of a sequence of Port Pair Groups. Each Port Pair"},{"line_number":89,"context_line":"Group is a hop in the Port Chain and is a grouping of Port Pairs representing"},{"line_number":90,"context_line":"SFs of equivalent functionality, for example, a group of Firewall SFs."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Multiple Flow Classifiers may be associated with a Port Chain, with"},{"line_number":93,"context_line":"each Flow Classifier identifying a flow. If the Flow Classifier is not"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_447486fc","line":90,"range":{"start_line":90,"start_character":66,"end_line":90,"end_character":68},"in_reply_to":"1aa78d24_dfe69443","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10897,"name":"Joseph Robinson","email":"josephremail@gmail.com","username":"RobiJoe"},"change_message_id":"5a54307859a879918e67db40fa2b6e1c719b8543","unresolved":false,"context_lines":[{"line_number":89,"context_line":"Group is a hop in the Port Chain and is a grouping of Port Pairs representing"},{"line_number":90,"context_line":"SFs of equivalent functionality, for example, a group of Firewall SFs."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Multiple Flow Classifiers may be associated with a Port Chain, with"},{"line_number":93,"context_line":"each Flow Classifier identifying a flow. If the Flow Classifier is not"},{"line_number":94,"context_line":"specified, then no traffic will be steered through the Port Chain."},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_06cf42b4","line":92,"updated":"2016-07-08 08:03:57.000000000","message":"Add an \"and\" after the comma - \"with a Port Chain, and with each Flow Classifier identifying a flow.\"","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":89,"context_line":"Group is a hop in the Port Chain and is a grouping of Port Pairs representing"},{"line_number":90,"context_line":"SFs of equivalent functionality, for example, a group of Firewall SFs."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Multiple Flow Classifiers may be associated with a Port Chain, with"},{"line_number":93,"context_line":"each Flow Classifier identifying a flow. If the Flow Classifier is not"},{"line_number":94,"context_line":"specified, then no traffic will be steered through the Port Chain."},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_5f5744ca","line":92,"in_reply_to":"1aa78d24_06cf42b4","updated":"2016-07-08 10:37:10.000000000","message":"Hmm disagree, Joe. I think it reads fine as is? At least, it makes more sense to me without the \u0027and\u0027.","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":89,"context_line":"Group is a hop in the Port Chain and is a grouping of Port Pairs representing"},{"line_number":90,"context_line":"SFs of equivalent functionality, for example, a group of Firewall SFs."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Multiple Flow Classifiers may be associated with a Port Chain, with"},{"line_number":93,"context_line":"each Flow Classifier identifying a flow. If the Flow Classifier is not"},{"line_number":94,"context_line":"specified, then no traffic will be steered through the Port Chain."},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_64e542a7","line":92,"in_reply_to":"1aa78d24_5f5744ca","updated":"2016-07-08 16:56:59.000000000","message":"will leave as is","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10897,"name":"Joseph Robinson","email":"josephremail@gmail.com","username":"RobiJoe"},"change_message_id":"5a54307859a879918e67db40fa2b6e1c719b8543","unresolved":false,"context_lines":[{"line_number":93,"context_line":"each Flow Classifier identifying a flow. If the Flow Classifier is not"},{"line_number":94,"context_line":"specified, then no traffic will be steered through the Port Chain."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"One chain parameter is currently defined, the correlation parameter. More"},{"line_number":97,"context_line":"parameters can be added in future extensions to accommodate new requirements."},{"line_number":98,"context_line":"The correlation parameter is used to specify different SFC correlation"},{"line_number":99,"context_line":"mechanisms. This will be set to mpls for now to be consistent with current"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_063622b4","line":96,"updated":"2016-07-08 08:03:57.000000000","message":"Change the comma into a : or a - here \"One chain parameter is currently defined - the correlation parameter.\"","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":93,"context_line":"each Flow Classifier identifying a flow. If the Flow Classifier is not"},{"line_number":94,"context_line":"specified, then no traffic will be steered through the Port Chain."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"One chain parameter is currently defined, the correlation parameter. More"},{"line_number":97,"context_line":"parameters can be added in future extensions to accommodate new requirements."},{"line_number":98,"context_line":"The correlation parameter is used to specify different SFC correlation"},{"line_number":99,"context_line":"mechanisms. This will be set to mpls for now to be consistent with current"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_e49e5206","line":96,"in_reply_to":"1aa78d24_063622b4","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"One chain parameter is currently defined, the correlation parameter. More"},{"line_number":97,"context_line":"parameters can be added in future extensions to accommodate new requirements."},{"line_number":98,"context_line":"The correlation parameter is used to specify different SFC correlation"},{"line_number":99,"context_line":"mechanisms. This will be set to mpls for now to be consistent with current"},{"line_number":100,"context_line":"OVS capability. If this parameter is not specified, it will default to mpls."},{"line_number":101,"context_line":"In the future, it can be extended to include the Network Service Header (NSH),"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_1f2bfc34","line":98,"range":{"start_line":98,"start_character":55,"end_line":98,"end_character":58},"updated":"2016-07-08 10:37:10.000000000","message":"Elaborate? You haven\u0027t used this acronym before. If you want to use acronyms, ensure they are identified at the first use.","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"One chain parameter is currently defined, the correlation parameter. More"},{"line_number":97,"context_line":"parameters can be added in future extensions to accommodate new requirements."},{"line_number":98,"context_line":"The correlation parameter is used to specify different SFC correlation"},{"line_number":99,"context_line":"mechanisms. This will be set to mpls for now to be consistent with current"},{"line_number":100,"context_line":"OVS capability. If this parameter is not specified, it will default to mpls."},{"line_number":101,"context_line":"In the future, it can be extended to include the Network Service Header (NSH),"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_447e46af","line":98,"range":{"start_line":98,"start_character":55,"end_line":98,"end_character":58},"in_reply_to":"1aa78d24_1f2bfc34","updated":"2016-07-08 16:56:59.000000000","message":"see response in L8","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":96,"context_line":"One chain parameter is currently defined, the correlation parameter. More"},{"line_number":97,"context_line":"parameters can be added in future extensions to accommodate new requirements."},{"line_number":98,"context_line":"The correlation parameter is used to specify different SFC correlation"},{"line_number":99,"context_line":"mechanisms. This will be set to mpls for now to be consistent with current"},{"line_number":100,"context_line":"OVS capability. If this parameter is not specified, it will default to mpls."},{"line_number":101,"context_line":"In the future, it can be extended to include the Network Service Header (NSH),"},{"line_number":102,"context_line":"etc."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_9f1fec08","line":99,"range":{"start_line":99,"start_character":32,"end_line":99,"end_character":36},"updated":"2016-07-08 10:37:10.000000000","message":"??? unit of measurement?","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":96,"context_line":"One chain parameter is currently defined, the correlation parameter. More"},{"line_number":97,"context_line":"parameters can be added in future extensions to accommodate new requirements."},{"line_number":98,"context_line":"The correlation parameter is used to specify different SFC correlation"},{"line_number":99,"context_line":"mechanisms. This will be set to mpls for now to be consistent with current"},{"line_number":100,"context_line":"OVS capability. If this parameter is not specified, it will default to mpls."},{"line_number":101,"context_line":"In the future, it can be extended to include the Network Service Header (NSH),"},{"line_number":102,"context_line":"etc."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_873b109c","line":99,"range":{"start_line":99,"start_character":32,"end_line":99,"end_character":36},"in_reply_to":"1aa78d24_9f1fec08","updated":"2016-07-08 16:56:59.000000000","message":"MPLS \u003d Multi-protocol Label Switching - this is a very well known term.","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":104,"context_line":"Port Pair Group"},{"line_number":105,"context_line":"~~~~~~~~~~~~~~~"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"* id - Port Pair Group ID."},{"line_number":108,"context_line":"* tenant_id - Tenant ID."},{"line_number":109,"context_line":"* name - Readable name."},{"line_number":110,"context_line":"* description - Readable description."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_ffd6f025","line":107,"range":{"start_line":107,"start_character":2,"end_line":107,"end_character":4},"updated":"2016-07-08 10:37:10.000000000","message":"ditto with my suggestions above","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":104,"context_line":"Port Pair Group"},{"line_number":105,"context_line":"~~~~~~~~~~~~~~~"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"* id - Port Pair Group ID."},{"line_number":108,"context_line":"* tenant_id - Tenant ID."},{"line_number":109,"context_line":"* name - Readable name."},{"line_number":110,"context_line":"* description - Readable description."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_e7e774aa","line":107,"range":{"start_line":107,"start_character":2,"end_line":107,"end_character":4},"in_reply_to":"1aa78d24_ffd6f025","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":117,"context_line":"Port Pair"},{"line_number":118,"context_line":"~~~~~~~~~"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"* id - Port Pair ID."},{"line_number":121,"context_line":"* tenant_id - Tenant ID."},{"line_number":122,"context_line":"* name - Readable name."},{"line_number":123,"context_line":"* description - Readable description."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_9fcd2c89","line":120,"range":{"start_line":120,"start_character":2,"end_line":120,"end_character":4},"updated":"2016-07-08 10:37:10.000000000","message":"ditto again","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":117,"context_line":"Port Pair"},{"line_number":118,"context_line":"~~~~~~~~~"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"* id - Port Pair ID."},{"line_number":121,"context_line":"* tenant_id - Tenant ID."},{"line_number":122,"context_line":"* name - Readable name."},{"line_number":123,"context_line":"* description - Readable description."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_a7ed6c90","line":120,"range":{"start_line":120,"start_character":2,"end_line":120,"end_character":4},"in_reply_to":"1aa78d24_9fcd2c89","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":130,"context_line":"service function has one bidirectional port, the ingress port has the same"},{"line_number":131,"context_line":"value as the egress port."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"The service_function_parameters attribute allows the passing of SF specific"},{"line_number":134,"context_line":"parameter information to the data path. One parameter is currently"},{"line_number":135,"context_line":"defined, the correlation parameter. More parameters can be added in future"},{"line_number":136,"context_line":"extensions to accommodate new requirements."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_1fa01ca5","line":133,"range":{"start_line":133,"start_character":4,"end_line":133,"end_character":31},"updated":"2016-07-08 10:37:10.000000000","message":"``service_function_parameters``","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10897,"name":"Joseph Robinson","email":"josephremail@gmail.com","username":"RobiJoe"},"change_message_id":"5a54307859a879918e67db40fa2b6e1c719b8543","unresolved":false,"context_lines":[{"line_number":136,"context_line":"extensions to accommodate new requirements."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"The correlation parameter is used to specify the type of chain correlation"},{"line_number":139,"context_line":"mechanism supported by a specific SF. This is needed by the data plane switch"},{"line_number":140,"context_line":"to determine how to associate a packet with a chain. Currently this will be"},{"line_number":141,"context_line":"set to none to support all legacy SFs that are not aware of SFC correlation"},{"line_number":142,"context_line":"methods such as the Network Service Header (NSH). If set to none, the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_265cfeec","line":139,"updated":"2016-07-08 08:03:57.000000000","message":"Is SF a service function? Add the acronym in brackets after the first mention.","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":136,"context_line":"extensions to accommodate new requirements."},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"The correlation parameter is used to specify the type of chain correlation"},{"line_number":139,"context_line":"mechanism supported by a specific SF. This is needed by the data plane switch"},{"line_number":140,"context_line":"to determine how to associate a packet with a chain. Currently this will be"},{"line_number":141,"context_line":"set to none to support all legacy SFs that are not aware of SFC correlation"},{"line_number":142,"context_line":"methods such as the Network Service Header (NSH). If set to none, the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_8762f0ab","line":139,"in_reply_to":"1aa78d24_265cfeec","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":141,"context_line":"set to none to support all legacy SFs that are not aware of SFC correlation"},{"line_number":142,"context_line":"methods such as the Network Service Header (NSH). If set to none, the"},{"line_number":143,"context_line":"data-plane implementation is expected to provide SF Proxy functionality. In"},{"line_number":144,"context_line":"the future, this parameter can be extended to include NSH, etc. If this"},{"line_number":145,"context_line":"parameter is not specified, it will default to none."},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Flow Classifier"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_df9e9462","line":144,"range":{"start_line":144,"start_character":59,"end_line":144,"end_character":62},"updated":"2016-07-08 10:37:10.000000000","message":"remove use of \u0027etc\u0027.","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":141,"context_line":"set to none to support all legacy SFs that are not aware of SFC correlation"},{"line_number":142,"context_line":"methods such as the Network Service Header (NSH). If set to none, the"},{"line_number":143,"context_line":"data-plane implementation is expected to provide SF Proxy functionality. In"},{"line_number":144,"context_line":"the future, this parameter can be extended to include NSH, etc. If this"},{"line_number":145,"context_line":"parameter is not specified, it will default to none."},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Flow Classifier"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_67e544a7","line":144,"range":{"start_line":144,"start_character":59,"end_line":144,"end_character":62},"in_reply_to":"1aa78d24_df9e9462","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":147,"context_line":"Flow Classifier"},{"line_number":148,"context_line":"~~~~~~~~~~~~~~~"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"* id - Flow Classifier ID."},{"line_number":151,"context_line":"* tenant_id - Tenant ID."},{"line_number":152,"context_line":"* name - Readable name."},{"line_number":153,"context_line":"* description - Readable description."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_1f877c13","line":150,"range":{"start_line":150,"start_character":2,"end_line":150,"end_character":4},"updated":"2016-07-08 10:37:10.000000000","message":"ditto","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":"A combination of the source attributes defines the source of the flow. A"},{"line_number":167,"context_line":"combination of the destination attributes defines the destination of the flow."},{"line_number":168,"context_line":"The l7_parameter is a place-holder that may be used to support flow"},{"line_number":169,"context_line":"classification using L7 fields, such as URL. If an attribute is not specified,"},{"line_number":170,"context_line":"it will default to wildcard value except for ethertype which defaults to"},{"line_number":171,"context_line":"IPv4, for logical_source_port and logical_destination_port which default"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_7f78402c","line":168,"range":{"start_line":168,"start_character":4,"end_line":168,"end_character":16},"updated":"2016-07-08 10:37:10.000000000","message":"``l1_parameter``","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":"A combination of the source attributes defines the source of the flow. A"},{"line_number":167,"context_line":"combination of the destination attributes defines the destination of the flow."},{"line_number":168,"context_line":"The l7_parameter is a place-holder that may be used to support flow"},{"line_number":169,"context_line":"classification using L7 fields, such as URL. If an attribute is not specified,"},{"line_number":170,"context_line":"it will default to wildcard value except for ethertype which defaults to"},{"line_number":171,"context_line":"IPv4, for logical_source_port and logical_destination_port which default"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_bf72a847","line":168,"range":{"start_line":168,"start_character":22,"end_line":168,"end_character":34},"updated":"2016-07-08 10:37:10.000000000","message":"place holder*","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":"A combination of the source attributes defines the source of the flow. A"},{"line_number":167,"context_line":"combination of the destination attributes defines the destination of the flow."},{"line_number":168,"context_line":"The l7_parameter is a place-holder that may be used to support flow"},{"line_number":169,"context_line":"classification using L7 fields, such as URL. If an attribute is not specified,"},{"line_number":170,"context_line":"it will default to wildcard value except for ethertype which defaults to"},{"line_number":171,"context_line":"IPv4, for logical_source_port and logical_destination_port which default"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_076f2093","line":168,"range":{"start_line":168,"start_character":22,"end_line":168,"end_character":34},"in_reply_to":"1aa78d24_bf72a847","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":166,"context_line":"A combination of the source attributes defines the source of the flow. A"},{"line_number":167,"context_line":"combination of the destination attributes defines the destination of the flow."},{"line_number":168,"context_line":"The l7_parameter is a place-holder that may be used to support flow"},{"line_number":169,"context_line":"classification using L7 fields, such as URL. If an attribute is not specified,"},{"line_number":170,"context_line":"it will default to wildcard value except for ethertype which defaults to"},{"line_number":171,"context_line":"IPv4, for logical_source_port and logical_destination_port which default"},{"line_number":172,"context_line":"to none."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_ff92704a","line":169,"range":{"start_line":169,"start_character":21,"end_line":169,"end_character":23},"updated":"2016-07-08 10:37:10.000000000","message":"``L7``","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":166,"context_line":"A combination of the source attributes defines the source of the flow. A"},{"line_number":167,"context_line":"combination of the destination attributes defines the destination of the flow."},{"line_number":168,"context_line":"The l7_parameter is a place-holder that may be used to support flow"},{"line_number":169,"context_line":"classification using L7 fields, such as URL. If an attribute is not specified,"},{"line_number":170,"context_line":"it will default to wildcard value except for ethertype which defaults to"},{"line_number":171,"context_line":"IPv4, for logical_source_port and logical_destination_port which default"},{"line_number":172,"context_line":"to none."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_e70bf47b","line":169,"range":{"start_line":169,"start_character":21,"end_line":169,"end_character":23},"in_reply_to":"1aa78d24_ff92704a","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":168,"context_line":"The l7_parameter is a place-holder that may be used to support flow"},{"line_number":169,"context_line":"classification using L7 fields, such as URL. If an attribute is not specified,"},{"line_number":170,"context_line":"it will default to wildcard value except for ethertype which defaults to"},{"line_number":171,"context_line":"IPv4, for logical_source_port and logical_destination_port which default"},{"line_number":172,"context_line":"to none."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_7fc6804a","line":171,"range":{"start_line":171,"start_character":34,"end_line":171,"end_character":58},"updated":"2016-07-08 10:37:10.000000000","message":"``logical_destination_port``","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":168,"context_line":"The l7_parameter is a place-holder that may be used to support flow"},{"line_number":169,"context_line":"classification using L7 fields, such as URL. If an attribute is not specified,"},{"line_number":170,"context_line":"it will default to wildcard value except for ethertype which defaults to"},{"line_number":171,"context_line":"IPv4, for logical_source_port and logical_destination_port which default"},{"line_number":172,"context_line":"to none."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_dfacd48e","line":171,"range":{"start_line":171,"start_character":11,"end_line":171,"end_character":29},"updated":"2016-07-08 10:37:10.000000000","message":"``logical_source_port``","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":168,"context_line":"The l7_parameter is a place-holder that may be used to support flow"},{"line_number":169,"context_line":"classification using L7 fields, such as URL. If an attribute is not specified,"},{"line_number":170,"context_line":"it will default to wildcard value except for ethertype which defaults to"},{"line_number":171,"context_line":"IPv4, for logical_source_port and logical_destination_port which default"},{"line_number":172,"context_line":"to none."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_9fd08cf9","line":171,"range":{"start_line":171,"start_character":3,"end_line":171,"end_character":5},"updated":"2016-07-08 10:37:10.000000000","message":"full stop here. \"For ``logical...\"","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":168,"context_line":"The l7_parameter is a place-holder that may be used to support flow"},{"line_number":169,"context_line":"classification using L7 fields, such as URL. If an attribute is not specified,"},{"line_number":170,"context_line":"it will default to wildcard value except for ethertype which defaults to"},{"line_number":171,"context_line":"IPv4, for logical_source_port and logical_destination_port which default"},{"line_number":172,"context_line":"to none."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_dfda1417","line":171,"range":{"start_line":171,"start_character":59,"end_line":171,"end_character":65},"updated":"2016-07-08 10:37:10.000000000","message":"it defaults to none*","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":168,"context_line":"The l7_parameter is a place-holder that may be used to support flow"},{"line_number":169,"context_line":"classification using L7 fields, such as URL. If an attribute is not specified,"},{"line_number":170,"context_line":"it will default to wildcard value except for ethertype which defaults to"},{"line_number":171,"context_line":"IPv4, for logical_source_port and logical_destination_port which default"},{"line_number":172,"context_line":"to none."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_6720a4f8","line":171,"range":{"start_line":171,"start_character":34,"end_line":171,"end_character":58},"in_reply_to":"1aa78d24_7fc6804a","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":168,"context_line":"The l7_parameter is a place-holder that may be used to support flow"},{"line_number":169,"context_line":"classification using L7 fields, such as URL. If an attribute is not specified,"},{"line_number":170,"context_line":"it will default to wildcard value except for ethertype which defaults to"},{"line_number":171,"context_line":"IPv4, for logical_source_port and logical_destination_port which default"},{"line_number":172,"context_line":"to none."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_674ee4c2","line":171,"range":{"start_line":171,"start_character":3,"end_line":171,"end_character":5},"in_reply_to":"1aa78d24_9fd08cf9","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":168,"context_line":"The l7_parameter is a place-holder that may be used to support flow"},{"line_number":169,"context_line":"classification using L7 fields, such as URL. If an attribute is not specified,"},{"line_number":170,"context_line":"it will default to wildcard value except for ethertype which defaults to"},{"line_number":171,"context_line":"IPv4, for logical_source_port and logical_destination_port which default"},{"line_number":172,"context_line":"to none."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_27db3cef","line":171,"range":{"start_line":171,"start_character":11,"end_line":171,"end_character":29},"in_reply_to":"1aa78d24_dfacd48e","updated":"2016-07-08 16:56:59.000000000","message":"will correct","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":172,"context_line":"to none."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"User Workflows"},{"line_number":176,"context_line":"--------------"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"Create Operations"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_ff07107f","line":175,"range":{"start_line":175,"start_character":5,"end_line":175,"end_character":14},"updated":"2016-07-08 10:37:10.000000000","message":"sentence case headings, so lowercase \"User workflows\"","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":172,"context_line":"to none."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"User Workflows"},{"line_number":176,"context_line":"--------------"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"Create Operations"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_c713580c","line":175,"range":{"start_line":175,"start_character":5,"end_line":175,"end_character":14},"in_reply_to":"1aa78d24_ff07107f","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":179,"context_line":"~~~~~~~~~~~~~~~~~"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"The following example shows how the Neutron CLI commands may be used to create"},{"line_number":182,"context_line":"a Port Chain consisting of service VMs vm1, vm2 and vm3."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"HTTP traffic flow into the Port Chain will be from source IP address 22.1.20.44"},{"line_number":185,"context_line":"TCP port 23 to destination IP address 171.4.5.6 TCP port 80. The flow needs to"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_1fedbc8e","line":182,"range":{"start_line":182,"start_character":39,"end_line":182,"end_character":55},"updated":"2016-07-08 10:37:10.000000000","message":"``vm1``, ``vm2`` and ``vm3``","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":179,"context_line":"~~~~~~~~~~~~~~~~~"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"The following example shows how the Neutron CLI commands may be used to create"},{"line_number":182,"context_line":"a Port Chain consisting of service VMs vm1, vm2 and vm3."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"HTTP traffic flow into the Port Chain will be from source IP address 22.1.20.44"},{"line_number":185,"context_line":"TCP port 23 to destination IP address 171.4.5.6 TCP port 80. The flow needs to"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_c7399843","line":182,"range":{"start_line":182,"start_character":39,"end_line":182,"end_character":55},"in_reply_to":"1aa78d24_1fedbc8e","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":181,"context_line":"The following example shows how the Neutron CLI commands may be used to create"},{"line_number":182,"context_line":"a Port Chain consisting of service VMs vm1, vm2 and vm3."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"HTTP traffic flow into the Port Chain will be from source IP address 22.1.20.44"},{"line_number":185,"context_line":"TCP port 23 to destination IP address 171.4.5.6 TCP port 80. The flow needs to"},{"line_number":186,"context_line":"be treated by Firewalls SF1 and SF2 running on vm1 and vm2 identified by"},{"line_number":187,"context_line":"Neutron Port Pairs [p1, p2], [p3, p4], and IDS SF3 running on vm3 identified by"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_5fe744ac","line":184,"range":{"start_line":184,"start_character":69,"end_line":184,"end_character":79},"updated":"2016-07-08 10:37:10.000000000","message":"``22.1.20.44`` ditto with the others below","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":181,"context_line":"The following example shows how the Neutron CLI commands may be used to create"},{"line_number":182,"context_line":"a Port Chain consisting of service VMs vm1, vm2 and vm3."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"HTTP traffic flow into the Port Chain will be from source IP address 22.1.20.44"},{"line_number":185,"context_line":"TCP port 23 to destination IP address 171.4.5.6 TCP port 80. The flow needs to"},{"line_number":186,"context_line":"be treated by Firewalls SF1 and SF2 running on vm1 and vm2 identified by"},{"line_number":187,"context_line":"Neutron Port Pairs [p1, p2], [p3, p4], and IDS SF3 running on vm3 identified by"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_474648c0","line":184,"range":{"start_line":184,"start_character":69,"end_line":184,"end_character":79},"in_reply_to":"1aa78d24_5fe744ac","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"Boot service VMs and attach ports."},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"Create Neutron ports on network net1:"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":".. code-block:: console"},{"line_number":198,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_9f76ccd6","line":195,"range":{"start_line":195,"start_character":0,"end_line":195,"end_character":37},"updated":"2016-07-08 10:37:10.000000000","message":"This looks like a procedure, please list appropriately in numbers.\nExample of how this should be formatted below - apply throughout procedure. \n\n#. Create neutron ports on network ``net1``:\n\n    .. code-block: console\n       \n       neutron port-create --name p1 net1\n       neutron port-create --name p2 net1\n       neutron port-create --name p3 net1\n       neutron port-create --name p4 net1\n       neutron port-create --name p5 net1\n       neutron port-create --name p6 net1","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":192,"context_line":""},{"line_number":193,"context_line":"Boot service VMs and attach ports."},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"Create Neutron ports on network net1:"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":".. code-block:: console"},{"line_number":198,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_c72a382c","line":195,"range":{"start_line":195,"start_character":0,"end_line":195,"end_character":37},"in_reply_to":"1aa78d24_9f76ccd6","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":".. code-block:: console"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":" neutron port-create --name p1 net1"},{"line_number":200,"context_line":" neutron port-create --name p2 net1"},{"line_number":201,"context_line":" neutron port-create --name p3 net1"},{"line_number":202,"context_line":" neutron port-create --name p4 net1"},{"line_number":203,"context_line":" neutron port-create --name p5 net1"},{"line_number":204,"context_line":" neutron port-create --name p6 net1"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"Boot vm1 from Nova with Neutron ports p1 and p2 using two --nic options:"},{"line_number":207,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_3fa35851","line":204,"range":{"start_line":199,"start_character":1,"end_line":204,"end_character":35},"updated":"2016-07-08 10:37:10.000000000","message":"indent the code block so that it aligns under the \u0027c\u0027 for code\nditto for all code blocks below","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":196,"context_line":""},{"line_number":197,"context_line":".. code-block:: console"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":" neutron port-create --name p1 net1"},{"line_number":200,"context_line":" neutron port-create --name p2 net1"},{"line_number":201,"context_line":" neutron port-create --name p3 net1"},{"line_number":202,"context_line":" neutron port-create --name p4 net1"},{"line_number":203,"context_line":" neutron port-create --name p5 net1"},{"line_number":204,"context_line":" neutron port-create --name p6 net1"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"Boot vm1 from Nova with Neutron ports p1 and p2 using two --nic options:"},{"line_number":207,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_471768ed","line":204,"range":{"start_line":199,"start_character":1,"end_line":204,"end_character":35},"in_reply_to":"1aa78d24_3fa35851","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":203,"context_line":" neutron port-create --name p5 net1"},{"line_number":204,"context_line":" neutron port-create --name p6 net1"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"Boot vm1 from Nova with Neutron ports p1 and p2 using two --nic options:"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":".. code-block:: console"},{"line_number":209,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_bf8f48cb","line":206,"range":{"start_line":206,"start_character":58,"end_line":206,"end_character":63},"updated":"2016-07-08 10:37:10.000000000","message":"``--nic``","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":203,"context_line":" neutron port-create --name p5 net1"},{"line_number":204,"context_line":" neutron port-create --name p6 net1"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"Boot vm1 from Nova with Neutron ports p1 and p2 using two --nic options:"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":".. code-block:: console"},{"line_number":209,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_e7dc9448","line":206,"range":{"start_line":206,"start_character":58,"end_line":206,"end_character":63},"in_reply_to":"1aa78d24_bf8f48cb","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":224,"context_line":" nova boot --image zzz --nic port-id\u003dp5-id --nic port-id\u003dp6-id vm3"},{"line_number":225,"context_line":"   --flavor \u003cimage-flavour\u003e"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"Alternatively, the user can create each VM with one VNIC and then attach"},{"line_number":228,"context_line":"another Neutron port to the VM:"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_9f5d2c4b","line":227,"range":{"start_line":227,"start_character":15,"end_line":227,"end_character":24},"updated":"2016-07-08 10:37:10.000000000","message":"you can create*","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":224,"context_line":" nova boot --image zzz --nic port-id\u003dp5-id --nic port-id\u003dp6-id vm3"},{"line_number":225,"context_line":"   --flavor \u003cimage-flavour\u003e"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"Alternatively, the user can create each VM with one VNIC and then attach"},{"line_number":228,"context_line":"another Neutron port to the VM:"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_e7fdb46f","line":227,"range":{"start_line":227,"start_character":15,"end_line":227,"end_character":24},"in_reply_to":"1aa78d24_9f5d2c4b","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":239,"context_line":"Once the Neutron ports p1 - p6 exist, the Port Chain is created using the"},{"line_number":240,"context_line":"steps described below."},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"1. Create Flow Classifier"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"Create Flow Classifier FC1 that matches on source IP address 22.1.20.44"},{"line_number":245,"context_line":"and destination IP address 171.4.5.6 with TCP connection, source port 23"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_5f43c46c","line":242,"range":{"start_line":242,"start_character":0,"end_line":242,"end_character":25},"updated":"2016-07-08 10:37:10.000000000","message":"As stated above, ensure you use #. appropriately, and indent all your comments and code within the numbered list","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":239,"context_line":"Once the Neutron ports p1 - p6 exist, the Port Chain is created using the"},{"line_number":240,"context_line":"steps described below."},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"1. Create Flow Classifier"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"Create Flow Classifier FC1 that matches on source IP address 22.1.20.44"},{"line_number":245,"context_line":"and destination IP address 171.4.5.6 with TCP connection, source port 23"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_27f85c7c","line":242,"range":{"start_line":242,"start_character":0,"end_line":242,"end_character":25},"in_reply_to":"1aa78d24_5f43c46c","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":256,"context_line":"   --source-port 23:23"},{"line_number":257,"context_line":"   --destination-port 80:80 FC1"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"The flow-classifier-create command returns the ID of a Flow Classifier."},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"2. Create Port Pair"},{"line_number":262,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_df2e94a4","line":259,"range":{"start_line":259,"start_character":4,"end_line":259,"end_character":26},"updated":"2016-07-08 10:37:10.000000000","message":"``flow-classifier-create``\nditto with all other similar instances","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":256,"context_line":"   --source-port 23:23"},{"line_number":257,"context_line":"   --destination-port 80:80 FC1"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"The flow-classifier-create command returns the ID of a Flow Classifier."},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"2. Create Port Pair"},{"line_number":262,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_67f1c4cd","line":259,"range":{"start_line":259,"start_character":4,"end_line":259,"end_character":26},"in_reply_to":"1aa78d24_df2e94a4","updated":"2016-07-08 16:56:59.000000000","message":"Done","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":322,"context_line":"~~~~~~~~~~~~~~~~~"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"The port-chain-update command may be used to insert or remove"},{"line_number":325,"context_line":"Port Pair Groups into/from a Port Chain dynamically."},{"line_number":326,"context_line":""},{"line_number":327,"context_line":".. code-block:: console"},{"line_number":328,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_fa027e08","line":325,"range":{"start_line":325,"start_character":17,"end_line":325,"end_character":26},"updated":"2016-07-08 10:37:10.000000000","message":"avoid using the slash. \"into and from\"","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":322,"context_line":"~~~~~~~~~~~~~~~~~"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"The port-chain-update command may be used to insert or remove"},{"line_number":325,"context_line":"Port Pair Groups into/from a Port Chain dynamically."},{"line_number":326,"context_line":""},{"line_number":327,"context_line":".. code-block:: console"},{"line_number":328,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_27897ccb","line":325,"range":{"start_line":325,"start_character":17,"end_line":325,"end_character":26},"in_reply_to":"1aa78d24_fa027e08","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":10607,"name":"Alexandra Settle","email":"a.settle@outlook.com","username":"asettle"},"change_message_id":"a7a72f7f10c0a03f9ff93c9715147bbdd8383307","unresolved":false,"context_lines":[{"line_number":331,"context_line":"   --flow-classifier FC1 PC1"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"The port-chain-update command may also be used to add or remove Flow"},{"line_number":334,"context_line":"Classifiers to/from a Port Chain dynamically. Traffic that matches the newly"},{"line_number":335,"context_line":"added Flow Classifiers will be steered to the Port Pair Groups in the Port"},{"line_number":336,"context_line":"Chain."},{"line_number":337,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_3a0d2638","line":334,"range":{"start_line":334,"start_character":12,"end_line":334,"end_character":19},"updated":"2016-07-08 10:37:10.000000000","message":"to and from*","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"6b2fc32c72ece3524b84af29774d59a806a6ae32","unresolved":false,"context_lines":[{"line_number":331,"context_line":"   --flow-classifier FC1 PC1"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"The port-chain-update command may also be used to add or remove Flow"},{"line_number":334,"context_line":"Classifiers to/from a Port Chain dynamically. Traffic that matches the newly"},{"line_number":335,"context_line":"added Flow Classifiers will be steered to the Port Pair Groups in the Port"},{"line_number":336,"context_line":"Chain."},{"line_number":337,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1aa78d24_a703ac75","line":334,"range":{"start_line":334,"start_character":12,"end_line":334,"end_character":19},"in_reply_to":"1aa78d24_3a0d2638","updated":"2016-07-08 16:56:59.000000000","message":"ok","commit_id":"5e81699cc3bd31b8b1ecfdb8c91f62c5a7e06c27"}],"doc/networking-guide/source/adv-config-sfc.rst":[{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"85fbd303a6e213dde4b2d7495ec9d35937b26070","unresolved":false,"context_lines":[{"line_number":55,"context_line":"The port chain plug-in supports backing service providers including the OVS"},{"line_number":56,"context_line":"driver and a variety of SDN controller drivers. The common driver API enables"},{"line_number":57,"context_line":"different drivers to provide different implementations for the service chain"},{"line_number":58,"context_line":"path rendering."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":".. image:: figures/port-chain-architecture-diagram.png"},{"line_number":61,"context_line":"   :alt: Port chain architecture"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1aa78d24_b8f090fe","line":58,"updated":"2016-07-11 22:00:14.000000000","message":"Can you add the source (editable) files for the following figures?","commit_id":"6d093eaa912b370482ad06acaddb595a1a068fc1"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"f425314142d652f6bcc765eacc8b72b28aeb77d3","unresolved":false,"context_lines":[{"line_number":55,"context_line":"The port chain plug-in supports backing service providers including the OVS"},{"line_number":56,"context_line":"driver and a variety of SDN controller drivers. The common driver API enables"},{"line_number":57,"context_line":"different drivers to provide different implementations for the service chain"},{"line_number":58,"context_line":"path rendering."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":".. image:: figures/port-chain-architecture-diagram.png"},{"line_number":61,"context_line":"   :alt: Port chain architecture"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1aa78d24_8ead8e9d","line":58,"in_reply_to":"1aa78d24_b8f090fe","updated":"2016-07-11 23:12:04.000000000","message":"will do","commit_id":"6d093eaa912b370482ad06acaddb595a1a068fc1"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"f425314142d652f6bcc765eacc8b72b28aeb77d3","unresolved":false,"context_lines":[{"line_number":66,"context_line":"See the `developer documentation"},{"line_number":67,"context_line":"\u003chttp://docs.openstack.org/developer/networking-sfc/\u003e`_ for more information."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Attributes"},{"line_number":70,"context_line":"~~~~~~~~~~"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"Port chain"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1aa78d24_2e745a34","line":69,"range":{"start_line":69,"start_character":0,"end_line":69,"end_character":10},"updated":"2016-07-11 23:12:04.000000000","message":"Prefer to use Resources instead of Attributes","commit_id":"6d093eaa912b370482ad06acaddb595a1a068fc1"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"04bc260b8fe7eb9aaa289dc028dbbaa8ee1780bf","unresolved":false,"context_lines":[{"line_number":66,"context_line":"See the `developer documentation"},{"line_number":67,"context_line":"\u003chttp://docs.openstack.org/developer/networking-sfc/\u003e`_ for more information."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Attributes"},{"line_number":70,"context_line":"~~~~~~~~~~"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"Port chain"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1aa78d24_8970e8a5","line":69,"range":{"start_line":69,"start_character":0,"end_line":69,"end_character":10},"in_reply_to":"1aa78d24_2e745a34","updated":"2016-07-11 23:26:46.000000000","message":"Done","commit_id":"6d093eaa912b370482ad06acaddb595a1a068fc1"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"85fbd303a6e213dde4b2d7495ec9d35937b26070","unresolved":false,"context_lines":[{"line_number":67,"context_line":"\u003chttp://docs.openstack.org/developer/networking-sfc/\u003e`_ for more information."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Attributes"},{"line_number":70,"context_line":"~~~~~~~~~~"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"Port chain"},{"line_number":73,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1aa78d24_987e7468","line":70,"updated":"2016-07-11 22:00:14.000000000","message":"I think these belong in API documentation, but we can keep them here for now if necessary.","commit_id":"6d093eaa912b370482ad06acaddb595a1a068fc1"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"f425314142d652f6bcc765eacc8b72b28aeb77d3","unresolved":false,"context_lines":[{"line_number":67,"context_line":"\u003chttp://docs.openstack.org/developer/networking-sfc/\u003e`_ for more information."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Attributes"},{"line_number":70,"context_line":"~~~~~~~~~~"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"Port chain"},{"line_number":73,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1aa78d24_0e9a3e6e","line":70,"in_reply_to":"1aa78d24_987e7468","updated":"2016-07-11 23:12:04.000000000","message":"These provide a good introduction to the resources used in the Port Chain model.","commit_id":"6d093eaa912b370482ad06acaddb595a1a068fc1"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"f425314142d652f6bcc765eacc8b72b28aeb77d3","unresolved":false,"context_lines":[{"line_number":73,"context_line":"----------"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"* ``id`` - Port chain ID."},{"line_number":76,"context_line":"* ``tenant_id`` - Projec tID."},{"line_number":77,"context_line":"* ``name`` - Readable name."},{"line_number":78,"context_line":"* ``description`` - Readable description."},{"line_number":79,"context_line":"* ``port_pair_groups`` - List of port pair group IDs."}],"source_content_type":"text/x-rst","patch_set":4,"id":"1aa78d24_2e4c5ac7","line":76,"range":{"start_line":76,"start_character":18,"end_line":76,"end_character":28},"updated":"2016-07-11 23:12:04.000000000","message":"Project ID","commit_id":"6d093eaa912b370482ad06acaddb595a1a068fc1"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"04bc260b8fe7eb9aaa289dc028dbbaa8ee1780bf","unresolved":false,"context_lines":[{"line_number":73,"context_line":"----------"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"* ``id`` - Port chain ID."},{"line_number":76,"context_line":"* ``tenant_id`` - Projec tID."},{"line_number":77,"context_line":"* ``name`` - Readable name."},{"line_number":78,"context_line":"* ``description`` - Readable description."},{"line_number":79,"context_line":"* ``port_pair_groups`` - List of port pair group IDs."}],"source_content_type":"text/x-rst","patch_set":4,"id":"1aa78d24_a96b24b8","line":76,"range":{"start_line":76,"start_character":18,"end_line":76,"end_character":28},"in_reply_to":"1aa78d24_2e4c5ac7","updated":"2016-07-11 23:26:46.000000000","message":"Done","commit_id":"6d093eaa912b370482ad06acaddb595a1a068fc1"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"f425314142d652f6bcc765eacc8b72b28aeb77d3","unresolved":false,"context_lines":[{"line_number":93,"context_line":"The ``chain_parameters`` attribute contains one or more parameters for the"},{"line_number":94,"context_line":"port chain. Currently, it only supports a correlation parameter that"},{"line_number":95,"context_line":"defaults to ``mpls`` for consistency with Open vSwitch (OVS) capabilities."},{"line_number":96,"context_line":"Future parameters may include the network service header (NSH)."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Port pair group"},{"line_number":99,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1aa78d24_4ef4465a","line":96,"range":{"start_line":96,"start_character":7,"end_line":96,"end_character":17},"updated":"2016-07-11 23:12:04.000000000","message":"values for the correlation parameter","commit_id":"6d093eaa912b370482ad06acaddb595a1a068fc1"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"04bc260b8fe7eb9aaa289dc028dbbaa8ee1780bf","unresolved":false,"context_lines":[{"line_number":93,"context_line":"The ``chain_parameters`` attribute contains one or more parameters for the"},{"line_number":94,"context_line":"port chain. Currently, it only supports a correlation parameter that"},{"line_number":95,"context_line":"defaults to ``mpls`` for consistency with Open vSwitch (OVS) capabilities."},{"line_number":96,"context_line":"Future parameters may include the network service header (NSH)."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Port pair group"},{"line_number":99,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1aa78d24_c96670ec","line":96,"range":{"start_line":96,"start_character":7,"end_line":96,"end_character":17},"in_reply_to":"1aa78d24_4ef4465a","updated":"2016-07-11 23:26:46.000000000","message":"Done","commit_id":"6d093eaa912b370482ad06acaddb595a1a068fc1"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"85fbd303a6e213dde4b2d7495ec9d35937b26070","unresolved":false,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":"The following example uses the ``neutron`` command-line interface (CLI) to"},{"line_number":167,"context_line":"create a port chain consisting of three service function instances to handle"},{"line_number":168,"context_line":"HTTP (TCP) traffic flows from 192.168.1.11:23 to 192.168.2.11:80."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"* Instance 1"},{"line_number":171,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1aa78d24_7838e8a0","line":168,"updated":"2016-07-11 22:00:14.000000000","message":"Can we use a more practical pair of ports? 23 usually refers to Telnet rather than HTTP and may confuse our audience.","commit_id":"6d093eaa912b370482ad06acaddb595a1a068fc1"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"04bc260b8fe7eb9aaa289dc028dbbaa8ee1780bf","unresolved":false,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":"The following example uses the ``neutron`` command-line interface (CLI) to"},{"line_number":167,"context_line":"create a port chain consisting of three service function instances to handle"},{"line_number":168,"context_line":"HTTP (TCP) traffic flows from 192.168.1.11:23 to 192.168.2.11:80."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"* Instance 1"},{"line_number":171,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1aa78d24_6975bc96","line":168,"in_reply_to":"1aa78d24_38d94023","updated":"2016-07-11 23:26:46.000000000","message":"I\u0027m actually talking about the line above the comment, not below it... particularly 192.168.1.11:23 to 192.168.2.11:80.","commit_id":"6d093eaa912b370482ad06acaddb595a1a068fc1"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"ecd8b03dc22a6db21ecca55fd1dd7d187d6d40db","unresolved":false,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":"The following example uses the ``neutron`` command-line interface (CLI) to"},{"line_number":167,"context_line":"create a port chain consisting of three service function instances to handle"},{"line_number":168,"context_line":"HTTP (TCP) traffic flows from 192.168.1.11:23 to 192.168.2.11:80."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"* Instance 1"},{"line_number":171,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1aa78d24_4906d21c","line":168,"in_reply_to":"1aa78d24_38d94023","updated":"2016-07-12 16:22:30.000000000","message":"got it can change to 1000","commit_id":"6d093eaa912b370482ad06acaddb595a1a068fc1"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"f425314142d652f6bcc765eacc8b72b28aeb77d3","unresolved":false,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":"The following example uses the ``neutron`` command-line interface (CLI) to"},{"line_number":167,"context_line":"create a port chain consisting of three service function instances to handle"},{"line_number":168,"context_line":"HTTP (TCP) traffic flows from 192.168.1.11:23 to 192.168.2.11:80."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"* Instance 1"},{"line_number":171,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1aa78d24_38d94023","line":168,"in_reply_to":"1aa78d24_7838e8a0","updated":"2016-07-11 23:12:04.000000000","message":"I use those short port identifiers as they are far more readable then the port UUIDs for a overview guide such as this. I can add text to say that p1-p6 represent port UUIDs.","commit_id":"6d093eaa912b370482ad06acaddb595a1a068fc1"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"85fbd303a6e213dde4b2d7495ec9d35937b26070","unresolved":false,"context_lines":[{"line_number":228,"context_line":""},{"line_number":229,"context_line":"   .. code-block:: console"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"      $ neutron flow-classifier-create \\"},{"line_number":232,"context_line":"        --description \"HTTP traffic from 192.168.1.11 to 192.168.2.11\" \\"},{"line_number":233,"context_line":"        --ethertype IPv4 \\"},{"line_number":234,"context_line":"        --source-ip-prefix 192.168.1.11/32 \\"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1aa78d24_b8a8908d","line":231,"updated":"2016-07-11 22:00:14.000000000","message":"Does this and the other commands specific to SFC provide any useful output besides IDs?","commit_id":"6d093eaa912b370482ad06acaddb595a1a068fc1"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"04bc260b8fe7eb9aaa289dc028dbbaa8ee1780bf","unresolved":false,"context_lines":[{"line_number":228,"context_line":""},{"line_number":229,"context_line":"   .. code-block:: console"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"      $ neutron flow-classifier-create \\"},{"line_number":232,"context_line":"        --description \"HTTP traffic from 192.168.1.11 to 192.168.2.11\" \\"},{"line_number":233,"context_line":"        --ethertype IPv4 \\"},{"line_number":234,"context_line":"        --source-ip-prefix 192.168.1.11/32 \\"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1aa78d24_e9b08c45","line":231,"in_reply_to":"1aa78d24_aee4cadf","updated":"2016-07-11 23:26:46.000000000","message":"Any plans to add these commands to OSC?","commit_id":"6d093eaa912b370482ad06acaddb595a1a068fc1"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"f425314142d652f6bcc765eacc8b72b28aeb77d3","unresolved":false,"context_lines":[{"line_number":228,"context_line":""},{"line_number":229,"context_line":"   .. code-block:: console"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"      $ neutron flow-classifier-create \\"},{"line_number":232,"context_line":"        --description \"HTTP traffic from 192.168.1.11 to 192.168.2.11\" \\"},{"line_number":233,"context_line":"        --ethertype IPv4 \\"},{"line_number":234,"context_line":"        --source-ip-prefix 192.168.1.11/32 \\"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1aa78d24_aee4cadf","line":231,"in_reply_to":"1aa78d24_b8a8908d","updated":"2016-07-11 23:12:04.000000000","message":"No","commit_id":"6d093eaa912b370482ad06acaddb595a1a068fc1"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"ecd8b03dc22a6db21ecca55fd1dd7d187d6d40db","unresolved":false,"context_lines":[{"line_number":228,"context_line":""},{"line_number":229,"context_line":"   .. code-block:: console"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"      $ neutron flow-classifier-create \\"},{"line_number":232,"context_line":"        --description \"HTTP traffic from 192.168.1.11 to 192.168.2.11\" \\"},{"line_number":233,"context_line":"        --ethertype IPv4 \\"},{"line_number":234,"context_line":"        --source-ip-prefix 192.168.1.11/32 \\"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1aa78d24_c91ac26e","line":231,"in_reply_to":"1aa78d24_e9b08c45","updated":"2016-07-12 16:22:30.000000000","message":"yes","commit_id":"6d093eaa912b370482ad06acaddb595a1a068fc1"},{"author":{"_account_id":9162,"name":"Lana Brindley","email":"openstack@lanabrindley.com","username":"loquacity"},"change_message_id":"f86c585d97536a81492880c950e3ce76eaf6a8e1","unresolved":false,"context_lines":[{"line_number":78,"context_line":"* ``description`` - Readable description."},{"line_number":79,"context_line":"* ``port_pair_groups`` - List of port pair group IDs."},{"line_number":80,"context_line":"* ``flow_classifiers`` - List of flow classifier IDs."},{"line_number":81,"context_line":"* ``chain_parameters`` - Dictionary of chain parameters."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"A port chain consists of a sequence of port pair groups. Each port pair group"},{"line_number":84,"context_line":"provides a hop in the port chain FIXME"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_104d383e","line":81,"updated":"2016-07-12 00:43:48.000000000","message":"Remove the periods","commit_id":"a13ada42ed5b485c3c775bca9a976519dba422b2"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"0b00e3ebd331493e2c5155a0599ef02512e3aaec","unresolved":false,"context_lines":[{"line_number":78,"context_line":"* ``description`` - Readable description."},{"line_number":79,"context_line":"* ``port_pair_groups`` - List of port pair group IDs."},{"line_number":80,"context_line":"* ``flow_classifiers`` - List of flow classifier IDs."},{"line_number":81,"context_line":"* ``chain_parameters`` - Dictionary of chain parameters."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"A port chain consists of a sequence of port pair groups. Each port pair group"},{"line_number":84,"context_line":"provides a hop in the port chain FIXME"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_ff6f628f","line":81,"in_reply_to":"1aa78d24_104d383e","updated":"2016-07-12 20:38:33.000000000","message":"Done","commit_id":"a13ada42ed5b485c3c775bca9a976519dba422b2"},{"author":{"_account_id":9162,"name":"Lana Brindley","email":"openstack@lanabrindley.com","username":"loquacity"},"change_message_id":"f86c585d97536a81492880c950e3ce76eaf6a8e1","unresolved":false,"context_lines":[{"line_number":80,"context_line":"* ``flow_classifiers`` - List of flow classifier IDs."},{"line_number":81,"context_line":"* ``chain_parameters`` - Dictionary of chain parameters."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"A port chain consists of a sequence of port pair groups. Each port pair group"},{"line_number":84,"context_line":"provides a hop in the port chain FIXME"},{"line_number":85,"context_line":"Group is a hop in the Port Chain and is a grouping of Port Pairs representing"},{"line_number":86,"context_line":"Service Functions of equivalent functionality, for example, a group of"},{"line_number":87,"context_line":"Firewall Service Functions."},{"line_number":88,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_905f68e4","line":85,"range":{"start_line":83,"start_character":0,"end_line":85,"end_character":77},"updated":"2016-07-12 00:43:48.000000000","message":"um?","commit_id":"a13ada42ed5b485c3c775bca9a976519dba422b2"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"858f8ca5995d0ba03b33568e97e2f2403a254f68","unresolved":false,"context_lines":[{"line_number":80,"context_line":"* ``flow_classifiers`` - List of flow classifier IDs."},{"line_number":81,"context_line":"* ``chain_parameters`` - Dictionary of chain parameters."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"A port chain consists of a sequence of port pair groups. Each port pair group"},{"line_number":84,"context_line":"provides a hop in the port chain FIXME"},{"line_number":85,"context_line":"Group is a hop in the Port Chain and is a grouping of Port Pairs representing"},{"line_number":86,"context_line":"Service Functions of equivalent functionality, for example, a group of"},{"line_number":87,"context_line":"Firewall Service Functions."},{"line_number":88,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_993c83e2","line":85,"range":{"start_line":83,"start_character":0,"end_line":85,"end_character":77},"in_reply_to":"1aa78d24_905f68e4","updated":"2016-07-12 18:17:09.000000000","message":"Should read: A port chain consists of a sequence of port pair groups. Each port pair group is a hop in the port chain and is a grouping of port pairs representing SFs of equivalent functionality, for example, a group of Firewall service functions.","commit_id":"a13ada42ed5b485c3c775bca9a976519dba422b2"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"0b00e3ebd331493e2c5155a0599ef02512e3aaec","unresolved":false,"context_lines":[{"line_number":80,"context_line":"* ``flow_classifiers`` - List of flow classifier IDs."},{"line_number":81,"context_line":"* ``chain_parameters`` - Dictionary of chain parameters."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"A port chain consists of a sequence of port pair groups. Each port pair group"},{"line_number":84,"context_line":"provides a hop in the port chain FIXME"},{"line_number":85,"context_line":"Group is a hop in the Port Chain and is a grouping of Port Pairs representing"},{"line_number":86,"context_line":"Service Functions of equivalent functionality, for example, a group of"},{"line_number":87,"context_line":"Firewall Service Functions."},{"line_number":88,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_7fd89253","line":85,"range":{"start_line":83,"start_character":0,"end_line":85,"end_character":77},"in_reply_to":"1aa78d24_993c83e2","updated":"2016-07-12 20:38:33.000000000","message":"Done","commit_id":"a13ada42ed5b485c3c775bca9a976519dba422b2"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"f270b868c229cfb2fadb005cc59fa31bdfa81ed5","unresolved":false,"context_lines":[{"line_number":80,"context_line":"* ``flow_classifiers`` - List of flow classifier IDs."},{"line_number":81,"context_line":"* ``chain_parameters`` - Dictionary of chain parameters."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"A port chain consists of a sequence of port pair groups. Each port pair group"},{"line_number":84,"context_line":"provides a hop in the port chain FIXME"},{"line_number":85,"context_line":"Group is a hop in the Port Chain and is a grouping of Port Pairs representing"},{"line_number":86,"context_line":"Service Functions of equivalent functionality, for example, a group of"},{"line_number":87,"context_line":"Firewall Service Functions."},{"line_number":88,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_2271d80c","line":85,"range":{"start_line":83,"start_character":0,"end_line":85,"end_character":77},"in_reply_to":"1aa78d24_993c83e2","updated":"2016-07-12 19:16:33.000000000","message":"Thanks... that was a mental note that didn\u0027t translate into a review comment.","commit_id":"a13ada42ed5b485c3c775bca9a976519dba422b2"},{"author":{"_account_id":9162,"name":"Lana Brindley","email":"openstack@lanabrindley.com","username":"loquacity"},"change_message_id":"f86c585d97536a81492880c950e3ce76eaf6a8e1","unresolved":false,"context_lines":[{"line_number":218,"context_line":""},{"line_number":219,"context_line":"   .. note::"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"      This command requires other options to successfully launch an instance."},{"line_number":222,"context_line":"      See the `CLI reference \u003chttp://docs.openstack.org/cli-reference/openstack.html\u003e`_"},{"line_number":223,"context_line":"      for more information."},{"line_number":224,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_506a2082","line":221,"range":{"start_line":221,"start_character":19,"end_line":221,"end_character":41},"updated":"2016-07-12 00:43:48.000000000","message":"requires setting other options? (or something?)","commit_id":"a13ada42ed5b485c3c775bca9a976519dba422b2"},{"author":{"_account_id":9515,"name":"Matthew Kassawara","email":"mkassawara@gmail.com","username":"ionosphere80"},"change_message_id":"0b00e3ebd331493e2c5155a0599ef02512e3aaec","unresolved":false,"context_lines":[{"line_number":218,"context_line":""},{"line_number":219,"context_line":"   .. note::"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"      This command requires other options to successfully launch an instance."},{"line_number":222,"context_line":"      See the `CLI reference \u003chttp://docs.openstack.org/cli-reference/openstack.html\u003e`_"},{"line_number":223,"context_line":"      for more information."},{"line_number":224,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1aa78d24_3febaadd","line":221,"range":{"start_line":221,"start_character":19,"end_line":221,"end_character":41},"in_reply_to":"1aa78d24_506a2082","updated":"2016-07-12 20:38:33.000000000","message":"How about additional?","commit_id":"a13ada42ed5b485c3c775bca9a976519dba422b2"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"2edc80bf568edb821eb70b736c28cb90da0fed38","unresolved":false,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":"The following example uses the ``neutron`` command-line interface (CLI) to"},{"line_number":167,"context_line":"create a port chain consisting of three service function instances to handle"},{"line_number":168,"context_line":"HTTP (TCP) traffic flows from 192.168.1.11:23 to 192.168.2.11:80."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"* Instance 1"},{"line_number":171,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1aa78d24_15984f77","line":168,"range":{"start_line":168,"start_character":43,"end_line":168,"end_character":45},"updated":"2016-07-12 21:22:16.000000000","message":"1000","commit_id":"f79cadf5c337a31a7f243f4879f676ef4b66835b"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"2edc80bf568edb821eb70b736c28cb90da0fed38","unresolved":false,"context_lines":[{"line_number":235,"context_line":"        --source-ip-prefix 192.168.1.11/32 \\"},{"line_number":236,"context_line":"        --destination-ip-prefix 192.168.2.11/32 \\"},{"line_number":237,"context_line":"        --protocol tcp \\"},{"line_number":238,"context_line":"        --source-port 23:23 \\"},{"line_number":239,"context_line":"        --destination-port 80:80 FC1"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"#. Create port pair ``PP1`` with ports ``p1`` and ``p2``, ``PP2`` with ports"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1aa78d24_5575b72f","line":238,"range":{"start_line":238,"start_character":22,"end_line":238,"end_character":27},"updated":"2016-07-12 21:22:16.000000000","message":"1000:1000","commit_id":"f79cadf5c337a31a7f243f4879f676ef4b66835b"},{"author":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"change_message_id":"40a116aea9abb64a1bd25153b2839ade0de5f565","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Service function chaining"},{"line_number":5,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Service function chaining (SFC) essentially refers to the software-defined"},{"line_number":8,"context_line":"networking (SDN) version of policy-based routing (PBR). In many cases,"},{"line_number":9,"context_line":"SFC involves security, although it can include a variety of other features."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"fad55976_7f4b335a","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":31},"updated":"2016-07-15 16:01:33.000000000","message":"You could add a glossary for SFC, SDN, PBR, and link SDN and PBR to here.","commit_id":"98c31dec0ab6d59f9084185273d54fe122ce80aa"},{"author":{"_account_id":11313,"name":"Louis Fourie","email":"fouriehl70@gmail.com","username":"lfourie"},"change_message_id":"76bd7b0a61e6d69768d51ed9feda9f62d9e2a3d2","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Service function chaining"},{"line_number":5,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Service function chaining (SFC) essentially refers to the software-defined"},{"line_number":8,"context_line":"networking (SDN) version of policy-based routing (PBR). In many cases,"},{"line_number":9,"context_line":"SFC involves security, although it can include a variety of other features."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"fad55976_bb513811","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":31},"in_reply_to":"fad55976_7f4b335a","updated":"2016-07-15 18:48:53.000000000","message":"@Emma, do you mean add these entries in openstack-manuals/doc/common/glossary.rst? And then have links from terms in this doc to the definitions in glossary.rst?","commit_id":"98c31dec0ab6d59f9084185273d54fe122ce80aa"},{"author":{"_account_id":13177,"name":"Emma Foley","email":"efoley@redhat.com","username":"emma-l-foley"},"change_message_id":"8351b833dc7f2cf7963884e450aebc094dee39d9","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Service function chaining"},{"line_number":5,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Service function chaining (SFC) essentially refers to the software-defined"},{"line_number":8,"context_line":"networking (SDN) version of policy-based routing (PBR). In many cases,"},{"line_number":9,"context_line":"SFC involves security, although it can include a variety of other features."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"dada55a8_be6b1fb6","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":31},"in_reply_to":"fad55976_bb513811","updated":"2016-07-21 12:47:38.000000000","message":"Yes, exactly.\nYou can link the glossary entries to other documentation using :term:`policy based routing (PBR)` here.\nThat could be a separate bug though.","commit_id":"98c31dec0ab6d59f9084185273d54fe122ce80aa"}]}
