Deleted Added
full compact
ndp.c (151472) ndp.c (151473)
1/* $FreeBSD: head/usr.sbin/ndp/ndp.c 151472 2005-10-19 15:52:00Z suz $ */
1/* $FreeBSD: head/usr.sbin/ndp/ndp.c 151473 2005-10-19 15:58:23Z suz $ */
2/* $KAME: ndp.c,v 1.104 2003/06/27 07:48:39 itojun Exp $ */
3
4/*
5 * Copyright (C) 1995, 1996, 1997, 1998, and 1999 WIDE Project.
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions

--- 869 unchanged lines hidden (view full) ---

879 exit(1);
880 case RTM_ADD:
881 rtm->rtm_addrs |= RTA_GATEWAY;
882 if (expire_time) {
883 rtm->rtm_rmx.rmx_expire = expire_time;
884 rtm->rtm_inits = RTV_EXPIRE;
885 }
886 rtm->rtm_flags |= (RTF_HOST | RTF_STATIC);
2/* $KAME: ndp.c,v 1.104 2003/06/27 07:48:39 itojun Exp $ */
3
4/*
5 * Copyright (C) 1995, 1996, 1997, 1998, and 1999 WIDE Project.
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions

--- 869 unchanged lines hidden (view full) ---

879 exit(1);
880 case RTM_ADD:
881 rtm->rtm_addrs |= RTA_GATEWAY;
882 if (expire_time) {
883 rtm->rtm_rmx.rmx_expire = expire_time;
884 rtm->rtm_inits = RTV_EXPIRE;
885 }
886 rtm->rtm_flags |= (RTF_HOST | RTF_STATIC);
887#if 0 /* we don't support ipv6addr/128 type proxying */
887 if (rtm->rtm_flags & RTF_ANNOUNCE) {
888 rtm->rtm_flags &= ~RTF_HOST;
889 rtm->rtm_addrs |= RTA_NETMASK;
890 }
888 if (rtm->rtm_flags & RTF_ANNOUNCE) {
889 rtm->rtm_flags &= ~RTF_HOST;
890 rtm->rtm_addrs |= RTA_NETMASK;
891 }
892#endif
891 /* FALLTHROUGH */
892 case RTM_GET:
893 rtm->rtm_addrs |= RTA_DST;
894 }
895#define NEXTADDR(w, s) \
896 if (rtm->rtm_addrs & (w)) { \
893 /* FALLTHROUGH */
894 case RTM_GET:
895 rtm->rtm_addrs |= RTA_DST;
896 }
897#define NEXTADDR(w, s) \
898 if (rtm->rtm_addrs & (w)) { \
897 bcopy((char *)&s, cp, sizeof(s)); cp += sizeof(s);}
899 bcopy((char *)&s, cp, sizeof(s)); cp += SA_SIZE(&s);}
898
899 NEXTADDR(RTA_DST, sin_m);
900 NEXTADDR(RTA_GATEWAY, sdl_m);
900
901 NEXTADDR(RTA_DST, sin_m);
902 NEXTADDR(RTA_GATEWAY, sdl_m);
903#if 0 /* we don't support ipv6addr/128 type proxying */
901 memset(&so_mask.sin6_addr, 0xff, sizeof(so_mask.sin6_addr));
902 NEXTADDR(RTA_NETMASK, so_mask);
904 memset(&so_mask.sin6_addr, 0xff, sizeof(so_mask.sin6_addr));
905 NEXTADDR(RTA_NETMASK, so_mask);
906#endif
903
904 rtm->rtm_msglen = cp - (char *)&m_rtmsg;
905doit:
906 l = rtm->rtm_msglen;
907 rtm->rtm_seq = ++seq;
908 rtm->rtm_type = cmd;
909 if ((rlen = write(s, (char *)&m_rtmsg, l)) < 0) {
910 if (errno != ESRCH || cmd != RTM_DELETE) {

--- 700 unchanged lines hidden ---
907
908 rtm->rtm_msglen = cp - (char *)&m_rtmsg;
909doit:
910 l = rtm->rtm_msglen;
911 rtm->rtm_seq = ++seq;
912 rtm->rtm_type = cmd;
913 if ((rlen = write(s, (char *)&m_rtmsg, l)) < 0) {
914 if (errno != ESRCH || cmd != RTM_DELETE) {

--- 700 unchanged lines hidden ---