@@ -34,69 +34,69 @@ int get_prog_id(int prog_fd)
3434{
3535 struct bpf_prog_info info = {};
3636 __u32 len = sizeof (info );
37- int err ;
37+ int err ;
3838
3939 err = bpf_obj_get_info_by_fd (prog_fd , & info , & len );
4040 if (err )
41- return - errno ;
41+ return - errno ;
4242
43- return info .id ;
43+ return info .id ;
4444}
4545
4646int load_dispatcher_v1 (int ifindex )
4747{
4848 struct xdp_dispatcher_config_v1 dispatcher_config = {};
49- struct bpf_object * obj_dispatcher , * obj_prog = NULL ;
49+ struct bpf_object * obj_dispatcher , * obj_prog = NULL ;
5050 DECLARE_LIBBPF_OPTS (bpf_link_create_opts , opts );
51- struct bpf_program * dispatcher_prog , * xdp_prog ;
52- int ret , btf_id , lfd = -1 , dispatcher_id ;
51+ struct bpf_program * dispatcher_prog , * xdp_prog ;
52+ int ret , btf_id , lfd = -1 , dispatcher_id ;
5353 char pin_path [PATH_MAX ], buf [PATH_MAX ];
54- const char * attach_func = "prog0" ;
55- struct bpf_map * map ;
54+ const char * attach_func = "prog0" ;
55+ struct bpf_map * map ;
5656
57- if (!ifindex )
58- return - ENOENT ;
57+ if (!ifindex )
58+ return - ENOENT ;
5959
6060 obj_dispatcher = bpf_object__open ("xdp_dispatcher_v1.o" );
61- if (!obj_dispatcher )
62- return - errno ;
61+ if (!obj_dispatcher )
62+ return - errno ;
6363
6464 btf_id = btf__find_by_name_kind (bpf_object__btf (obj_dispatcher ),
65- attach_func , BTF_KIND_FUNC );
65+ attach_func , BTF_KIND_FUNC );
6666 if (btf_id <= 0 ) {
6767 ret = - ENOENT ;
6868 goto out ;
6969 }
7070 opts .target_btf_id = btf_id ;
7171
72- map = bpf_object__next_map (obj_dispatcher , NULL );
72+ map = bpf_object__next_map (obj_dispatcher , NULL );
7373 if (!map ) {
7474 ret = - ENOENT ;
7575 goto out ;
7676 }
7777
78- dispatcher_prog = bpf_object__find_program_by_name (obj_dispatcher ,
79- "xdp_dispatcher" );
78+ dispatcher_prog = bpf_object__find_program_by_name (obj_dispatcher ,
79+ "xdp_dispatcher" );
8080 if (!dispatcher_prog ) {
8181 ret = - errno ;
8282 goto out ;
8383 }
8484
85- dispatcher_config .num_progs_enabled = 1 ;
86- dispatcher_config .chain_call_actions [0 ] = PROG_CHAIN_CALL_ACTIONS ;
87- dispatcher_config .run_prios [0 ] = PROG_RUN_PRIO ;
85+ dispatcher_config .num_progs_enabled = 1 ;
86+ dispatcher_config .chain_call_actions [0 ] = PROG_CHAIN_CALL_ACTIONS ;
87+ dispatcher_config .run_prios [0 ] = PROG_RUN_PRIO ;
8888
89- ret = bpf_map__set_initial_value (map , & dispatcher_config ,
90- sizeof (dispatcher_config ));
91- if (ret )
92- goto out ;
89+ ret = bpf_map__set_initial_value (map , & dispatcher_config ,
90+ sizeof (dispatcher_config ));
91+ if (ret )
92+ goto out ;
9393
9494
95- ret = bpf_object__load (obj_dispatcher );
96- if (ret )
97- goto out ;
95+ ret = bpf_object__load (obj_dispatcher );
96+ if (ret )
97+ goto out ;
9898
99- dispatcher_id = get_prog_id (bpf_program__fd (dispatcher_prog ));
99+ dispatcher_id = get_prog_id (bpf_program__fd (dispatcher_prog ));
100100 if (dispatcher_id < 0 ) {
101101 ret = dispatcher_id ;
102102 goto out ;
@@ -108,27 +108,27 @@ int load_dispatcher_v1(int ifindex)
108108 goto out ;
109109 }
110110
111- xdp_prog = bpf_object__find_program_by_name (obj_prog , "xdp_pass" );
111+ xdp_prog = bpf_object__find_program_by_name (obj_prog , "xdp_pass" );
112112 if (!xdp_prog ) {
113113 ret = - errno ;
114114 goto out ;
115115 }
116116
117117 ret = bpf_program__set_attach_target (xdp_prog ,
118- bpf_program__fd (dispatcher_prog ),
119- attach_func );
120- if (ret )
121- goto out ;
118+ bpf_program__fd (dispatcher_prog ),
119+ attach_func );
120+ if (ret )
121+ goto out ;
122122
123- bpf_program__set_type (xdp_prog , BPF_PROG_TYPE_EXT );
124- bpf_program__set_expected_attach_type (xdp_prog , 0 );
123+ bpf_program__set_type (xdp_prog , BPF_PROG_TYPE_EXT );
124+ bpf_program__set_expected_attach_type (xdp_prog , 0 );
125125
126- ret = bpf_object__load (obj_prog );
127- if (ret )
128- goto out ;
126+ ret = bpf_object__load (obj_prog );
127+ if (ret )
128+ goto out ;
129129
130- lfd = bpf_link_create (bpf_program__fd (xdp_prog ),
131- bpf_program__fd (dispatcher_prog ), 0 , & opts );
130+ lfd = bpf_link_create (bpf_program__fd (xdp_prog ),
131+ bpf_program__fd (dispatcher_prog ), 0 , & opts );
132132 if (lfd < 0 ) {
133133 ret = - errno ;
134134 goto out ;
@@ -142,84 +142,84 @@ int load_dispatcher_v1(int ifindex)
142142 ret = mkdir (BPFFS_DIR , S_IRWXU );
143143 if (ret && errno != EEXIST ) {
144144 ret = - errno ;
145- printf ("mkdir err (%s): %s\n" , BPFFS_DIR , strerror (- ret ));
145+ printf ("mkdir err (%s): %s\n" , BPFFS_DIR , strerror (- ret ));
146146 goto out ;
147147 }
148148
149149 ret = mkdir (pin_path , S_IRWXU );
150150 if (ret ) {
151151 ret = - errno ;
152- printf ("mkdir err (%s): %s\n" , pin_path , strerror (- ret ));
152+ printf ("mkdir err (%s): %s\n" , pin_path , strerror (- ret ));
153153 goto out ;
154154 }
155155
156- ret = try_snprintf (buf , sizeof (buf ), "%s/prog0-link" , pin_path );
157- if (ret )
158- goto err_unpin ;
156+ ret = try_snprintf (buf , sizeof (buf ), "%s/prog0-link" , pin_path );
157+ if (ret )
158+ goto err_unpin ;
159159
160- ret = bpf_obj_pin (lfd , buf );
161- if (ret )
162- goto err_unpin ;
160+ ret = bpf_obj_pin (lfd , buf );
161+ if (ret )
162+ goto err_unpin ;
163163
164- ret = try_snprintf (buf , sizeof (buf ), "%s/prog0-prog" , pin_path );
165- if (ret )
166- goto err_unpin ;
164+ ret = try_snprintf (buf , sizeof (buf ), "%s/prog0-prog" , pin_path );
165+ if (ret )
166+ goto err_unpin ;
167167
168- ret = bpf_obj_pin (bpf_program__fd (xdp_prog ), buf );
169- if (ret )
170- goto err_unpin ;
168+ ret = bpf_obj_pin (bpf_program__fd (xdp_prog ), buf );
169+ if (ret )
170+ goto err_unpin ;
171171
172- ret = xdp_attach_fd (bpf_program__fd (dispatcher_prog ), -1 , ifindex ,
173- XDP_MODE_NATIVE );
174- if (ret )
175- goto err_unpin ;
172+ ret = xdp_attach_fd (bpf_program__fd (dispatcher_prog ), -1 , ifindex ,
173+ XDP_MODE_NATIVE );
174+ if (ret )
175+ goto err_unpin ;
176176
177177out :
178- if (lfd >= 0 )
179- close (lfd );
180- bpf_object__close (obj_dispatcher );
181- bpf_object__close (obj_prog );
182- return ret ;
178+ if (lfd >= 0 )
179+ close (lfd );
180+ bpf_object__close (obj_dispatcher );
181+ bpf_object__close (obj_prog );
182+ return ret ;
183183
184184err_unpin :
185- if (!try_snprintf (buf , sizeof (buf ), "%s/prog0-link" , pin_path ))
186- unlink (buf );
187- if (!try_snprintf (buf , sizeof (buf ), "%s/prog0-prog" , pin_path ))
188- unlink (buf );
189- rmdir (pin_path );
190- goto out ;
185+ if (!try_snprintf (buf , sizeof (buf ), "%s/prog0-link" , pin_path ))
186+ unlink (buf );
187+ if (!try_snprintf (buf , sizeof (buf ), "%s/prog0-prog" , pin_path ))
188+ unlink (buf );
189+ rmdir (pin_path );
190+ goto out ;
191191}
192192
193193int check_old_dispatcher (int ifindex )
194194{
195- struct xdp_multiprog * mp = NULL ;
196- struct xdp_program * xdp_prog ;
197- char buf [100 ];
198- int ret ;
195+ struct xdp_multiprog * mp = NULL ;
196+ struct xdp_program * xdp_prog ;
197+ char buf [100 ];
198+ int ret ;
199199
200- ret = load_dispatcher_v1 (ifindex );
201- if (ret )
202- goto out ;
200+ ret = load_dispatcher_v1 (ifindex );
201+ if (ret )
202+ goto out ;
203203
204- mp = xdp_multiprog__get_from_ifindex (ifindex );
205- ret = libxdp_get_error (mp );
204+ mp = xdp_multiprog__get_from_ifindex (ifindex );
205+ ret = libxdp_get_error (mp );
206206 if (ret )
207207 goto out ;
208208
209209 if (xdp_multiprog__is_legacy (mp )) {
210210 printf ("Got unexpected legacy multiprog\n" );
211- ret = - EINVAL ;
212- goto out ;
211+ ret = - EINVAL ;
212+ goto out ;
213213 }
214214
215215 if (xdp_multiprog__program_count (mp ) != 1 ) {
216216 printf ("Expected 1 attached program, got %d\n" ,
217- xdp_multiprog__program_count (mp ));
218- ret = - EINVAL ;
219- goto out ;
217+ xdp_multiprog__program_count (mp ));
218+ ret = - EINVAL ;
219+ goto out ;
220220 }
221221
222- xdp_prog = xdp_multiprog__next_prog (NULL , mp );
222+ xdp_prog = xdp_multiprog__next_prog (NULL , mp );
223223 if (!xdp_prog ) {
224224 ret = - errno ;
225225 goto out ;
@@ -239,35 +239,35 @@ int check_old_dispatcher(int ifindex)
239239 goto out ;
240240 }
241241
242- ret = xdp_program__print_chain_call_actions (xdp_prog , buf , sizeof (buf ));
243- if (ret )
244- goto out ;
242+ ret = xdp_program__print_chain_call_actions (xdp_prog , buf , sizeof (buf ));
243+ if (ret )
244+ goto out ;
245245
246246 if (strcmp (buf , "XDP_DROP" )) {
247247 printf ("Expected actions XDP_PASS, got %s\n" , buf );
248248 ret = - EINVAL ;
249249 goto out ;
250250 }
251251
252- xdp_prog = xdp_program__open_file ("xdp_pass.o" , "xdp" , NULL );
253- ret = libxdp_get_error (xdp_prog );
254- if (ret )
255- goto out ;
252+ xdp_prog = xdp_program__open_file ("xdp_pass.o" , "xdp" , NULL );
253+ ret = libxdp_get_error (xdp_prog );
254+ if (ret )
255+ goto out ;
256256
257- ret = xdp_program__attach (xdp_prog , ifindex , XDP_MODE_NATIVE , 0 );
258- xdp_program__close (xdp_prog );
257+ ret = xdp_program__attach (xdp_prog , ifindex , XDP_MODE_NATIVE , 0 );
258+ xdp_program__close (xdp_prog );
259259 if (!ret ) {
260260 printf ("Shouldn't have been able to attach a new program to ifindex!\n" );
261261 ret = - EINVAL ;
262262 goto out ;
263263 }
264- ret = 0 ;
264+ ret = 0 ;
265265
266266out :
267- if (mp )
268- xdp_multiprog__detach (mp );
269- xdp_multiprog__close (mp );
270- return ret ;
267+ if (mp )
268+ xdp_multiprog__detach (mp );
269+ xdp_multiprog__close (mp );
270+ return ret ;
271271}
272272
273273static void usage (char * progname )
@@ -278,23 +278,23 @@ static void usage(char *progname)
278278
279279int main (int argc , char * * argv )
280280{
281- int ifindex , ret ;
282- char * envval ;
281+ int ifindex , ret ;
282+ char * envval ;
283283
284- envval = secure_getenv ("VERBOSE_TESTS" );
284+ envval = secure_getenv ("VERBOSE_TESTS" );
285285
286286 silence_libbpf_logging ();
287- if (envval && envval [0 ] == '1' )
288- verbose_libxdp_logging ();
289- else
290- silence_libxdp_logging ();
287+ if (envval && envval [0 ] == '1' )
288+ verbose_libxdp_logging ();
289+ else
290+ silence_libxdp_logging ();
291291
292292 if (argc != 2 )
293- usage (argv [0 ]);
293+ usage (argv [0 ]);
294294
295295 ifindex = if_nametoindex (argv [1 ]);
296296
297- ret = check_old_dispatcher (ifindex );
297+ ret = check_old_dispatcher (ifindex );
298298
299- return ret ;
300- }
299+ return ret ;
300+ }
0 commit comments