diff options
Diffstat (limited to 'tools/net/ynl/samples/rt-route.c')
| -rw-r--r-- | tools/net/ynl/samples/rt-route.c | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/tools/net/ynl/samples/rt-route.c b/tools/net/ynl/samples/rt-route.c deleted file mode 100644 index 7427104a96df..000000000000 --- a/tools/net/ynl/samples/rt-route.c +++ /dev/null @@ -1,80 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -#include <stdio.h> -#include <string.h> - -#include <ynl.h> - -#include <arpa/inet.h> -#include <net/if.h> - -#include "rt-route-user.h" - -static void rt_route_print(struct rt_route_getroute_rsp *r) -{ - char ifname[IF_NAMESIZE]; - char route_str[64]; - const char *route; - const char *name; - - /* Ignore local */ - if (r->_hdr.rtm_table == RT_TABLE_LOCAL) - return; - - if (r->_present.oif) { - name = if_indextoname(r->oif, ifname); - if (name) - printf("oif: %-16s ", name); - } - - if (r->_len.dst) { - route = inet_ntop(r->_hdr.rtm_family, r->dst, - route_str, sizeof(route_str)); - printf("dst: %s/%d", route, r->_hdr.rtm_dst_len); - } - - if (r->_len.gateway) { - route = inet_ntop(r->_hdr.rtm_family, r->gateway, - route_str, sizeof(route_str)); - printf("gateway: %s ", route); - } - - printf("\n"); -} - -int main(int argc, char **argv) -{ - struct rt_route_getroute_req_dump *req; - struct rt_route_getroute_list *rsp; - struct ynl_error yerr; - struct ynl_sock *ys; - - ys = ynl_sock_create(&ynl_rt_route_family, &yerr); - if (!ys) { - fprintf(stderr, "YNL: %s\n", yerr.msg); - return 1; - } - - req = rt_route_getroute_req_dump_alloc(); - if (!req) - goto err_destroy; - - rsp = rt_route_getroute_dump(ys, req); - rt_route_getroute_req_dump_free(req); - if (!rsp) - goto err_close; - - if (ynl_dump_empty(rsp)) - fprintf(stderr, "Error: no routeesses reported\n"); - ynl_dump_foreach(rsp, route) - rt_route_print(route); - rt_route_getroute_list_free(rsp); - - ynl_sock_destroy(ys); - return 0; - -err_close: - fprintf(stderr, "YNL: %s\n", ys->err.msg); -err_destroy: - ynl_sock_destroy(ys); - return 2; -} |
