xref: /aosp_15_r20/external/linux-kselftest/tools/testing/selftests/tc-testing/action.c (revision 053f45be4e351dfd5e965df293cd45b779f579ee)
1*053f45beSAndroid Build Coastguard Worker /* SPDX-License-Identifier: GPL-2.0
2*053f45beSAndroid Build Coastguard Worker  * Copyright (c) 2018 Davide Caratti, Red Hat inc.
3*053f45beSAndroid Build Coastguard Worker  *
4*053f45beSAndroid Build Coastguard Worker  * This program is free software; you can redistribute it and/or
5*053f45beSAndroid Build Coastguard Worker  * modify it under the terms of version 2 of the GNU General Public
6*053f45beSAndroid Build Coastguard Worker  * License as published by the Free Software Foundation.
7*053f45beSAndroid Build Coastguard Worker  */
8*053f45beSAndroid Build Coastguard Worker 
9*053f45beSAndroid Build Coastguard Worker #include <linux/bpf.h>
10*053f45beSAndroid Build Coastguard Worker #include <linux/pkt_cls.h>
11*053f45beSAndroid Build Coastguard Worker 
action_ok(struct __sk_buff * s)12*053f45beSAndroid Build Coastguard Worker __attribute__((section("action-ok"),used)) int action_ok(struct __sk_buff *s)
13*053f45beSAndroid Build Coastguard Worker {
14*053f45beSAndroid Build Coastguard Worker 	return TC_ACT_OK;
15*053f45beSAndroid Build Coastguard Worker }
16*053f45beSAndroid Build Coastguard Worker 
action_ko(struct __sk_buff * s)17*053f45beSAndroid Build Coastguard Worker __attribute__((section("action-ko"),used)) int action_ko(struct __sk_buff *s)
18*053f45beSAndroid Build Coastguard Worker {
19*053f45beSAndroid Build Coastguard Worker 	s->data = 0x0;
20*053f45beSAndroid Build Coastguard Worker 	return TC_ACT_OK;
21*053f45beSAndroid Build Coastguard Worker }
22*053f45beSAndroid Build Coastguard Worker 
23*053f45beSAndroid Build Coastguard Worker char _license[] __attribute__((section("license"),used)) = "GPL";
24