diff --git a/home/nipa/nipa_out/1021463/ynl/old-code/rt-addr-user.c b/home/nipa/nipa_out/1021463/ynl/new-code/rt-addr-user.c index d96a88a62557..692de2811028 100644 --- a/home/nipa/nipa_out/1021463/ynl/old-code/rt-addr-user.c +++ b/home/nipa/nipa_out/1021463/ynl/new-code/rt-addr-user.c @@ -52,7 +52,7 @@ const struct ynl_policy_attr rt_addr_addr_attrs_policy[IFA_MAX + 1] = { [IFA_ADDRESS] = { .name = "address", .type = YNL_PT_BINARY,}, [IFA_LOCAL] = { .name = "local", .type = YNL_PT_BINARY,}, [IFA_LABEL] = { .name = "label", .type = YNL_PT_NUL_STR, }, - [IFA_BROADCAST] = { .name = "broadcast", .type = YNL_PT_BINARY,}, + [IFA_BROADCAST] = { .name = "broadcast", .type = YNL_PT_U32, }, [IFA_ANYCAST] = { .name = "anycast", .type = YNL_PT_BINARY,}, [IFA_CACHEINFO] = { .name = "cacheinfo", .type = YNL_PT_BINARY,}, [IFA_MULTICAST] = { .name = "multicast", .type = YNL_PT_BINARY,}, diff --git a/home/nipa/nipa_out/1021463/ynl/old-code/rt-link-user.c b/home/nipa/nipa_out/1021463/ynl/new-code/rt-link-user.c index c27bada1ed36..9bd598091427 100644 --- a/home/nipa/nipa_out/1021463/ynl/old-code/rt-link-user.c +++ b/home/nipa/nipa_out/1021463/ynl/new-code/rt-link-user.c @@ -559,7 +559,7 @@ const struct ynl_policy_nest rt_link_linkinfo_gre6_attrs_nest = { const struct ynl_policy_attr rt_link_linkinfo_geneve_attrs_policy[IFLA_GENEVE_MAX + 1] = { [IFLA_GENEVE_ID] = { .name = "id", .type = YNL_PT_U32, }, - [IFLA_GENEVE_REMOTE] = { .name = "remote", .type = YNL_PT_BINARY,}, + [IFLA_GENEVE_REMOTE] = { .name = "remote", .type = YNL_PT_U32, }, [IFLA_GENEVE_TTL] = { .name = "ttl", .type = YNL_PT_U8, }, [IFLA_GENEVE_TOS] = { .name = "tos", .type = YNL_PT_U8, }, [IFLA_GENEVE_PORT] = { .name = "port", .type = YNL_PT_U16, }, @@ -592,7 +592,7 @@ const struct ynl_policy_attr rt_link_linkinfo_iptun_attrs_policy[IFLA_IPTUN_MAX [IFLA_IPTUN_PROTO] = { .name = "proto", .type = YNL_PT_U8, }, [IFLA_IPTUN_PMTUDISC] = { .name = "pmtudisc", .type = YNL_PT_U8, }, [IFLA_IPTUN_6RD_PREFIX] = { .name = "6rd-prefix", .type = YNL_PT_BINARY,}, - [IFLA_IPTUN_6RD_RELAY_PREFIX] = { .name = "6rd-relay-prefix", .type = YNL_PT_BINARY,}, + [IFLA_IPTUN_6RD_RELAY_PREFIX] = { .name = "6rd-relay-prefix", .type = YNL_PT_U32, }, [IFLA_IPTUN_6RD_PREFIXLEN] = { .name = "6rd-prefixlen", .type = YNL_PT_U16, }, [IFLA_IPTUN_6RD_RELAY_PREFIXLEN] = { .name = "6rd-relay-prefixlen", .type = YNL_PT_U16, }, [IFLA_IPTUN_ENCAP_TYPE] = { .name = "encap-type", .type = YNL_PT_U16, }, @@ -2318,7 +2318,6 @@ int rt_link_linkinfo_gre6_attrs_parse(struct ynl_parse_arg *yarg, void rt_link_linkinfo_geneve_attrs_free(struct rt_link_linkinfo_geneve_attrs *obj) { - free(obj->remote); free(obj->remote6); free(obj->port_range); } @@ -2332,8 +2331,8 @@ int rt_link_linkinfo_geneve_attrs_put(struct nlmsghdr *nlh, nest = ynl_attr_nest_start(nlh, attr_type); if (obj->_present.id) ynl_attr_put_u32(nlh, IFLA_GENEVE_ID, obj->id); - if (obj->_len.remote) - ynl_attr_put(nlh, IFLA_GENEVE_REMOTE, obj->remote, obj->_len.remote); + if (obj->_present.remote) + ynl_attr_put_u32(nlh, IFLA_GENEVE_REMOTE, obj->remote); if (obj->_present.ttl) ynl_attr_put_u8(nlh, IFLA_GENEVE_TTL, obj->ttl); if (obj->_present.tos) @@ -2383,11 +2382,8 @@ int rt_link_linkinfo_geneve_attrs_parse(struct ynl_parse_arg *yarg, } else if (type == IFLA_GENEVE_REMOTE) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; - - len = ynl_attr_data_len(attr); - dst->_len.remote = len; - dst->remote = malloc(len); - memcpy(dst->remote, ynl_attr_data(attr), len); + dst->_present.remote = 1; + dst->remote = ynl_attr_get_u32(attr); } else if (type == IFLA_GENEVE_TTL) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; @@ -2472,7 +2468,6 @@ rt_link_linkinfo_iptun_attrs_free(struct rt_link_linkinfo_iptun_attrs *obj) free(obj->local); free(obj->remote); free(obj->_6rd_prefix); - free(obj->_6rd_relay_prefix); } int rt_link_linkinfo_iptun_attrs_put(struct nlmsghdr *nlh, @@ -2504,8 +2499,8 @@ int rt_link_linkinfo_iptun_attrs_put(struct nlmsghdr *nlh, ynl_attr_put_u8(nlh, IFLA_IPTUN_PMTUDISC, obj->pmtudisc); if (obj->_len._6rd_prefix) ynl_attr_put(nlh, IFLA_IPTUN_6RD_PREFIX, obj->_6rd_prefix, obj->_len._6rd_prefix); - if (obj->_len._6rd_relay_prefix) - ynl_attr_put(nlh, IFLA_IPTUN_6RD_RELAY_PREFIX, obj->_6rd_relay_prefix, obj->_len._6rd_relay_prefix); + if (obj->_present._6rd_relay_prefix) + ynl_attr_put_u32(nlh, IFLA_IPTUN_6RD_RELAY_PREFIX, obj->_6rd_relay_prefix); if (obj->_present._6rd_prefixlen) ynl_attr_put_u16(nlh, IFLA_IPTUN_6RD_PREFIXLEN, obj->_6rd_prefixlen); if (obj->_present._6rd_relay_prefixlen) @@ -2604,11 +2599,8 @@ int rt_link_linkinfo_iptun_attrs_parse(struct ynl_parse_arg *yarg, } else if (type == IFLA_IPTUN_6RD_RELAY_PREFIX) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; - - len = ynl_attr_data_len(attr); - dst->_len._6rd_relay_prefix = len; - dst->_6rd_relay_prefix = malloc(len); - memcpy(dst->_6rd_relay_prefix, ynl_attr_data(attr), len); + dst->_present._6rd_relay_prefix = 1; + dst->_6rd_relay_prefix = ynl_attr_get_u32(attr); } else if (type == IFLA_IPTUN_6RD_PREFIXLEN) { if (ynl_attr_validate(yarg, attr)) return YNL_PARSE_CB_ERROR; diff --git a/home/nipa/nipa_out/1021463/ynl/old-code/rt-link-user.h b/home/nipa/nipa_out/1021463/ynl/new-code/rt-link-user.h index 989c5af52b0a..fbb032734ae7 100644 --- a/home/nipa/nipa_out/1021463/ynl/old-code/rt-link-user.h +++ b/home/nipa/nipa_out/1021463/ynl/new-code/rt-link-user.h @@ -348,6 +348,7 @@ struct rt_link_linkinfo_gre6_attrs { struct rt_link_linkinfo_geneve_attrs { struct { __u32 id:1; + __u32 remote:1; __u32 ttl:1; __u32 tos:1; __u32 port:1; @@ -361,13 +362,12 @@ struct rt_link_linkinfo_geneve_attrs { __u32 inner_proto_inherit:1; } _present; struct { - __u32 remote; __u32 remote6; __u32 port_range; } _len; __u32 id; - void *remote; + __u32 remote; __u8 ttl; __u8 tos; __u16 port /* big-endian */; @@ -391,6 +391,7 @@ struct rt_link_linkinfo_iptun_attrs { __u32 flags:1; __u32 proto:1; __u32 pmtudisc:1; + __u32 _6rd_relay_prefix:1; __u32 _6rd_prefixlen:1; __u32 _6rd_relay_prefixlen:1; __u32 encap_type:1; @@ -404,7 +405,6 @@ struct rt_link_linkinfo_iptun_attrs { __u32 local; __u32 remote; __u32 _6rd_prefix; - __u32 _6rd_relay_prefix; } _len; __u32 link; @@ -418,7 +418,7 @@ struct rt_link_linkinfo_iptun_attrs { __u8 proto; __u8 pmtudisc; void *_6rd_prefix; - void *_6rd_relay_prefix; + __u32 _6rd_relay_prefix; __u16 _6rd_prefixlen; __u16 _6rd_relay_prefixlen; __u16 encap_type; @@ -3085,16 +3085,13 @@ rt_link_newlink_req_set_linkinfo_data_geneve_id(struct rt_link_newlink_req *req, } static inline void rt_link_newlink_req_set_linkinfo_data_geneve_remote(struct rt_link_newlink_req *req, - const void *remote, - size_t len) + __u32 remote) { req->_present.linkinfo = 1; req->linkinfo._present.data = 1; req->linkinfo.data._present.geneve = 1; - free(req->linkinfo.data.geneve.remote); - req->linkinfo.data.geneve._len.remote = len; - req->linkinfo.data.geneve.remote = malloc(req->linkinfo.data.geneve._len.remote); - memcpy(req->linkinfo.data.geneve.remote, remote, req->linkinfo.data.geneve._len.remote); + req->linkinfo.data.geneve._present.remote = 1; + req->linkinfo.data.geneve.remote = remote; } static inline void rt_link_newlink_req_set_linkinfo_data_geneve_ttl(struct rt_link_newlink_req *req, @@ -3348,16 +3345,13 @@ rt_link_newlink_req_set_linkinfo_data_ipip__6rd_prefix(struct rt_link_newlink_re } static inline void rt_link_newlink_req_set_linkinfo_data_ipip__6rd_relay_prefix(struct rt_link_newlink_req *req, - const void *_6rd_relay_prefix, - size_t len) + __u32 _6rd_relay_prefix) { req->_present.linkinfo = 1; req->linkinfo._present.data = 1; req->linkinfo.data._present.ipip = 1; - free(req->linkinfo.data.ipip._6rd_relay_prefix); - req->linkinfo.data.ipip._len._6rd_relay_prefix = len; - req->linkinfo.data.ipip._6rd_relay_prefix = malloc(req->linkinfo.data.ipip._len._6rd_relay_prefix); - memcpy(req->linkinfo.data.ipip._6rd_relay_prefix, _6rd_relay_prefix, req->linkinfo.data.ipip._len._6rd_relay_prefix); + req->linkinfo.data.ipip._present._6rd_relay_prefix = 1; + req->linkinfo.data.ipip._6rd_relay_prefix = _6rd_relay_prefix; } static inline void rt_link_newlink_req_set_linkinfo_data_ipip__6rd_prefixlen(struct rt_link_newlink_req *req, @@ -3701,16 +3695,13 @@ rt_link_newlink_req_set_linkinfo_data_sit__6rd_prefix(struct rt_link_newlink_req } static inline void rt_link_newlink_req_set_linkinfo_data_sit__6rd_relay_prefix(struct rt_link_newlink_req *req, - const void *_6rd_relay_prefix, - size_t len) + __u32 _6rd_relay_prefix) { req->_present.linkinfo = 1; req->linkinfo._present.data = 1; req->linkinfo.data._present.sit = 1; - free(req->linkinfo.data.sit._6rd_relay_prefix); - req->linkinfo.data.sit._len._6rd_relay_prefix = len; - req->linkinfo.data.sit._6rd_relay_prefix = malloc(req->linkinfo.data.sit._len._6rd_relay_prefix); - memcpy(req->linkinfo.data.sit._6rd_relay_prefix, _6rd_relay_prefix, req->linkinfo.data.sit._len._6rd_relay_prefix); + req->linkinfo.data.sit._present._6rd_relay_prefix = 1; + req->linkinfo.data.sit._6rd_relay_prefix = _6rd_relay_prefix; } static inline void rt_link_newlink_req_set_linkinfo_data_sit__6rd_prefixlen(struct rt_link_newlink_req *req, @@ -7064,16 +7055,13 @@ rt_link_getlink_req_dump_set_linkinfo_data_geneve_id(struct rt_link_getlink_req_ } static inline void rt_link_getlink_req_dump_set_linkinfo_data_geneve_remote(struct rt_link_getlink_req_dump *req, - const void *remote, - size_t len) + __u32 remote) { req->_present.linkinfo = 1; req->linkinfo._present.data = 1; req->linkinfo.data._present.geneve = 1; - free(req->linkinfo.data.geneve.remote); - req->linkinfo.data.geneve._len.remote = len; - req->linkinfo.data.geneve.remote = malloc(req->linkinfo.data.geneve._len.remote); - memcpy(req->linkinfo.data.geneve.remote, remote, req->linkinfo.data.geneve._len.remote); + req->linkinfo.data.geneve._present.remote = 1; + req->linkinfo.data.geneve.remote = remote; } static inline void rt_link_getlink_req_dump_set_linkinfo_data_geneve_ttl(struct rt_link_getlink_req_dump *req, @@ -7328,16 +7316,13 @@ rt_link_getlink_req_dump_set_linkinfo_data_ipip__6rd_prefix(struct rt_link_getli } static inline void rt_link_getlink_req_dump_set_linkinfo_data_ipip__6rd_relay_prefix(struct rt_link_getlink_req_dump *req, - const void *_6rd_relay_prefix, - size_t len) + __u32 _6rd_relay_prefix) { req->_present.linkinfo = 1; req->linkinfo._present.data = 1; req->linkinfo.data._present.ipip = 1; - free(req->linkinfo.data.ipip._6rd_relay_prefix); - req->linkinfo.data.ipip._len._6rd_relay_prefix = len; - req->linkinfo.data.ipip._6rd_relay_prefix = malloc(req->linkinfo.data.ipip._len._6rd_relay_prefix); - memcpy(req->linkinfo.data.ipip._6rd_relay_prefix, _6rd_relay_prefix, req->linkinfo.data.ipip._len._6rd_relay_prefix); + req->linkinfo.data.ipip._present._6rd_relay_prefix = 1; + req->linkinfo.data.ipip._6rd_relay_prefix = _6rd_relay_prefix; } static inline void rt_link_getlink_req_dump_set_linkinfo_data_ipip__6rd_prefixlen(struct rt_link_getlink_req_dump *req, @@ -7682,16 +7667,13 @@ rt_link_getlink_req_dump_set_linkinfo_data_sit__6rd_prefix(struct rt_link_getlin } static inline void rt_link_getlink_req_dump_set_linkinfo_data_sit__6rd_relay_prefix(struct rt_link_getlink_req_dump *req, - const void *_6rd_relay_prefix, - size_t len) + __u32 _6rd_relay_prefix) { req->_present.linkinfo = 1; req->linkinfo._present.data = 1; req->linkinfo.data._present.sit = 1; - free(req->linkinfo.data.sit._6rd_relay_prefix); - req->linkinfo.data.sit._len._6rd_relay_prefix = len; - req->linkinfo.data.sit._6rd_relay_prefix = malloc(req->linkinfo.data.sit._len._6rd_relay_prefix); - memcpy(req->linkinfo.data.sit._6rd_relay_prefix, _6rd_relay_prefix, req->linkinfo.data.sit._len._6rd_relay_prefix); + req->linkinfo.data.sit._present._6rd_relay_prefix = 1; + req->linkinfo.data.sit._6rd_relay_prefix = _6rd_relay_prefix; } static inline void rt_link_getlink_req_dump_set_linkinfo_data_sit__6rd_prefixlen(struct rt_link_getlink_req_dump *req, @@ -10826,16 +10808,13 @@ rt_link_setlink_req_set_linkinfo_data_geneve_id(struct rt_link_setlink_req *req, } static inline void rt_link_setlink_req_set_linkinfo_data_geneve_remote(struct rt_link_setlink_req *req, - const void *remote, - size_t len) + __u32 remote) { req->_present.linkinfo = 1; req->linkinfo._present.data = 1; req->linkinfo.data._present.geneve = 1; - free(req->linkinfo.data.geneve.remote); - req->linkinfo.data.geneve._len.remote = len; - req->linkinfo.data.geneve.remote = malloc(req->linkinfo.data.geneve._len.remote); - memcpy(req->linkinfo.data.geneve.remote, remote, req->linkinfo.data.geneve._len.remote); + req->linkinfo.data.geneve._present.remote = 1; + req->linkinfo.data.geneve.remote = remote; } static inline void rt_link_setlink_req_set_linkinfo_data_geneve_ttl(struct rt_link_setlink_req *req, @@ -11089,16 +11068,13 @@ rt_link_setlink_req_set_linkinfo_data_ipip__6rd_prefix(struct rt_link_setlink_re } static inline void rt_link_setlink_req_set_linkinfo_data_ipip__6rd_relay_prefix(struct rt_link_setlink_req *req, - const void *_6rd_relay_prefix, - size_t len) + __u32 _6rd_relay_prefix) { req->_present.linkinfo = 1; req->linkinfo._present.data = 1; req->linkinfo.data._present.ipip = 1; - free(req->linkinfo.data.ipip._6rd_relay_prefix); - req->linkinfo.data.ipip._len._6rd_relay_prefix = len; - req->linkinfo.data.ipip._6rd_relay_prefix = malloc(req->linkinfo.data.ipip._len._6rd_relay_prefix); - memcpy(req->linkinfo.data.ipip._6rd_relay_prefix, _6rd_relay_prefix, req->linkinfo.data.ipip._len._6rd_relay_prefix); + req->linkinfo.data.ipip._present._6rd_relay_prefix = 1; + req->linkinfo.data.ipip._6rd_relay_prefix = _6rd_relay_prefix; } static inline void rt_link_setlink_req_set_linkinfo_data_ipip__6rd_prefixlen(struct rt_link_setlink_req *req, @@ -11442,16 +11418,13 @@ rt_link_setlink_req_set_linkinfo_data_sit__6rd_prefix(struct rt_link_setlink_req } static inline void rt_link_setlink_req_set_linkinfo_data_sit__6rd_relay_prefix(struct rt_link_setlink_req *req, - const void *_6rd_relay_prefix, - size_t len) + __u32 _6rd_relay_prefix) { req->_present.linkinfo = 1; req->linkinfo._present.data = 1; req->linkinfo.data._present.sit = 1; - free(req->linkinfo.data.sit._6rd_relay_prefix); - req->linkinfo.data.sit._len._6rd_relay_prefix = len; - req->linkinfo.data.sit._6rd_relay_prefix = malloc(req->linkinfo.data.sit._len._6rd_relay_prefix); - memcpy(req->linkinfo.data.sit._6rd_relay_prefix, _6rd_relay_prefix, req->linkinfo.data.sit._len._6rd_relay_prefix); + req->linkinfo.data.sit._present._6rd_relay_prefix = 1; + req->linkinfo.data.sit._6rd_relay_prefix = _6rd_relay_prefix; } static inline void rt_link_setlink_req_set_linkinfo_data_sit__6rd_prefixlen(struct rt_link_setlink_req *req, diff --git a/home/nipa/nipa_out/1021463/ynl/old-code/rt-rule-user.c b/home/nipa/nipa_out/1021463/ynl/new-code/rt-rule-user.c index 7e6e005d91bf..014306c702c6 100644 --- a/home/nipa/nipa_out/1021463/ynl/old-code/rt-rule-user.c +++ b/home/nipa/nipa_out/1021463/ynl/new-code/rt-rule-user.c @@ -46,8 +46,8 @@ const char *rt_rule_fr_act_str(int value) /* Policies */ const struct ynl_policy_attr rt_rule_fib_rule_attrs_policy[FRA_MAX + 1] = { - [FRA_DST] = { .name = "dst", .type = YNL_PT_U32, }, - [FRA_SRC] = { .name = "src", .type = YNL_PT_U32, }, + [FRA_DST] = { .name = "dst", .type = YNL_PT_BINARY,}, + [FRA_SRC] = { .name = "src", .type = YNL_PT_BINARY,}, [FRA_IIFNAME] = { .name = "iifname", .type = YNL_PT_NUL_STR, }, [FRA_GOTO] = { .name = "goto", .type = YNL_PT_U32, }, [FRA_UNUSED2] = { .name = "unused2", .type = YNL_PT_IGNORE, },