Deleted Added
full compact
route6d.c (173412) route6d.c (186119)
1/* $FreeBSD: head/usr.sbin/route6d/route6d.c 173412 2007-11-07 10:53:41Z kevlo $ */
1/* $FreeBSD: head/usr.sbin/route6d/route6d.c 186119 2008-12-15 06:10:57Z qingli $ */
2/* $KAME: route6d.c,v 1.104 2003/10/31 00:30:20 itojun Exp $ */
3
4/*
5 * Copyright (C) 1995, 1996, 1997, and 1998 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

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

1747 case RTM_IFINFO:
1748 iface++;
1749 continue;
1750 case RTM_ADD:
1751 rtable++;
1752 continue;
1753 case RTM_LOSING:
1754 case RTM_MISS:
2/* $KAME: route6d.c,v 1.104 2003/10/31 00:30:20 itojun Exp $ */
3
4/*
5 * Copyright (C) 1995, 1996, 1997, and 1998 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

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

1747 case RTM_IFINFO:
1748 iface++;
1749 continue;
1750 case RTM_ADD:
1751 rtable++;
1752 continue;
1753 case RTM_LOSING:
1754 case RTM_MISS:
1755 case RTM_RESOLVE:
1756 case RTM_GET:
1757 case RTM_LOCK:
1758 /* nothing to be done here */
1759 trace(1, "\tnothing to be done, ignored\n");
1760 continue;
1761 }
1762
1763#if 0

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

1785
1786 /* hard ones */
1787 switch (((struct rt_msghdr *)p)->rtm_type) {
1788 case RTM_NEWADDR:
1789 case RTM_IFINFO:
1790 case RTM_ADD:
1791 case RTM_LOSING:
1792 case RTM_MISS:
1755 case RTM_GET:
1756 case RTM_LOCK:
1757 /* nothing to be done here */
1758 trace(1, "\tnothing to be done, ignored\n");
1759 continue;
1760 }
1761
1762#if 0

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

1784
1785 /* hard ones */
1786 switch (((struct rt_msghdr *)p)->rtm_type) {
1787 case RTM_NEWADDR:
1788 case RTM_IFINFO:
1789 case RTM_ADD:
1790 case RTM_LOSING:
1791 case RTM_MISS:
1793 case RTM_RESOLVE:
1794 case RTM_GET:
1795 case RTM_LOCK:
1796 /* should already be handled */
1797 fatal("rtrecv: never reach here");
1798 /*NOTREACHED*/
1799 case RTM_DELETE:
1800 if (!rta[RTAX_DST] || !rta[RTAX_GATEWAY]) {
1801 trace(1, "\tsome of dst/gw/netamsk are "

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

2136 memset(rrt, 0, sizeof(*rrt));
2137 rrt->rrt_same = NULL;
2138 rrt->rrt_index = ifcp->ifc_index;
2139 rrt->rrt_t = 0; /* don't age */
2140 rrt->rrt_info.rip6_dest = ifa->ifa_addr;
2141 rrt->rrt_info.rip6_tag = htons(routetag & 0xffff);
2142 rrt->rrt_info.rip6_metric = 1 + ifcp->ifc_metric;
2143 rrt->rrt_info.rip6_plen = ifa->ifa_plen;
1792 case RTM_GET:
1793 case RTM_LOCK:
1794 /* should already be handled */
1795 fatal("rtrecv: never reach here");
1796 /*NOTREACHED*/
1797 case RTM_DELETE:
1798 if (!rta[RTAX_DST] || !rta[RTAX_GATEWAY]) {
1799 trace(1, "\tsome of dst/gw/netamsk are "

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

2134 memset(rrt, 0, sizeof(*rrt));
2135 rrt->rrt_same = NULL;
2136 rrt->rrt_index = ifcp->ifc_index;
2137 rrt->rrt_t = 0; /* don't age */
2138 rrt->rrt_info.rip6_dest = ifa->ifa_addr;
2139 rrt->rrt_info.rip6_tag = htons(routetag & 0xffff);
2140 rrt->rrt_info.rip6_metric = 1 + ifcp->ifc_metric;
2141 rrt->rrt_info.rip6_plen = ifa->ifa_plen;
2144 if (ifa->ifa_plen == 128)
2145 rrt->rrt_flags = RTF_HOST;
2146 else
2147 rrt->rrt_flags = RTF_CLONING;
2142 rrt->rrt_flags = RTF_HOST;
2148 rrt->rrt_rflags |= RRTF_CHANGED;
2149 applyplen(&rrt->rrt_info.rip6_dest, ifa->ifa_plen);
2150 memset(&rrt->rrt_gw, 0, sizeof(struct in6_addr));
2151 rrt->rrt_gw = ifa->ifa_addr;
2152 np = &rrt->rrt_info;
2153 search_rrt = rtsearch(np, &prev_rrt);
2154 if (search_rrt != NULL) {
2155 if (search_rrt->rrt_info.rip6_metric <=

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

2428 RTTYPE("CHANGE", RTM_CHANGE);
2429 RTTYPE("GET", RTM_GET);
2430 RTTYPE("LOSING", RTM_LOSING);
2431 RTTYPE("REDIRECT", RTM_REDIRECT);
2432 RTTYPE("MISS", RTM_MISS);
2433 RTTYPE("LOCK", RTM_LOCK);
2434 RTTYPE("OLDADD", RTM_OLDADD);
2435 RTTYPE("OLDDEL", RTM_OLDDEL);
2143 rrt->rrt_rflags |= RRTF_CHANGED;
2144 applyplen(&rrt->rrt_info.rip6_dest, ifa->ifa_plen);
2145 memset(&rrt->rrt_gw, 0, sizeof(struct in6_addr));
2146 rrt->rrt_gw = ifa->ifa_addr;
2147 np = &rrt->rrt_info;
2148 search_rrt = rtsearch(np, &prev_rrt);
2149 if (search_rrt != NULL) {
2150 if (search_rrt->rrt_info.rip6_metric <=

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

2423 RTTYPE("CHANGE", RTM_CHANGE);
2424 RTTYPE("GET", RTM_GET);
2425 RTTYPE("LOSING", RTM_LOSING);
2426 RTTYPE("REDIRECT", RTM_REDIRECT);
2427 RTTYPE("MISS", RTM_MISS);
2428 RTTYPE("LOCK", RTM_LOCK);
2429 RTTYPE("OLDADD", RTM_OLDADD);
2430 RTTYPE("OLDDEL", RTM_OLDDEL);
2436 RTTYPE("RESOLVE", RTM_RESOLVE);
2437 RTTYPE("NEWADDR", RTM_NEWADDR);
2438 RTTYPE("DELADDR", RTM_DELADDR);
2439 RTTYPE("IFINFO", RTM_IFINFO);
2440#ifdef RTM_OLDADD
2441 RTTYPE("OLDADD", RTM_OLDADD);
2442#endif
2443#ifdef RTM_OLDDEL
2444 RTTYPE("OLDDEL", RTM_OLDDEL);

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

2479 RTFLAG("H", RTF_HOST);
2480 RTFLAG("R", RTF_REJECT);
2481 RTFLAG("D", RTF_DYNAMIC);
2482 RTFLAG("M", RTF_MODIFIED);
2483 RTFLAG("d", RTF_DONE);
2484#ifdef RTF_MASK
2485 RTFLAG("m", RTF_MASK);
2486#endif
2431 RTTYPE("NEWADDR", RTM_NEWADDR);
2432 RTTYPE("DELADDR", RTM_DELADDR);
2433 RTTYPE("IFINFO", RTM_IFINFO);
2434#ifdef RTM_OLDADD
2435 RTTYPE("OLDADD", RTM_OLDADD);
2436#endif
2437#ifdef RTM_OLDDEL
2438 RTTYPE("OLDDEL", RTM_OLDDEL);

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

2473 RTFLAG("H", RTF_HOST);
2474 RTFLAG("R", RTF_REJECT);
2475 RTFLAG("D", RTF_DYNAMIC);
2476 RTFLAG("M", RTF_MODIFIED);
2477 RTFLAG("d", RTF_DONE);
2478#ifdef RTF_MASK
2479 RTFLAG("m", RTF_MASK);
2480#endif
2481#ifdef RTF_CLONING
2487 RTFLAG("C", RTF_CLONING);
2482 RTFLAG("C", RTF_CLONING);
2483#endif
2488#ifdef RTF_CLONED
2489 RTFLAG("c", RTF_CLONED);
2490#endif
2491#ifdef RTF_PRCLONING
2492 RTFLAG("c", RTF_PRCLONING);
2493#endif
2494#ifdef RTF_WASCLONED
2495 RTFLAG("W", RTF_WASCLONED);
2496#endif
2497 RTFLAG("X", RTF_XRESOLVE);
2484#ifdef RTF_CLONED
2485 RTFLAG("c", RTF_CLONED);
2486#endif
2487#ifdef RTF_PRCLONING
2488 RTFLAG("c", RTF_PRCLONING);
2489#endif
2490#ifdef RTF_WASCLONED
2491 RTFLAG("W", RTF_WASCLONED);
2492#endif
2493 RTFLAG("X", RTF_XRESOLVE);
2494#ifdef RTF_LLINFO
2498 RTFLAG("L", RTF_LLINFO);
2495 RTFLAG("L", RTF_LLINFO);
2496#endif
2499 RTFLAG("S", RTF_STATIC);
2500 RTFLAG("B", RTF_BLACKHOLE);
2501#ifdef RTF_PROTO3
2502 RTFLAG("3", RTF_PROTO3);
2503#endif
2504 RTFLAG("2", RTF_PROTO2);
2505 RTFLAG("1", RTF_PROTO1);
2506#ifdef RTF_BROADCAST

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

2626 struct sockaddr_in6 *sin6_genmask, *sin6_ifp;
2627 char *rtmp, *ifname = NULL;
2628 struct riprt *rrt, *orrt;
2629 struct netinfo6 *np;
2630 int s;
2631
2632 sin6_dst = sin6_gw = sin6_mask = sin6_genmask = sin6_ifp = 0;
2633 if ((rtm->rtm_flags & RTF_UP) == 0 || rtm->rtm_flags &
2497 RTFLAG("S", RTF_STATIC);
2498 RTFLAG("B", RTF_BLACKHOLE);
2499#ifdef RTF_PROTO3
2500 RTFLAG("3", RTF_PROTO3);
2501#endif
2502 RTFLAG("2", RTF_PROTO2);
2503 RTFLAG("1", RTF_PROTO1);
2504#ifdef RTF_BROADCAST

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

2624 struct sockaddr_in6 *sin6_genmask, *sin6_ifp;
2625 char *rtmp, *ifname = NULL;
2626 struct riprt *rrt, *orrt;
2627 struct netinfo6 *np;
2628 int s;
2629
2630 sin6_dst = sin6_gw = sin6_mask = sin6_genmask = sin6_ifp = 0;
2631 if ((rtm->rtm_flags & RTF_UP) == 0 || rtm->rtm_flags &
2634 (RTF_CLONING|RTF_XRESOLVE|RTF_LLINFO|RTF_BLACKHOLE)) {
2632 (RTF_XRESOLVE|RTF_BLACKHOLE)) {
2635 return; /* not interested in the link route */
2636 }
2637 /* do not look at cloned routes */
2638#ifdef RTF_WASCLONED
2639 if (rtm->rtm_flags & RTF_WASCLONED)
2640 return;
2641#endif
2642#ifdef RTF_CLONED

--- 991 unchanged lines hidden ---
2633 return; /* not interested in the link route */
2634 }
2635 /* do not look at cloned routes */
2636#ifdef RTF_WASCLONED
2637 if (rtm->rtm_flags & RTF_WASCLONED)
2638 return;
2639#endif
2640#ifdef RTF_CLONED

--- 991 unchanged lines hidden ---