prog.c (5f09bc8cc4010a3ea17c5881a62fc45192ebe7b0) prog.c (a5d9265e017f081f0dc133c0e2f45103d027b874)
1// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2/* Copyright (C) 2017-2018 Netronome Systems, Inc. */
3
4#define _GNU_SOURCE
5#include <errno.h>
6#include <fcntl.h>
7#include <stdarg.h>
8#include <stdio.h>

--- 917 unchanged lines hidden (view full) ---

926 }
927 *type = 0;
928 strcat(type, *argv);
929 strcat(type, "/");
930
931 err = libbpf_prog_type_by_name(type, &attr.prog_type,
932 &expected_attach_type);
933 free(type);
1// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2/* Copyright (C) 2017-2018 Netronome Systems, Inc. */
3
4#define _GNU_SOURCE
5#include <errno.h>
6#include <fcntl.h>
7#include <stdarg.h>
8#include <stdio.h>

--- 917 unchanged lines hidden (view full) ---

926 }
927 *type = 0;
928 strcat(type, *argv);
929 strcat(type, "/");
930
931 err = libbpf_prog_type_by_name(type, &attr.prog_type,
932 &expected_attach_type);
933 free(type);
934 if (err < 0) {
935 p_err("unknown program type '%s'", *argv);
934 if (err < 0)
936 goto err_free_reuse_maps;
935 goto err_free_reuse_maps;
937 }
936
938 NEXT_ARG();
939 } else if (is_prefix(*argv, "map")) {
940 void *new_map_replace;
941 char *endptr, *name;
942 int fd;
943
944 NEXT_ARG();
945

--- 78 unchanged lines hidden (view full) ---

1024 bpf_object__for_each_program(pos, obj) {
1025 enum bpf_prog_type prog_type = attr.prog_type;
1026
1027 if (attr.prog_type == BPF_PROG_TYPE_UNSPEC) {
1028 const char *sec_name = bpf_program__title(pos, false);
1029
1030 err = libbpf_prog_type_by_name(sec_name, &prog_type,
1031 &expected_attach_type);
937 NEXT_ARG();
938 } else if (is_prefix(*argv, "map")) {
939 void *new_map_replace;
940 char *endptr, *name;
941 int fd;
942
943 NEXT_ARG();
944

--- 78 unchanged lines hidden (view full) ---

1023 bpf_object__for_each_program(pos, obj) {
1024 enum bpf_prog_type prog_type = attr.prog_type;
1025
1026 if (attr.prog_type == BPF_PROG_TYPE_UNSPEC) {
1027 const char *sec_name = bpf_program__title(pos, false);
1028
1029 err = libbpf_prog_type_by_name(sec_name, &prog_type,
1030 &expected_attach_type);
1032 if (err < 0) {
1033 p_err("failed to guess program type based on section name %s\n",
1034 sec_name);
1031 if (err < 0)
1035 goto err_close_obj;
1032 goto err_close_obj;
1036 }
1037 }
1038
1039 bpf_program__set_ifindex(pos, ifindex);
1040 bpf_program__set_type(pos, prog_type);
1041 bpf_program__set_expected_attach_type(pos, expected_attach_type);
1042 }
1043
1044 qsort(map_replace, old_map_fds, sizeof(*map_replace),

--- 153 unchanged lines hidden (view full) ---

1198 " TYPE := { socket | kprobe | kretprobe | classifier | action |\n"
1199 " tracepoint | raw_tracepoint | xdp | perf_event | cgroup/skb |\n"
1200 " cgroup/sock | cgroup/dev | lwt_in | lwt_out | lwt_xmit |\n"
1201 " lwt_seg6local | sockops | sk_skb | sk_msg | lirc_mode2 |\n"
1202 " sk_reuseport | flow_dissector |\n"
1203 " cgroup/bind4 | cgroup/bind6 | cgroup/post_bind4 |\n"
1204 " cgroup/post_bind6 | cgroup/connect4 | cgroup/connect6 |\n"
1205 " cgroup/sendmsg4 | cgroup/sendmsg6 }\n"
1033 }
1034
1035 bpf_program__set_ifindex(pos, ifindex);
1036 bpf_program__set_type(pos, prog_type);
1037 bpf_program__set_expected_attach_type(pos, expected_attach_type);
1038 }
1039
1040 qsort(map_replace, old_map_fds, sizeof(*map_replace),

--- 153 unchanged lines hidden (view full) ---

1194 " TYPE := { socket | kprobe | kretprobe | classifier | action |\n"
1195 " tracepoint | raw_tracepoint | xdp | perf_event | cgroup/skb |\n"
1196 " cgroup/sock | cgroup/dev | lwt_in | lwt_out | lwt_xmit |\n"
1197 " lwt_seg6local | sockops | sk_skb | sk_msg | lirc_mode2 |\n"
1198 " sk_reuseport | flow_dissector |\n"
1199 " cgroup/bind4 | cgroup/bind6 | cgroup/post_bind4 |\n"
1200 " cgroup/post_bind6 | cgroup/connect4 | cgroup/connect6 |\n"
1201 " cgroup/sendmsg4 | cgroup/sendmsg6 }\n"
1206 " ATTACH_TYPE := { msg_verdict | skb_verdict | skb_parse |\n"
1202 " ATTACH_TYPE := { msg_verdict | stream_verdict | stream_parser |\n"
1207 " flow_dissector }\n"
1208 " " HELP_SPEC_OPTIONS "\n"
1209 "",
1210 bin_name, argv[-2], bin_name, argv[-2], bin_name, argv[-2],
1211 bin_name, argv[-2], bin_name, argv[-2], bin_name, argv[-2],
1212 bin_name, argv[-2], bin_name, argv[-2], bin_name, argv[-2]);
1213
1214 return 0;

--- 20 unchanged lines hidden ---
1203 " flow_dissector }\n"
1204 " " HELP_SPEC_OPTIONS "\n"
1205 "",
1206 bin_name, argv[-2], bin_name, argv[-2], bin_name, argv[-2],
1207 bin_name, argv[-2], bin_name, argv[-2], bin_name, argv[-2],
1208 bin_name, argv[-2], bin_name, argv[-2], bin_name, argv[-2]);
1209
1210 return 0;

--- 20 unchanged lines hidden ---