Я последовал примеру simpletun.c @ http://backreference.org/2010/03/26/tuntap-interface-tutorial/
Я успешно создал и подключил интерфейс крана. Я также могу читать с интерфейса без проблем. Но попытка записи в него не приводит к сообщению о «неверном аргументе». Код следует:
int TapInterface::write(char *buf, int n)
{
int nwrite;
if((nwrite=::write(this->my_tap_fd, buf, n))<0)
{
qDebug("Writing data") ;
perror("Error:");
exit(1);
}
return nwrite;
}
....
....
QByteArray txData("hello");
write(txData.data(), txData.length());//sample function call to write to tap interface
Любая помощь?
Как видно, то, что я написал в интерфейсе крана, является примером сообщения «привет»! Может ли это быть источником проблемы? Должен ли это быть действительный пакет Ethernet / IP-пакет?
Задача ещё не решена.