Lines Matching defs:pktgen_dev
263 struct pktgen_dev { struct
267 struct proc_dir_entry *entry; /* proc file */
268 struct pktgen_thread *pg_thread;/* the owner */
269 struct list_head list; /* chaining in the thread's run-queue */
270 struct rcu_head rcu; /* freed by RCU */
272 int running; /* if false, the test will stop */
277 __u32 flags;
278 int xmit_mode;
279 int min_pkt_size;
280 int max_pkt_size;
281 int pkt_overhead; /* overhead for MPLS, VLANs, IPSEC etc */
282 int nfrags;
283 int removal_mark; /* non-zero => the device is marked for
286 struct page *page;
287 u64 delay; /* nano-seconds */
289 __u64 count; /* Default No packets to send */
290 __u64 sofar; /* How many pkts we've sent so far */
291 __u64 tx_bytes; /* How many bytes we've transmitted */
292 __u64 errors; /* Errors when trying to transmit, */
296 __u32 clone_count;
297 int last_ok; /* Was last skb sent?
301 ktime_t next_tx;
302 ktime_t started_at;
303 ktime_t stopped_at;
304 u64 idle_acc; /* nano-seconds */
306 __u32 seq_num;
308 int clone_skb; /*
318 char dst_min[IP_NAME_SZ]; /* IP, ie 1.2.3.4 */
319 char dst_max[IP_NAME_SZ]; /* IP, ie 1.2.3.4 */
320 char src_min[IP_NAME_SZ]; /* IP, ie 1.2.3.4 */
321 char src_max[IP_NAME_SZ]; /* IP, ie 1.2.3.4 */
323 struct in6_addr in6_saddr;
324 struct in6_addr in6_daddr;
325 struct in6_addr cur_in6_daddr;
326 struct in6_addr cur_in6_saddr;
328 struct in6_addr min_in6_daddr;
329 struct in6_addr max_in6_daddr;
330 struct in6_addr min_in6_saddr;
331 struct in6_addr max_in6_saddr;
336 __be32 saddr_min; /* inclusive, source IP address */
337 __be32 saddr_max; /* exclusive, source IP address */
338 __be32 daddr_min; /* inclusive, dest IP address */
339 __be32 daddr_max; /* exclusive, dest IP address */
341 __u16 udp_src_min; /* inclusive, source UDP port */
342 __u16 udp_src_max; /* exclusive, source UDP port */
343 __u16 udp_dst_min; /* inclusive, dest UDP port */
344 __u16 udp_dst_max; /* exclusive, dest UDP port */
347 __u8 tos; /* six MSB of (former) IPv4 TOS
349 __u8 traffic_class; /* ditto for the (former) Traffic Class in IPv6
353 unsigned int nr_labels; /* Depth of stack, 0 = no MPLS */
354 __be32 labels[MAX_MPLS_LABELS];
357 __u8 vlan_p;
358 __u8 vlan_cfi;
359 __u16 vlan_id; /* 0xffff means no vlan tag */
361 __u8 svlan_p;
362 __u8 svlan_cfi;
363 __u16 svlan_id; /* 0xffff means no svlan tag */
365 __u32 src_mac_count; /* How many MACs to iterate through */
366 __u32 dst_mac_count; /* How many MACs to iterate through */
368 unsigned char dst_mac[ETH_ALEN];
369 unsigned char src_mac[ETH_ALEN];
371 __u32 cur_dst_mac_offset;
372 __u32 cur_src_mac_offset;
373 __be32 cur_saddr;
374 __be32 cur_daddr;
375 __u16 ip_id;
376 __u16 cur_udp_dst;
377 __u16 cur_udp_src;
378 __u16 cur_queue_map;
379 __u32 cur_pkt_size;
380 __u32 last_pkt_size;
382 __u8 hh[14];
391 __u16 pad; /* pad out the hh struct to an even 16 bytes */
393 struct sk_buff *skb; /* skb we are to transmit next, used for when we
396 struct net_device *odev; /* The out-going device.
404 char odevname[32];
405 struct flow_state *flows;
406 unsigned int cflows; /* Concurrent flows (config) */
407 unsigned int lflow; /* Flow length (config) */
408 unsigned int nflows; /* accumulated flows (stats) */
409 unsigned int curfl; /* current sequenced flow (state)*/
411 u16 queue_map_min;
412 u16 queue_map_max;
413 __u32 skb_priority; /* skb priority field */
414 unsigned int burst; /* number of duplicated packets to burst */
415 int node; /* Memory node */
418 __u8 ipsmode; /* IPSEC mode (config) */
419 __u8 ipsproto; /* IPSEC type (config) */
420 __u32 spi;
421 struct xfrm_dst xdst;
422 struct dst_ops dstops;
424 char result[512];