Revision fa7d4a2a host/lib/usrp/usrp2/usrp2_impl.cpp

b/host/lib/usrp/usrp2/usrp2_impl.cpp
201 201
    //create a ctrl and data transport for each address
202 202
    std::vector<udp_simple::sptr> ctrl_transports;
203 203
    std::vector<zero_copy_if::sptr> data_transports;
204
    const device_addrs_t device_addrs = sep_indexed_dev_addrs(device_addr);
204 205

  
205
    BOOST_FOREACH(const device_addr_t &dev_addr_i, sep_indexed_dev_addrs(device_addr)){
206
    BOOST_FOREACH(const device_addr_t &dev_addr_i, device_addrs){
206 207
        ctrl_transports.push_back(udp_simple::make_connected(
207 208
            dev_addr_i["addr"], num2str(USRP2_UDP_CTRL_PORT)
208 209
        ));
......
213 214

  
214 215
    //create the usrp2 implementation guts
215 216
    return device::sptr(
216
        new usrp2_impl(ctrl_transports, data_transports, device_addr)
217
        new usrp2_impl(ctrl_transports, data_transports, device_addrs)
217 218
    );
218 219
}
219 220

  
......
227 228
usrp2_impl::usrp2_impl(
228 229
    std::vector<udp_simple::sptr> ctrl_transports,
229 230
    std::vector<zero_copy_if::sptr> data_transports,
230
    const device_addr_t &flow_control_hints
231
    const device_addrs_t &device_args
231 232
):
232 233
    _data_transports(data_transports)
233 234
{
......
244 245
    //!!!!! set the otw type here before continuing, its used below
245 246

  
246 247
    //create a new mboard handler for each control transport
247
    for(size_t i = 0; i < ctrl_transports.size(); i++){
248
    for(size_t i = 0; i < device_args.size(); i++){
248 249
        _mboards.push_back(usrp2_mboard_impl::sptr(new usrp2_mboard_impl(
249
            i, ctrl_transports[i], data_transports[i],
250
            this->get_max_recv_samps_per_packet(),
251
            flow_control_hints
250
            i, ctrl_transports[i], data_transports[i], device_args[i],
251
            this->get_max_recv_samps_per_packet()
252 252
        )));
253 253
        //use an empty name when there is only one mboard
254 254
        std::string name = (ctrl_transports.size() > 1)? boost::lexical_cast<std::string>(i) : "";

Also available in: Unified diff