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 --- |