aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/net/dst.h11
-rw-r--r--include/net/ip6_fib.h3
2 files changed, 11 insertions, 3 deletions
diff --git a/include/net/dst.h b/include/net/dst.h
index e01a826f2a9c..46ed958e0c6e 100644
--- a/include/net/dst.h
+++ b/include/net/dst.h
@@ -108,9 +108,11 @@ struct dst_entry {
108u32 *dst_cow_metrics_generic(struct dst_entry *dst, unsigned long old); 108u32 *dst_cow_metrics_generic(struct dst_entry *dst, unsigned long old);
109extern const u32 dst_default_metrics[]; 109extern const u32 dst_default_metrics[];
110 110
111#define DST_METRICS_READ_ONLY 0x1UL 111#define DST_METRICS_READ_ONLY 0x1UL
112#define DST_METRICS_FORCE_OVERWRITE 0x2UL
113#define DST_METRICS_FLAGS 0x3UL
112#define __DST_METRICS_PTR(Y) \ 114#define __DST_METRICS_PTR(Y) \
113 ((u32 *)((Y) & ~DST_METRICS_READ_ONLY)) 115 ((u32 *)((Y) & ~DST_METRICS_FLAGS))
114#define DST_METRICS_PTR(X) __DST_METRICS_PTR((X)->_metrics) 116#define DST_METRICS_PTR(X) __DST_METRICS_PTR((X)->_metrics)
115 117
116static inline bool dst_metrics_read_only(const struct dst_entry *dst) 118static inline bool dst_metrics_read_only(const struct dst_entry *dst)
@@ -118,6 +120,11 @@ static inline bool dst_metrics_read_only(const struct dst_entry *dst)
118 return dst->_metrics & DST_METRICS_READ_ONLY; 120 return dst->_metrics & DST_METRICS_READ_ONLY;
119} 121}
120 122
123static inline void dst_metrics_set_force_overwrite(struct dst_entry *dst)
124{
125 dst->_metrics |= DST_METRICS_FORCE_OVERWRITE;
126}
127
121void __dst_destroy_metrics_generic(struct dst_entry *dst, unsigned long old); 128void __dst_destroy_metrics_generic(struct dst_entry *dst, unsigned long old);
122 129
123static inline void dst_destroy_metrics_generic(struct dst_entry *dst) 130static inline void dst_destroy_metrics_generic(struct dst_entry *dst)
diff --git a/include/net/ip6_fib.h b/include/net/ip6_fib.h
index aca0c2709fd6..9bcb220bd4ad 100644
--- a/include/net/ip6_fib.h
+++ b/include/net/ip6_fib.h
@@ -284,7 +284,8 @@ struct fib6_node *fib6_locate(struct fib6_node *root,
284void fib6_clean_all(struct net *net, int (*func)(struct rt6_info *, void *arg), 284void fib6_clean_all(struct net *net, int (*func)(struct rt6_info *, void *arg),
285 void *arg); 285 void *arg);
286 286
287int fib6_add(struct fib6_node *root, struct rt6_info *rt, struct nl_info *info); 287int fib6_add(struct fib6_node *root, struct rt6_info *rt, struct nl_info *info,
288 struct nlattr *mx, int mx_len);
288 289
289int fib6_del(struct rt6_info *rt, struct nl_info *info); 290int fib6_del(struct rt6_info *rt, struct nl_info *info);
290 291