func (r *Router) SetRoute(sn ip.IP4Net, dst ip.IP4) { r.mux.Lock() defer r.mux.Unlock() for _, re := range r.routes { if re.sn.Equal(sn) { re.addr = &net.UDPAddr{ IP: dst.ToIP(), Port: r.port, } return } } re := routeEntry{ sn: sn, addr: &net.UDPAddr{ IP: dst.ToIP(), Port: r.port, }, } r.routes = append(r.routes, re) }