Реферат: Алгоритми маршрутизації в мережах

struct sockaddr_in sin;

unsigned char ttl;

int s;

if ((s = socket(AF_INET, SOCK_DGRAM, 0)) < 0)

BADERR(1,"rip_sock = socket()");

bzero(&sin,sizeof(sin));

#ifdef _HAVE_SIN_LEN

sin.sin_len = sizeof(sin);

#endif

sin.sin_family = AF_INET;

sin.sin_port = htons(RIP_PORT);

sin.sin_addr.s_addr = addr;

if (bind(s, (struct sockaddr *)&sin,sizeof(sin)) < 0) {

if (serious)

BADERR(errno != EADDRINUSE, "bind(rip_sock)");

return -1;

}

fix_sock(s,"rip_sock");

ttl = 1;

if (setsockopt(s, IPPROTO_IP, IP_MULTICAST_TTL,

&ttl, sizeof(ttl)) < 0)

DBGERR(1,"rip_sock setsockopt(IP_MULTICAST_TTL)");

return s;

}

/* turn off main RIP socket */

void

rip_off(void)

{

struct interface *ifp;

К-во Просмотров: 1898
Бесплатно скачать Реферат: Алгоритми маршрутизації в мережах