Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add docs on IPv6 #6262

Merged
merged 2 commits into from
Sep 2, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions docs/protocol/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,48 @@ specification](https://github.com/triton-inference-server/common/blob/main/proto
is also available. In addition, you can find the GRPC health checking protocol protobuf
specification [here](https://github.com/triton-inference-server/common/blob/main/protobuf/health.proto).

## Restricted Protocols

You can configure the Triton endpoints, which implement the protocols, to
restrict access to some protocols and to control network settings, please refer
to [protocol customization guide](https://github.com/triton-inference-server/server/blob/main/docs/customization_guide/inference_protocols.md#httprest-and-grpc-protocols) for detail.

## IPv6

Assuming your host or [docker config](https://docs.docker.com/config/daemon/ipv6/)
supports IPv6 connections, `tritonserver` can be configured to use IPv6
HTTP endpoints as follows:
```
$ tritonserver ... --http-address ipv6:[::1]&
...
I0215 21:04:11.572305 571 grpc_server.cc:4868] Started GRPCInferenceService at 0.0.0.0:8001
I0215 21:04:11.572528 571 http_server.cc:3477] Started HTTPService at ipv6:[::1]:8000
I0215 21:04:11.614167 571 http_server.cc:184] Started Metrics Service at ipv6:[::1]:8002
```

This can be confirmed via `netstat`, for example:
```
$ netstat -tulpn | grep tritonserver
tcp6 0 0 :::8000 :::* LISTEN 571/tritonserver
tcp6 0 0 :::8001 :::* LISTEN 571/tritonserver
tcp6 0 0 :::8002 :::* LISTEN 571/tritonserver
```

And can be tested via `curl`, for example:
```
$ curl -6 --verbose "http://[::1]:8000/v2/health/ready"
* Trying ::1:8000...
* TCP_NODELAY set
* Connected to ::1 (::1) port 8000 (#0)
> GET /v2/health/ready HTTP/1.1
> Host: [::1]:8000
> User-Agent: curl/7.68.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Content-Length: 0
< Content-Type: text/plain
<
* Connection #0 to host ::1 left intact
```