mirror of
https://github.com/yggdrasil-network/yggdrasil-go.git
synced 2025-04-28 22:25:07 +03:00
Fixed mpath dial routines after merge RIVM-7
This commit is contained in:
parent
0291e587d3
commit
a7afacb0df
1 changed files with 8 additions and 3 deletions
|
@ -43,7 +43,11 @@ func (l *linkMPATH) dial(url *url.URL, options linkOptions, sintf string) error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return l.handler(url.String(), info, conn, options, false, false)
|
dial := &linkDial{
|
||||||
|
url: url,
|
||||||
|
sintf: sintf,
|
||||||
|
|
||||||
|
return l.handler(dial, url.String(), info, conn, options, false, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (l *linkMPATH) listen(url *url.URL, sintf string) (*Listener, error) {
|
func (l *linkMPATH) listen(url *url.URL, sintf string) (*Listener, error) {
|
||||||
|
@ -80,7 +84,7 @@ func (l *linkMPATH) listen(url *url.URL, sintf string) (*Listener, error) {
|
||||||
addr := conn.RemoteAddr().(*net.TCPAddr)
|
addr := conn.RemoteAddr().(*net.TCPAddr)
|
||||||
name := fmt.Sprintf("mpath://%s", addr)
|
name := fmt.Sprintf("mpath://%s", addr)
|
||||||
info := linkInfoFor("mpath", sintf, strings.SplitN(addr.IP.String(), "%", 2)[0])
|
info := linkInfoFor("mpath", sintf, strings.SplitN(addr.IP.String(), "%", 2)[0])
|
||||||
if err = l.handler(name, info, conn, linkOptions{}, true, addr.IP.IsLinkLocalUnicast()); err != nil {
|
if err = l.handler(nil, name, info, conn, linkOptionsForListener(url), true, addr.IP.IsLinkLocalUnicast()); err != nil {
|
||||||
l.core.log.Errorln("Failed to create inbound link:", err)
|
l.core.log.Errorln("Failed to create inbound link:", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -91,9 +95,10 @@ func (l *linkMPATH) listen(url *url.URL, sintf string) (*Listener, error) {
|
||||||
return entry, nil
|
return entry, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (l *linkMPATH) handler(name string, info linkInfo, conn net.Conn, options linkOptions, incoming bool, force bool) error {
|
func (l *linkMPATH) handler(dial *linkDial, name string, info linkInfo, conn net.Conn, options linkOptions, incoming bool, force bool) error {
|
||||||
return l.links.create(
|
return l.links.create(
|
||||||
conn, // connection
|
conn, // connection
|
||||||
|
dial, // connection URL
|
||||||
name, // connection name
|
name, // connection name
|
||||||
info, // connection info
|
info, // connection info
|
||||||
incoming, // not incoming
|
incoming, // not incoming
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue