xref: /netbsd/sys/netinet/in_selsrc.h (revision 6550d01e)
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 #endif /* _NETINET_IN_SELSRC_H */
31