1 /* 2 * Copyright (c) 2016, Jamal Hadi Salim 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2 of the License, or 7 * (at your option) any later version. 8 */ 9 10 #ifndef __LINUX_TC_SKBMOD_H 11 #define __LINUX_TC_SKBMOD_H 12 13 #include <linux/pkt_cls.h> 14 15 #define TCA_ACT_SKBMOD 15 16 17 #define SKBMOD_F_DMAC 0x1 18 #define SKBMOD_F_SMAC 0x2 19 #define SKBMOD_F_ETYPE 0x4 20 #define SKBMOD_F_SWAPMAC 0x8 21 22 struct tc_skbmod { 23 tc_gen; 24 __u64 flags; 25 }; 26 27 enum { 28 TCA_SKBMOD_UNSPEC, 29 TCA_SKBMOD_TM, 30 TCA_SKBMOD_PARMS, 31 TCA_SKBMOD_DMAC, 32 TCA_SKBMOD_SMAC, 33 TCA_SKBMOD_ETYPE, 34 TCA_SKBMOD_PAD, 35 __TCA_SKBMOD_MAX 36 }; 37 #define TCA_SKBMOD_MAX (__TCA_SKBMOD_MAX - 1) 38 39 #endif 40