Skip to content

Commit d58559a

Browse files
committed
fix: ignore missing /proc/net/tcp6 and /proc/net/udp6 on IPv6-disabled systems
Signed-off-by: Shouhei <shouhei.yamaguchi.be@gmail.com>
1 parent 0951079 commit d58559a

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

pkg/portutil/port_allocate_linux.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717
package portutil
1818

1919
import (
20+
"errors"
2021
"fmt"
22+
"os"
2123

2224
"github.com/containerd/nerdctl/v2/pkg/portutil/iptable"
2325
"github.com/containerd/nerdctl/v2/pkg/portutil/procnet"
@@ -86,14 +88,14 @@ func getUsedPorts(ip string, protocol string) (map[uint64]bool, error) {
8688
// So we need some trick to process this situation.
8789
if protocol == "tcp" {
8890
tempTCPV6Data, err := procnet.ReadStatsFileData("tcp6")
89-
if err != nil {
91+
if err != nil && !errors.Is(err, os.ErrNotExist) {
9092
return nil, err
9193
}
9294
netprocItems = append(netprocItems, procnet.Parse(tempTCPV6Data)...)
9395
}
9496
if protocol == "udp" {
9597
tempUDPV6Data, err := procnet.ReadStatsFileData("udp6")
96-
if err != nil {
98+
if err != nil && !errors.Is(err, os.ErrNotExist) {
9799
return nil, err
98100
}
99101
netprocItems = append(netprocItems, procnet.Parse(tempUDPV6Data)...)

0 commit comments

Comments
 (0)