Date: Mon, 1 Jun 2009 11:33:41 GMT From: Ana Kukec <anchie@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 163251 for review Message-ID: <200906011133.n51BXfQs060754@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=163251 Change 163251 by anchie@anchie_malimis on 2009/06/01 11:33:21 Added comments about placing hooks for SeND in the ND code. Added two new, SeND-related, ICMP6 types, for Certification Path Solicitation and Certification Path Advertisement. Affected files ... .. //depot/projects/soc2009/anchie_send/src/sys/netinet/icmp6.h#2 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#2 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#2 edit .. //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6_rtr.c#2 edit Differences ... ==== //depot/projects/soc2009/anchie_send/src/sys/netinet/icmp6.h#2 (text+ko) ==== @@ -117,6 +117,9 @@ #define ND_NEIGHBOR_ADVERT 136 /* neighbor advertisement */ #define ND_REDIRECT 137 /* redirect */ +#define SEND_CERT_PATH_SOLICIT 148 /* cert path solicitation */ +#define SEND_CERT_PATH_ADVERT 149 /* cert_path advertisement */ + #define ICMP6_ROUTER_RENUMBERING 138 /* router renumbering */ #define ICMP6_WRUREQUEST 139 /* who are you request */ ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/icmp6.c#2 (text+ko) ==== @@ -761,6 +761,9 @@ goto badlen; if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { /* give up local */ + + /* send incoming SeND-protected/ND packet to sendd */ + nd6_rs_input(m, off, icmp6len); m = NULL; goto freeit; @@ -776,6 +779,9 @@ if (icmp6len < sizeof(struct nd_router_advert)) goto badlen; if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { + + /* send incoming SeND-protected/ND packet to sendd */ + /* give up local */ nd6_ra_input(m, off, icmp6len); m = NULL; @@ -792,6 +798,9 @@ if (icmp6len < sizeof(struct nd_neighbor_solicit)) goto badlen; if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { + + /* send incoming SeND-protected/ND packet to sendd */ + /* give up local */ nd6_ns_input(m, off, icmp6len); m = NULL; @@ -808,6 +817,9 @@ if (icmp6len < sizeof(struct nd_neighbor_advert)) goto badlen; if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { + + /* send incoming SeND-protected/ND packet to sendd */ + /* give up local */ nd6_na_input(m, off, icmp6len); m = NULL; @@ -824,6 +836,9 @@ if (icmp6len < sizeof(struct nd_redirect)) goto badlen; if ((n = m_copym(m, 0, M_COPYALL, M_DONTWAIT)) == NULL) { + + /* send incoming SeND-protected/ND packet to sendd */ + /* give up local */ icmp6_redirect_input(m, off); m = NULL; @@ -833,6 +848,18 @@ /* m stays. */ break; +#ifndef + case SEND_CERT_PATH_SOLICIT: + /* send CPS packet to sendd */ + send6_cps_input(); + break; + + case SEND_CERT_PATH_ADVERT: + /* send CPA packet to sendd */ + send6_cpa_input(); + break; +#endif + case ICMP6_ROUTER_RENUMBERING: if (code != ICMP6_ROUTER_RENUMBERING_COMMAND && code != ICMP6_ROUTER_RENUMBERING_RESULT) ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6.c#2 (text+ko) ==== @@ -1922,6 +1922,15 @@ } return (error); } + + /* send outgoing SeND/ND packet to sendd. */ + + /* + * In case of NS and NA, we end-up here after calling nd6_ns_output() + * or nd6_na_output(). RS, RA, and Redirect do not have such output + * routines. They are handler instead by rtadvd and rtsol daemons. + */ + if ((ifp->if_flags & IFF_LOOPBACK) != 0) { return ((*ifp->if_output)(origifp, m, (struct sockaddr *)dst, NULL)); ==== //depot/projects/soc2009/anchie_send/src/sys/netinet6/nd6_rtr.c#2 (text+ko) ==== @@ -426,6 +426,27 @@ m_freem(m); } +#ifndef +/* + * Receive Certification Path Solicitation [rfc3971]. + */ +void +send6_cps_input(struct mbuf *m, int off, int icmp6len) +{ +} + +/* + * Receive Certification Path Advertisement [rfc3971]. + */ +void +send6_cpa_input(struct mbuf *m, int off, int icmp6len) +{ +} + +/* send6_cps/cpa_output() should be places here as well.. */ +#endif + + /* * default router list proccessing sub routines */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906011133.n51BXfQs060754>