12 #include <netlink-private/netlink.h>
13 #include <netlink/idiag/vegasinfo.h>
23 struct idiagnl_vegasinfo *idiagnl_vegasinfo_alloc(
void)
25 return (
struct idiagnl_vegasinfo *)
nl_object_alloc(&idiagnl_vegasinfo_obj_ops);
28 void idiagnl_vegasinfo_get(
struct idiagnl_vegasinfo *vinfo)
33 void idiagnl_vegasinfo_put(
struct idiagnl_vegasinfo *vinfo)
42 uint32_t idiagnl_vegasinfo_get_enabled(
const struct idiagnl_vegasinfo *vinfo)
44 return vinfo->tcpv_enabled;
47 void idiagnl_vegasinfo_set_enabled(
struct idiagnl_vegasinfo *vinfo, uint32_t
50 vinfo->tcpv_enabled = enabled;
53 uint32_t idiagnl_vegasinfo_get_rttcnt(
const struct idiagnl_vegasinfo *vinfo)
55 return vinfo->tcpv_rttcnt;
58 void idiagnl_vegasinfo_set_rttcnt(
struct idiagnl_vegasinfo *vinfo, uint32_t
61 vinfo->tcpv_rttcnt = rttcnt;
64 uint32_t idiagnl_vegasinfo_get_rtt(
const struct idiagnl_vegasinfo *vinfo)
66 return vinfo->tcpv_rtt;
69 void idiagnl_vegasinfo_set_rtt(
struct idiagnl_vegasinfo *vinfo, uint32_t rtt)
71 vinfo->tcpv_rtt = rtt;
74 uint32_t idiagnl_vegasinfo_get_minrtt(
const struct idiagnl_vegasinfo *vinfo)
76 return vinfo->tcpv_minrtt;
79 void idiagnl_vegasinfo_set_minrtt(
struct idiagnl_vegasinfo *vinfo, uint32_t
82 vinfo->tcpv_minrtt = minrtt;
86 static int idiagnl_vegasinfo_clone(
struct nl_object *_dst,
87 struct nl_object *_src)
89 struct idiagnl_vegasinfo *dst = (
struct idiagnl_vegasinfo *) _dst;
90 struct idiagnl_vegasinfo *src = (
struct idiagnl_vegasinfo *) _src;
92 memcpy(dst, src,
sizeof(
struct idiagnl_vegasinfo));
98 struct nl_object_ops idiagnl_vegasinfo_obj_ops = {
99 .oo_name =
"idiag/idiag_vegasinfo",
100 .oo_size =
sizeof(
struct idiagnl_vegasinfo),
101 .oo_clone = idiagnl_vegasinfo_clone,