github.com/SagerNet/gvisor@v0.0.0-20210707092255-7731c139d75c/images/basic/integrationtest/ping6.sh (about) 1 #!/bin/bash 2 3 # Copyright 2020 The gVisor Authors. 4 # 5 # Licensed under the Apache License, Version 2.0 (the "License"); 6 # you may not use this file except in compliance with the License. 7 # You may obtain a copy of the License at 8 # 9 # http://www.apache.org/licenses/LICENSE-2.0 10 # 11 # Unless required by applicable law or agreed to in writing, software 12 # distributed under the License is distributed on an "AS IS" BASIS, 13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 # See the License for the specific language governing permissions and 15 # limitations under the License. 16 17 set -euo pipefail 18 19 # Enable ipv6 on loopback if it's not already enabled. Runsc doesn't enable ipv6 20 # loopback unless an ipv6 address was assigned to the container, which docker 21 # does not do by default. 22 if ! [[ $(ip -6 addr show dev lo) ]]; then 23 ip addr add ::1 dev lo 24 fi 25 26 # The docker API doesn't provide for starting a container, running a command, 27 # and getting the exit status of the command in one go. The most straightforward 28 # way to do this is to verify the output of the command, so we output nothing on 29 # success and an error message on failure. 30 if ! out=$(/bin/ping6 -c 10 ::1); then 31 echo "$out" 32 fi