skbuff.h (e3305138da47f0ae2241e5daa18af276e1e54457) | skbuff.h (f96533cded173b3b019001a505a746c3cd8fc323) |
---|---|
1/* SPDX-License-Identifier: GPL-2.0-or-later */ 2/* 3 * Definitions for the 'struct sk_buff' memory handlers. 4 * 5 * Authors: 6 * Alan Cox, <gw4pts@gw4pts.ampr.org> 7 * Florian La Roche, <rzsfl@rz.uni-sb.de> 8 */ --- 1278 unchanged lines hidden (view full) --- 1287__skb_set_sw_hash(struct sk_buff *skb, __u32 hash, bool is_l4) 1288{ 1289 __skb_set_hash(skb, hash, true, is_l4); 1290} 1291 1292void __skb_get_hash(struct sk_buff *skb); 1293u32 __skb_get_hash_symmetric(const struct sk_buff *skb); 1294u32 skb_get_poff(const struct sk_buff *skb); | 1/* SPDX-License-Identifier: GPL-2.0-or-later */ 2/* 3 * Definitions for the 'struct sk_buff' memory handlers. 4 * 5 * Authors: 6 * Alan Cox, <gw4pts@gw4pts.ampr.org> 7 * Florian La Roche, <rzsfl@rz.uni-sb.de> 8 */ --- 1278 unchanged lines hidden (view full) --- 1287__skb_set_sw_hash(struct sk_buff *skb, __u32 hash, bool is_l4) 1288{ 1289 __skb_set_hash(skb, hash, true, is_l4); 1290} 1291 1292void __skb_get_hash(struct sk_buff *skb); 1293u32 __skb_get_hash_symmetric(const struct sk_buff *skb); 1294u32 skb_get_poff(const struct sk_buff *skb); |
1295u32 __skb_get_poff(const struct sk_buff *skb, void *data, | 1295u32 __skb_get_poff(const struct sk_buff *skb, const void *data, |
1296 const struct flow_keys_basic *keys, int hlen); 1297__be32 __skb_flow_get_ports(const struct sk_buff *skb, int thoff, u8 ip_proto, | 1296 const struct flow_keys_basic *keys, int hlen); 1297__be32 __skb_flow_get_ports(const struct sk_buff *skb, int thoff, u8 ip_proto, |
1298 void *data, int hlen_proto); | 1298 const void *data, int hlen_proto); |
1299 1300static inline __be32 skb_flow_get_ports(const struct sk_buff *skb, 1301 int thoff, u8 ip_proto) 1302{ 1303 return __skb_flow_get_ports(skb, thoff, ip_proto, NULL, 0); 1304} 1305 1306void skb_flow_dissector_init(struct flow_dissector *flow_dissector, 1307 const struct flow_dissector_key *key, 1308 unsigned int key_count); 1309 1310struct bpf_flow_dissector; 1311bool bpf_flow_dissect(struct bpf_prog *prog, struct bpf_flow_dissector *ctx, 1312 __be16 proto, int nhoff, int hlen, unsigned int flags); 1313 1314bool __skb_flow_dissect(const struct net *net, 1315 const struct sk_buff *skb, 1316 struct flow_dissector *flow_dissector, | 1299 1300static inline __be32 skb_flow_get_ports(const struct sk_buff *skb, 1301 int thoff, u8 ip_proto) 1302{ 1303 return __skb_flow_get_ports(skb, thoff, ip_proto, NULL, 0); 1304} 1305 1306void skb_flow_dissector_init(struct flow_dissector *flow_dissector, 1307 const struct flow_dissector_key *key, 1308 unsigned int key_count); 1309 1310struct bpf_flow_dissector; 1311bool bpf_flow_dissect(struct bpf_prog *prog, struct bpf_flow_dissector *ctx, 1312 __be16 proto, int nhoff, int hlen, unsigned int flags); 1313 1314bool __skb_flow_dissect(const struct net *net, 1315 const struct sk_buff *skb, 1316 struct flow_dissector *flow_dissector, |
1317 void *target_container, 1318 void *data, __be16 proto, int nhoff, int hlen, 1319 unsigned int flags); | 1317 void *target_container, const void *data, 1318 __be16 proto, int nhoff, int hlen, unsigned int flags); |
1320 1321static inline bool skb_flow_dissect(const struct sk_buff *skb, 1322 struct flow_dissector *flow_dissector, 1323 void *target_container, unsigned int flags) 1324{ 1325 return __skb_flow_dissect(NULL, skb, flow_dissector, 1326 target_container, NULL, 0, 0, 0, flags); 1327} --- 5 unchanged lines hidden (view full) --- 1333 memset(flow, 0, sizeof(*flow)); 1334 return __skb_flow_dissect(NULL, skb, &flow_keys_dissector, 1335 flow, NULL, 0, 0, 0, flags); 1336} 1337 1338static inline bool 1339skb_flow_dissect_flow_keys_basic(const struct net *net, 1340 const struct sk_buff *skb, | 1319 1320static inline bool skb_flow_dissect(const struct sk_buff *skb, 1321 struct flow_dissector *flow_dissector, 1322 void *target_container, unsigned int flags) 1323{ 1324 return __skb_flow_dissect(NULL, skb, flow_dissector, 1325 target_container, NULL, 0, 0, 0, flags); 1326} --- 5 unchanged lines hidden (view full) --- 1332 memset(flow, 0, sizeof(*flow)); 1333 return __skb_flow_dissect(NULL, skb, &flow_keys_dissector, 1334 flow, NULL, 0, 0, 0, flags); 1335} 1336 1337static inline bool 1338skb_flow_dissect_flow_keys_basic(const struct net *net, 1339 const struct sk_buff *skb, |
1341 struct flow_keys_basic *flow, void *data, 1342 __be16 proto, int nhoff, int hlen, 1343 unsigned int flags) | 1340 struct flow_keys_basic *flow, 1341 const void *data, __be16 proto, 1342 int nhoff, int hlen, unsigned int flags) |
1344{ 1345 memset(flow, 0, sizeof(*flow)); 1346 return __skb_flow_dissect(net, skb, &flow_keys_basic_dissector, flow, 1347 data, proto, nhoff, hlen, flags); 1348} 1349 1350void skb_flow_dissect_meta(const struct sk_buff *skb, 1351 struct flow_dissector *flow_dissector, --- 3350 unchanged lines hidden --- | 1343{ 1344 memset(flow, 0, sizeof(*flow)); 1345 return __skb_flow_dissect(net, skb, &flow_keys_basic_dissector, flow, 1346 data, proto, nhoff, hlen, flags); 1347} 1348 1349void skb_flow_dissect_meta(const struct sk_buff *skb, 1350 struct flow_dissector *flow_dissector, --- 3350 unchanged lines hidden --- |