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