--- src/sys/netinet/in_proto.c 2005/07/15 17:54:47 1.13 +++ src/sys/netinet/in_proto.c 2007/08/16 20:03:57 1.14 @@ -41,6 +41,7 @@ #include "opt_ipsec.h" #include "opt_inet6.h" #include "opt_sctp.h" +#include "opt_carp.h" #include #include @@ -105,6 +106,10 @@ #include /* for cpu0_soport */ +#ifdef CARP +#include +#endif + extern struct domain inetdomain; static struct pr_usrreqs nousrreqs; @@ -294,6 +299,16 @@ struct protosw inetsw[] = { rip_init, 0, 0, 0, &rip_usrreqs }, + +#ifdef CARP + { SOCK_RAW, &inetdomain, IPPROTO_CARP, PR_ATOMIC|PR_ADDR, + carp_input, rip_output, 0, rip_ctloutput, + 0, + 0, 0, 0, 0, + &rip_usrreqs +}, + +#endif }; struct domain inetdomain = { @@ -332,3 +347,6 @@ SYSCTL_NODE(_net_inet, IPPROTO_DIVERT, d #ifdef PIM SYSCTL_NODE(_net_inet, IPPROTO_PIM, pim, CTLFLAG_RW, 0, "PIM"); #endif +#ifdef CARP +SYSCTL_NODE(_net_inet, IPPROTO_CARP, carp, CTLFLAG_RW, 0, "CARP"); +#endif