I’m running into issues with the sendmsg command in the vectorized
send path. Depending on the buffer size I get an error returned for
ethernet:write_packetv: send: Bad address
I’m working at the c++ level right now and my program is pretty simple:
usrp2::usrp2::sptr u2 = usrp2::usrp2::make(interface,mac_addr);
md.timestamp = -1;
md.start_of_burst = 1;
md.send_now = 1;
around a buffer size of 200 I will start seeing some sends get bad
address returned, for a size less than 200 it may happen but I have
not seen any occurrences. Something like a buffer of 1000 (11 frames
needed to be transmitted) never succeeds.
Any ideas about the relation between this buffer size/num frames and
sendmsg returning bad address? Am I using this incorrectly (i know I
should be using something like tx_fc32, but the data doesn’t matter to
me right now) ?
Also, what are the reasons for using the vector i/o in this instance?
OS: Ubuntu 9.04
Using dev code from git