if (ret != 0)
return ret;
+ if (next1->srv6_encap_behavior > next2->srv6_encap_behavior)
+ return 1;
+
+ if (next1->srv6_encap_behavior < next2->srv6_encap_behavior)
+ return -1;
+
if (next1->seg6local_action > next2->seg6local_action)
return 1;
stream_putc(s, api_nh->seg_num);
stream_put(s, &api_nh->seg6_segs[0],
api_nh->seg_num * sizeof(struct in6_addr));
+ stream_putl(s, api_nh->srv6_encap_behavior);
}
done:
return ret;
STREAM_GET(&api_nh->seg6_segs[0], s,
api_nh->seg_num * sizeof(struct in6_addr));
+
+ STREAM_GETL(s, api_nh->srv6_encap_behavior);
}
/* Success */
memcpy(&znh->seg6_segs[i],
&nh->nh_srv6->seg6_segs->seg[i],
sizeof(struct in6_addr));
+ znh->srv6_encap_behavior = nh->nh_srv6->seg6_segs->encap_behavior;
}
}
/* SRv6 Headend-behaviour */
int seg_num;
struct in6_addr seg6_segs[SRV6_MAX_SEGS];
+ enum srv6_headend_behavior srv6_encap_behavior;
};
/*