• Mikio Hara's avatar
    net: handle IP interface stack correctly on linux · 8c0a52f2
    Mikio Hara authored
    A configuration like the following:
    
    7: tun6rd: <NOARP,UP,LOWER_UP> mtu 1280
            link/sit 10.11.12.13 brd 0.0.0.0
            inet 1.2.3.4/24 scope global tun6rd
            inet6 2014:1001:a0b:c0d::1/32 scope global
            inet6 ::10.11.12.13/128 scope global
    9: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1496
            link/ppp
            inet 192.168.101.234 peer 192.168.102.234/32 scope global ppp0
            inet 10.20.30.40/24 scope global ppp0
            inet6 2014:1002::1/64 scope global
    11: tun0@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1480
            link/ipip 192.168.202.34 peer 192.168.202.69
            inet 192.168.10.1/24 scope global tunnel0
            inet6 2014:1003::1/64 scope global
    
    will be handled like below.
    
    "tun6rd": flags "up", ifindex 7, mtu 1280
            hardware address ""
            interface address "1.2.3.4/24"
            interface address "2014:1001:a0b:c0d::1/32"
            interface address "::a0b:c0d/128"
    "ppp0": flags "up|pointtopoint|multicast", ifindex 9, mtu 1496
            hardware address ""
            interface address "192.168.101.234/32"
            interface address "10.20.30.40/24"
            interface address "2014:1002::1/64"
    "tun0": flags "up|pointtopoint", ifindex 11, mtu 1480
            hardware address ""
            interface address "192.168.10.1/24"
            interface address "2014:1003::1/64"
    
    Fixes #6433.
    Update #4839
    
    LGTM=iant
    R=iant
    CC=golang-codereviews
    https://golang.org/cl/57700043
    8c0a52f2
Name
Last commit
Last update
..
http Loading commit data...
mail Loading commit data...
rpc Loading commit data...
smtp Loading commit data...
testdata Loading commit data...
textproto Loading commit data...
url Loading commit data...
cgo_bsd.go Loading commit data...
cgo_linux.go Loading commit data...
cgo_netbsd.go Loading commit data...
cgo_openbsd.go Loading commit data...
cgo_stub.go Loading commit data...
cgo_unix.go Loading commit data...
cgo_unix_test.go Loading commit data...
conn_test.go Loading commit data...
dial.go Loading commit data...
dial_gen.go Loading commit data...
dial_gen_test.go Loading commit data...
dial_test.go Loading commit data...
dialgoogle_test.go Loading commit data...
dnsclient.go Loading commit data...
dnsclient_unix.go Loading commit data...
dnsclient_unix_test.go Loading commit data...
dnsconfig_unix.go Loading commit data...
dnsconfig_unix_test.go Loading commit data...
dnsmsg.go Loading commit data...
dnsmsg_test.go Loading commit data...
dnsname_test.go Loading commit data...
empty.c Loading commit data...
example_test.go Loading commit data...
fd_mutex.go Loading commit data...
fd_mutex_test.go Loading commit data...
fd_plan9.go Loading commit data...
fd_poll_runtime.go Loading commit data...
fd_unix.go Loading commit data...
fd_unix_test.go Loading commit data...
fd_windows.go Loading commit data...
file_plan9.go Loading commit data...
file_test.go Loading commit data...
file_unix.go Loading commit data...
file_windows.go Loading commit data...
hosts.go Loading commit data...
hosts_test.go Loading commit data...
interface.go Loading commit data...
interface_bsd.go Loading commit data...
interface_bsd_test.go Loading commit data...
interface_darwin.go Loading commit data...
interface_dragonfly.go Loading commit data...
interface_freebsd.go Loading commit data...
interface_linux.go Loading commit data...
interface_linux_test.go Loading commit data...
interface_netbsd.go Loading commit data...
interface_openbsd.go Loading commit data...
interface_stub.go Loading commit data...
interface_test.go Loading commit data...
interface_unix_test.go Loading commit data...
interface_windows.go Loading commit data...
ip.go Loading commit data...
ip_test.go Loading commit data...
ipraw_test.go Loading commit data...
iprawsock.go Loading commit data...
iprawsock_plan9.go Loading commit data...
iprawsock_posix.go Loading commit data...
ipsock.go Loading commit data...
ipsock_plan9.go Loading commit data...
ipsock_posix.go Loading commit data...
ipsock_test.go Loading commit data...
lookup.go Loading commit data...
lookup_plan9.go Loading commit data...
lookup_test.go Loading commit data...
lookup_unix.go Loading commit data...
lookup_windows.go Loading commit data...
mac.go Loading commit data...
mac_test.go Loading commit data...
mockicmp_test.go Loading commit data...
mockserver_test.go Loading commit data...
multicast_test.go Loading commit data...
net.go Loading commit data...
net_test.go Loading commit data...
net_windows_test.go Loading commit data...
netgo_unix_test.go Loading commit data...
packetconn_test.go Loading commit data...
parse.go Loading commit data...
parse_test.go Loading commit data...
pipe.go Loading commit data...
pipe_test.go Loading commit data...
port.go Loading commit data...
port_test.go Loading commit data...
port_unix.go Loading commit data...
protoconn_test.go Loading commit data...
race.go Loading commit data...
race0.go Loading commit data...
sendfile_dragonfly.go Loading commit data...
sendfile_freebsd.go Loading commit data...
sendfile_linux.go Loading commit data...
sendfile_stub.go Loading commit data...
sendfile_windows.go Loading commit data...
server_test.go Loading commit data...
singleflight.go Loading commit data...
sock_bsd.go Loading commit data...
sock_cloexec.go Loading commit data...
sock_linux.go Loading commit data...
sock_plan9.go Loading commit data...
sock_posix.go Loading commit data...
sock_windows.go Loading commit data...
sockopt_bsd.go Loading commit data...
sockopt_linux.go Loading commit data...
sockopt_plan9.go Loading commit data...
sockopt_posix.go Loading commit data...
sockopt_windows.go Loading commit data...
sockoptip_bsd.go Loading commit data...
sockoptip_linux.go Loading commit data...
sockoptip_posix.go Loading commit data...
sockoptip_windows.go Loading commit data...
sys_cloexec.go Loading commit data...
tcp_test.go Loading commit data...
tcpsock.go Loading commit data...
tcpsock_plan9.go Loading commit data...
tcpsock_posix.go Loading commit data...
tcpsockopt_darwin.go Loading commit data...
tcpsockopt_openbsd.go Loading commit data...
tcpsockopt_plan9.go Loading commit data...
tcpsockopt_posix.go Loading commit data...
tcpsockopt_unix.go Loading commit data...
tcpsockopt_windows.go Loading commit data...
timeout_test.go Loading commit data...
udp_test.go Loading commit data...
udpsock.go Loading commit data...
udpsock_plan9.go Loading commit data...
udpsock_posix.go Loading commit data...
unicast_posix_test.go Loading commit data...
unix_test.go Loading commit data...
unixsock.go Loading commit data...
unixsock_plan9.go Loading commit data...
unixsock_posix.go Loading commit data...
z_last_test.go Loading commit data...