mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-25 22:23:14 -04:00
[IPV6]: Support Source Address Selection API (RFC5014).
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
This commit is contained in:
parent
1d5d236d30
commit
7cbca67c07
12 changed files with 146 additions and 13 deletions
|
|
@ -249,4 +249,15 @@ struct in6_flowlabel_req
|
|||
* IP6T_SO_GET_REVISION_TARGET 69
|
||||
*/
|
||||
|
||||
/* RFC5014: Source address selection */
|
||||
#define IPV6_ADDR_PREFERENCES 72
|
||||
|
||||
#define IPV6_PREFER_SRC_TMP 0x0001
|
||||
#define IPV6_PREFER_SRC_PUBLIC 0x0002
|
||||
#define IPV6_PREFER_SRC_PUBTMP_DEFAULT 0x0100
|
||||
#define IPV6_PREFER_SRC_COA 0x0004
|
||||
#define IPV6_PREFER_SRC_HOME 0x0400
|
||||
#define IPV6_PREFER_SRC_CGA 0x0008
|
||||
#define IPV6_PREFER_SRC_NONCGA 0x0800
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -322,7 +322,11 @@ struct ipv6_pinfo {
|
|||
__u8 recverr:1,
|
||||
sndflow:1,
|
||||
pmtudisc:2,
|
||||
ipv6only:1;
|
||||
ipv6only:1,
|
||||
srcprefs:3; /* 001: prefer temporary address
|
||||
* 010: prefer public address
|
||||
* 100: prefer care-of address
|
||||
*/
|
||||
__u8 tclass;
|
||||
|
||||
__u32 dst_cookie;
|
||||
|
|
|
|||
|
|
@ -78,6 +78,7 @@ extern struct inet6_ifaddr *ipv6_get_ifaddr(struct net *net,
|
|||
|
||||
extern int ipv6_dev_get_saddr(struct net_device *dev,
|
||||
struct in6_addr *daddr,
|
||||
unsigned int srcprefs,
|
||||
struct in6_addr *saddr);
|
||||
extern int ipv6_get_lladdr(struct net_device *dev,
|
||||
struct in6_addr *addr,
|
||||
|
|
|
|||
|
|
@ -30,9 +30,12 @@ struct route_info {
|
|||
#include <linux/ip.h>
|
||||
#include <linux/ipv6.h>
|
||||
|
||||
#define RT6_LOOKUP_F_IFACE 0x1
|
||||
#define RT6_LOOKUP_F_REACHABLE 0x2
|
||||
#define RT6_LOOKUP_F_HAS_SADDR 0x4
|
||||
#define RT6_LOOKUP_F_IFACE 0x00000001
|
||||
#define RT6_LOOKUP_F_REACHABLE 0x00000002
|
||||
#define RT6_LOOKUP_F_HAS_SADDR 0x00000004
|
||||
#define RT6_LOOKUP_F_SRCPREF_TMP 0x00000008
|
||||
#define RT6_LOOKUP_F_SRCPREF_PUBLIC 0x00000010
|
||||
#define RT6_LOOKUP_F_SRCPREF_COA 0x00000020
|
||||
|
||||
extern struct rt6_info *ip6_null_entry;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue