Skip to content

Commit

Permalink
* implement 2292bis IPV6_REACHCONF (trivial).
Browse files Browse the repository at this point in the history
  • Loading branch information
itojun committed Dec 23, 1999
1 parent 220ba32 commit 77eddd7
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 3 deletions.
5 changes: 4 additions & 1 deletion CHANGELOG
@@ -1,8 +1,11 @@
CHANGELOG for KAME kit

$Id: CHANGELOG,v 1.369 1999/12/23 06:17:07 jinmei Exp $
$Id: CHANGELOG,v 1.370 1999/12/23 17:19:44 itojun Exp $

<199912>
Fri Dec 24 02:21:30 JST 1999 itojun@iijlab.net
* implement 2292bis IPV6_REACHCONF (trivial).

1999-12-23 JINMEI, Tatuya <jinmei@isl.rdc.toshiba.co.jp>
* kame/sys/netinet6/nd6.c (nd6_free): call pfctlinput with
PRC_HOSTDEAD in order to remove all cached routes to the
Expand Down
4 changes: 2 additions & 2 deletions TODO.2292bis
@@ -1,6 +1,6 @@
TODO list for the new advanced API (aka rfc2292bis)
KAME project
$Id: TODO.2292bis,v 1.4 1999/12/22 16:49:04 jinmei Exp $
$Id: TODO.2292bis,v 1.5 1999/12/23 17:19:46 itojun Exp $

new socket options or ancillary data types:
- IPV6_RTHDRDSTOPTS done/19991221 jinmei *
Expand All @@ -12,7 +12,7 @@ new socket options or ancillary data types:
- IPV6_RECVRTHDRDSTOPTS done/19991217 jinmei
- IPV6_USE_MIN_MTU
- IPV6_RECVPATHMTU
- IPV6_REACHCONF
- IPV6_REACHCONF done/19991223 itojun
(*) the current implementation returns each dst opt header in a single
ancillary object, but the specfication requires that all headers is
stored in a single object.
Expand Down
12 changes: 12 additions & 0 deletions kame/sys/netinet6/ip6_output.c
Expand Up @@ -762,6 +762,12 @@ skip_ipsec2:;
if (ifpp)
*ifpp = ifp;

/*
* Upper-layer reachability confirmation
*/
if (opt && (opt->ip6po_flags & IP6PO_REACHCONF))
nd6_nud_hint(ro->ro_rt, NULL);

/*
* Determine path MTU.
*/
Expand Down Expand Up @@ -2463,6 +2469,12 @@ ip6_setpktoptions(control, opt, priv)
}
break;

case IPV6_REACHCONF:
if (cm->cmsg_len != CMSG_LEN(0))
return(EINVAL);
opt->ip6po_flags |= IP6PO_REACHCONF;
break;

default:
return(ENOPROTOOPT);
}
Expand Down
2 changes: 2 additions & 0 deletions kame/sys/netinet6/ip6_var.h
Expand Up @@ -134,6 +134,8 @@ struct ip6_pktopts {
struct ip6_dest *ip6po_dest1; /* Destination options header(1st part) */
struct ip6po_rhinfo ip6po_rhinfo; /* Routing header related info. */
struct ip6_dest *ip6po_dest2; /* Destination options header(2nd part) */
int ip6po_flags;
#define IP6PO_REACHCONF 0x01 /* upper-layer reach. confirmation */
};

struct ip6stat {
Expand Down

0 comments on commit 77eddd7

Please sign in to comment.