diff --git a/doc/h2load.1 b/doc/h2load.1
index a683bcbe..2396b414 100644
--- a/doc/h2load.1
+++ b/doc/h2load.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "H2LOAD" "1" "June 04, 2016" "1.12.0-DEV" "nghttp2"
+.TH "H2LOAD" "1" "June 09, 2016" "1.12.0-DEV" "nghttp2"
.SH NAME
h2load \- HTTP/2 benchmarking tool
.
diff --git a/doc/nghttp.1 b/doc/nghttp.1
index d44dc4f5..e8ddd3ca 100644
--- a/doc/nghttp.1
+++ b/doc/nghttp.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "NGHTTP" "1" "June 04, 2016" "1.12.0-DEV" "nghttp2"
+.TH "NGHTTP" "1" "June 09, 2016" "1.12.0-DEV" "nghttp2"
.SH NAME
nghttp \- HTTP/2 client
.
diff --git a/doc/nghttpd.1 b/doc/nghttpd.1
index 8b656113..85113a27 100644
--- a/doc/nghttpd.1
+++ b/doc/nghttpd.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "NGHTTPD" "1" "June 04, 2016" "1.12.0-DEV" "nghttp2"
+.TH "NGHTTPD" "1" "June 09, 2016" "1.12.0-DEV" "nghttp2"
.SH NAME
nghttpd \- HTTP/2 server
.
diff --git a/doc/nghttpx.1 b/doc/nghttpx.1
index 3fd6522c..40f2eba1 100644
--- a/doc/nghttpx.1
+++ b/doc/nghttpx.1
@@ -1,6 +1,6 @@
.\" Man page generated from reStructuredText.
.
-.TH "NGHTTPX" "1" "June 04, 2016" "1.12.0-DEV" "nghttp2"
+.TH "NGHTTPX" "1" "June 09, 2016" "1.12.0-DEV" "nghttp2"
.SH NAME
nghttpx \- HTTP/2 proxy
.
@@ -120,12 +120,13 @@ together forming load balancing group.
Several parameters are accepted after .
The parameters are delimited by ";". The available
parameters are: "proto=", "tls",
-"sni=", "fall=", and "rise=". The
-parameter consists of keyword, and optionally followed
-by "=" and value. For example, the parameter "proto=h2"
-consists of the keyword "proto" and value "h2". The
-parameter "tls" consists of the keyword "tls" without
-value. Each parameter is described as follows.
+"sni=", "fall=", "rise=", and
+"affinity=". The parameter consists of keyword,
+and optionally followed by "=" and value. For example,
+the parameter "proto=h2" consists of the keyword "proto"
+and value "h2". The parameter "tls" consists of the
+keyword "tls" without value. Each parameter is
+described as follows.
.sp
The backend application protocol can be specified using
optional "proto" parameter, and in the form of
@@ -160,6 +161,20 @@ eligible for load balancing target. If is 0, a
backend is permanently offline, once it goes in that
state, and this is the default behaviour.
.sp
+The session affinity is enabled using
+"affinity=" parameter. If "ip" is given in
+, client IP based session affinity is enabled.
+If "none" is given in , session affinity is
+disabled, and this is the default. The session affinity
+is enabled per . If at least one backend has
+"affinity" parameter, and its is not "none",
+session affinity is enabled for all backend servers
+sharing the same . It is advised to set
+"affinity" parameter to all backend explicitly if
+session affinity is desired. The session affinity may
+break if one of the backend gets unreachable, or backend
+settings are reload or replaced by API.
+.sp
Since ";" and ":" are used as delimiter, must
not contain these characters. Since ";" has special
meaning in shell, the option value must be quoted.
@@ -1705,6 +1720,30 @@ frontend for API using \fI\%\-\-frontend\fP option with "api"
parameter. All requests which come from this frontend address, will
be treated as API request.
.sp
+The response is normally JSON dictionary, and at least includes the
+following keys:
+.INDENT 0.0
+.TP
+.B status
+The status of the request processing. The following values are
+defined:
+.INDENT 7.0
+.TP
+.B Success
+The request was successful.
+.TP
+.B Failure
+The request was faield. No change has been made.
+.UNINDENT
+.TP
+.B code
+HTTP status code
+.UNINDENT
+.sp
+We wrote "normally", since nghttpx may return ordinal HTML response in
+some cases where the error has occurred before reaching API endpoint
+(e.g., header field is too large).
+.sp
The following section describes available API endpoints.
.SS PUT /api/v1beta1/backend/replace
.sp
diff --git a/doc/nghttpx.1.rst b/doc/nghttpx.1.rst
index 763e3d75..300b2236 100644
--- a/doc/nghttpx.1.rst
+++ b/doc/nghttpx.1.rst
@@ -104,12 +104,13 @@ Connections
Several parameters are accepted after .
The parameters are delimited by ";". The available
parameters are: "proto=", "tls",
- "sni=", "fall=", and "rise=". The
- parameter consists of keyword, and optionally followed
- by "=" and value. For example, the parameter "proto=h2"
- consists of the keyword "proto" and value "h2". The
- parameter "tls" consists of the keyword "tls" without
- value. Each parameter is described as follows.
+ "sni=", "fall=", "rise=", and
+ "affinity=". The parameter consists of keyword,
+ and optionally followed by "=" and value. For example,
+ the parameter "proto=h2" consists of the keyword "proto"
+ and value "h2". The parameter "tls" consists of the
+ keyword "tls" without value. Each parameter is
+ described as follows.
The backend application protocol can be specified using
optional "proto" parameter, and in the form of
@@ -144,6 +145,20 @@ Connections
backend is permanently offline, once it goes in that
state, and this is the default behaviour.
+ The session affinity is enabled using
+ "affinity=" parameter. If "ip" is given in
+ , client IP based session affinity is enabled.
+ If "none" is given in , session affinity is
+ disabled, and this is the default. The session affinity
+ is enabled per . If at least one backend has
+ "affinity" parameter, and its is not "none",
+ session affinity is enabled for all backend servers
+ sharing the same . It is advised to set
+ "affinity" parameter to all backend explicitly if
+ session affinity is desired. The session affinity may
+ break if one of the backend gets unreachable, or backend
+ settings are reload or replaced by API.
+
Since ";" and ":" are used as delimiter, must
not contain these characters. Since ";" has special
meaning in shell, the option value must be quoted.
@@ -1548,6 +1563,26 @@ frontend for API using :option:`--frontend` option with "api"
parameter. All requests which come from this frontend address, will
be treated as API request.
+The response is normally JSON dictionary, and at least includes the
+following keys:
+
+status
+ The status of the request processing. The following values are
+ defined:
+
+ Success
+ The request was successful.
+
+ Failure
+ The request was faield. No change has been made.
+
+code
+ HTTP status code
+
+We wrote "normally", since nghttpx may return ordinal HTML response in
+some cases where the error has occurred before reaching API endpoint
+(e.g., header field is too large).
+
The following section describes available API endpoints.
PUT /api/v1beta1/backend/replace