dst_metrics
extern const struct dst_metrics dst_default_metrics;
u32 *dst_metrics = dst_metrics_write_ptr(dest);
if (dst_metrics) {
memcpy(dst_metrics, src_metrics, RTAX_MAX * sizeof(u32));
struct dst_metrics *ip_fib_metrics_init(struct nlattr *fc_mx, int fc_mx_len,
static inline void ip_fib_metrics_put(struct dst_metrics *fib_metrics)
void ip_dst_init_metrics(struct dst_entry *dst, struct dst_metrics *fib_metrics)
struct dst_metrics *p = (struct dst_metrics *)DST_METRICS_PTR(dst);
struct dst_metrics *fib6_metrics;
struct dst_metrics *fib_metrics;
struct dst_metrics *p = kmalloc_obj(*p, GFP_ATOMIC);
struct dst_metrics *old_p = (struct dst_metrics *)__DST_METRICS_PTR(old);
p = (struct dst_metrics *)__DST_METRICS_PTR(prev);
BUILD_BUG_ON(offsetof(struct dst_metrics, metrics) != 0);
const struct dst_metrics dst_default_metrics = {
struct dst_metrics *ip_fib_metrics_init(struct nlattr *fc_mx,
struct dst_metrics *fib_metrics;
return (struct dst_metrics *)&dst_default_metrics;
struct dst_metrics *m;
struct dst_metrics *dflt = (struct dst_metrics *)&dst_default_metrics;
struct dst_metrics *p = kzalloc_obj(*p, GFP_ATOMIC);
.fib6_metrics = (struct dst_metrics *)&dst_default_metrics,