|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Eugene Grosbein 2:5006/1 09 Dec 2005 15:26:23 To : Gleb Smirnoff Subject : Re: quagga & arp proxy --------------------------------------------------------------------------------
08 дек 2005, четверг, в 20:48 KRAST, Gleb Smirnoff написал(а):
EG>> Возникла идея сделать stateless solution, через отдельного демона.
EG>> Который через bpf будет ловить arp request, спрашивать у ядра,
EG>> если ли такой host route в таблице и посылать arp reply.
EG>> Причем большая часть этой функциональности есть в choparp из портов,
EG>> только он посылает arp reply для заданной при запуске фиксированной
EG>> подсети.
EG>> В нему пририсовать запрос к ядру и все.
Забодался читать сорцы src/sbin/route/route.c
Где вообще документировано, как заполнять структуры для RTM_GET?
Как заполнять некоторые поля rt_msghdr, вроде понятно:
struct {
struct rt_msghdr m_rtm;
char m_space[512];
} m_rtmsg;
#define rtm m_rtmsg.m_rtm
memset(&m_rtmsg, 0, sizeof(m_rtmsg));
rtm.rtm_msglen = m_rtmsg.m_space - &m_rtmsg;
rtm.rtm_version = RTM_VERSION;
rtm.rtm_type = RTM_GET;
rtm.rtm_flags = RTF_UP;
rtm.rtm_addrs = RTA_DST;
rtm.rtm_seq = ++seq;
Абсолютно непонятно, куда прописывать искомый IP,
который имеется в виде u_int32_t.
Eugene
--
Все любят естественный наркотик
--- slrn/0.9.8.0 (FreeBSD)
* Origin: Svyaz Service JSC (2:5006/1@fidonet)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/26093a28bf83c.html, оценка из 5, голосов 10
|