Home | History | Annotate | Line # | Download | only in netinet
      1 #ifndef _NETINET_IN_SELSRC_H
      2 #define _NETINET_IN_SELSRC_H
      3 
      4 #define	IN_SELECTSRC_LEN	128
      5 #define	IN_SCORE_SRC_MAX	8
      6 
      7 typedef int (*in_score_src_t)(const struct in_addr *src,
      8                               int preference, int idx,
      9 			      const struct in_addr *dst);
     10 
     11 struct in_ifselsrc {
     12 	uint32_t		iss_seqno;
     13 	in_score_src_t		iss_score_src[IN_SCORE_SRC_MAX];
     14 };
     15 
     16 struct in_ifsysctl {
     17 	struct ifnet		*isc_ifp;
     18 	struct sysctllog	*isc_log;
     19 	struct in_ifselsrc	*isc_selsrc;
     20 };
     21 
     22 enum in_category {
     23 	IN_CATEGORY_LINKLOCAL = 0,
     24 	IN_CATEGORY_PRIVATE,
     25 	IN_CATEGORY_OTHER
     26 };
     27 
     28 struct ifaddr *in_getifa(struct ifaddr *, const struct sockaddr *);
     29 
     30 void	*in_selsrc_domifattach(struct ifnet *ifp);
     31 void	in_selsrc_domifdetach(struct ifnet *ifp, void *aux);
     32 
     33 #endif /* _NETINET_IN_SELSRC_H */
     34