ip6_route.h (9a64e8e0ace51b309fdcff4b4754b3649250382a) | ip6_route.h (81aded24675ebda5de8a68843250ad15584ac38a) |
---|---|
1#ifndef _NET_IP6_ROUTE_H 2#define _NET_IP6_ROUTE_H 3 4#define IP6_RT_PRIO_USER 1024 5#define IP6_RT_PRIO_ADDRCONF 256 6 7struct route_info { 8 __u8 type; --- 39 unchanged lines hidden (view full) --- 48 return srcprefs << 3; 49} 50 51static inline unsigned int rt6_flags2srcprefs(int flags) 52{ 53 return (flags >> 3) & 7; 54} 55 | 1#ifndef _NET_IP6_ROUTE_H 2#define _NET_IP6_ROUTE_H 3 4#define IP6_RT_PRIO_USER 1024 5#define IP6_RT_PRIO_ADDRCONF 256 6 7struct route_info { 8 __u8 type; --- 39 unchanged lines hidden (view full) --- 48 return srcprefs << 3; 49} 50 51static inline unsigned int rt6_flags2srcprefs(int flags) 52{ 53 return (flags >> 3) & 7; 54} 55 |
56extern void rt6_bind_peer(struct rt6_info *rt, 57 int create); | 56extern void rt6_bind_peer(struct rt6_info *rt, int create); |
58 | 57 |
58static inline struct inet_peer *__rt6_get_peer(struct rt6_info *rt, int create) 59{ 60 if (rt6_has_peer(rt)) 61 return rt6_peer_ptr(rt); 62 63 rt6_bind_peer(rt, create); 64 return (rt6_has_peer(rt) ? rt6_peer_ptr(rt) : NULL); 65} 66 |
|
59static inline struct inet_peer *rt6_get_peer(struct rt6_info *rt) 60{ | 67static inline struct inet_peer *rt6_get_peer(struct rt6_info *rt) 68{ |
61 if (rt->rt6i_peer) 62 return rt->rt6i_peer; | 69 return __rt6_get_peer(rt, 0); 70} |
63 | 71 |
64 rt6_bind_peer(rt, 0); 65 return rt->rt6i_peer; | 72static inline struct inet_peer *rt6_get_peer_create(struct rt6_info *rt) 73{ 74 return __rt6_get_peer(rt, 1); |
66} 67 68extern void ip6_route_input(struct sk_buff *skb); 69 70extern struct dst_entry * ip6_route_output(struct net *net, 71 const struct sock *sk, 72 struct flowi6 *fl6); 73extern struct dst_entry * ip6_route_lookup(struct net *net, --- 52 unchanged lines hidden (view full) --- 126 127extern void rt6_redirect(const struct in6_addr *dest, 128 const struct in6_addr *src, 129 const struct in6_addr *saddr, 130 struct neighbour *neigh, 131 u8 *lladdr, 132 int on_link); 133 | 75} 76 77extern void ip6_route_input(struct sk_buff *skb); 78 79extern struct dst_entry * ip6_route_output(struct net *net, 80 const struct sock *sk, 81 struct flowi6 *fl6); 82extern struct dst_entry * ip6_route_lookup(struct net *net, --- 52 unchanged lines hidden (view full) --- 135 136extern void rt6_redirect(const struct in6_addr *dest, 137 const struct in6_addr *src, 138 const struct in6_addr *saddr, 139 struct neighbour *neigh, 140 u8 *lladdr, 141 int on_link); 142 |
134extern void rt6_pmtu_discovery(const struct in6_addr *daddr, 135 const struct in6_addr *saddr, 136 struct net_device *dev, 137 u32 pmtu); | 143extern void ip6_update_pmtu(struct sk_buff *skb, struct net *net, __be32 mtu, 144 int oif, u32 mark); 145extern void ip6_sk_update_pmtu(struct sk_buff *skb, struct sock *sk, 146 __be32 mtu); |
138 139struct netlink_callback; 140 141struct rt6_rtnl_dump_arg { 142 struct sk_buff *skb; 143 struct netlink_callback *cb; 144 struct net *net; 145}; --- 50 unchanged lines hidden --- | 147 148struct netlink_callback; 149 150struct rt6_rtnl_dump_arg { 151 struct sk_buff *skb; 152 struct netlink_callback *cb; 153 struct net *net; 154}; --- 50 unchanged lines hidden --- |