Deleted Added
full compact
ip_dn_private.h (302408) ip_dn_private.h (325730)
1/*-
2 * Copyright (c) 2010 Luigi Rizzo, Riccardo Panicucci, Universita` di Pisa
3 * All rights reserved
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 13 unchanged lines hidden (view full) ---

22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 */
26
27/*
28 * internal dummynet APIs.
29 *
1/*-
2 * Copyright (c) 2010 Luigi Rizzo, Riccardo Panicucci, Universita` di Pisa
3 * All rights reserved
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 13 unchanged lines hidden (view full) ---

22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 */
26
27/*
28 * internal dummynet APIs.
29 *
30 * $FreeBSD: stable/11/sys/netpfil/ipfw/ip_dn_private.h 300779 2016-05-26 21:40:13Z truckman $
30 * $FreeBSD: stable/11/sys/netpfil/ipfw/ip_dn_private.h 325730 2017-11-12 01:26:43Z truckman $
31 */
32
33#ifndef _IP_DN_PRIVATE_H
34#define _IP_DN_PRIVATE_H
35
36/* debugging support
37 * use ND() to remove debugging, D() to print a line,
38 * DX(level, ...) to print above a certain level

--- 323 unchanged lines hidden (view full) ---

362 DN_DETACH = 0x0010,
363 DN_ACTIVE = 0x0020, /* object is in evheap */
364 DN_F_DLINE = 0x0040, /* object is a delay line */
365 DN_DEL_SAFE = 0x0080, /* delete a queue only if no longer needed
366 * by scheduler */
367 DN_QHT_IS_Q = 0x0100, /* in flowset, qht is a single queue */
368};
369
31 */
32
33#ifndef _IP_DN_PRIVATE_H
34#define _IP_DN_PRIVATE_H
35
36/* debugging support
37 * use ND() to remove debugging, D() to print a line,
38 * DX(level, ...) to print above a certain level

--- 323 unchanged lines hidden (view full) ---

362 DN_DETACH = 0x0010,
363 DN_ACTIVE = 0x0020, /* object is in evheap */
364 DN_F_DLINE = 0x0040, /* object is a delay line */
365 DN_DEL_SAFE = 0x0080, /* delete a queue only if no longer needed
366 * by scheduler */
367 DN_QHT_IS_Q = 0x0100, /* in flowset, qht is a single queue */
368};
369
370/*
371 * Packets processed by dummynet have an mbuf tag associated with
372 * them that carries their dummynet state.
373 * Outside dummynet, only the 'rule' field is relevant, and it must
374 * be at the beginning of the structure.
375 */
376struct dn_pkt_tag {
377 struct ipfw_rule_ref rule; /* matching rule */
378
379 /* second part, dummynet specific */
380 int dn_dir; /* action when packet comes out.*/
381 /* see ip_fw_private.h */
382 uint64_t output_time; /* when the pkt is due for delivery*/
383 struct ifnet *ifp; /* interface, for ip_output */
384 struct _ip6dn_args ip6opt; /* XXX ipv6 options */
385 uint16_t iphdr_off; /* IP header offset for mtodo() */
386};
387
370extern struct dn_parms dn_cfg;
371//VNET_DECLARE(struct dn_parms, _base_dn_cfg);
372//#define dn_cfg VNET(_base_dn_cfg)
373
374int dummynet_io(struct mbuf **, int , struct ip_fw_args *);
375void dummynet_task(void *context, int pending);
376void dn_reschedule(void);
388extern struct dn_parms dn_cfg;
389//VNET_DECLARE(struct dn_parms, _base_dn_cfg);
390//#define dn_cfg VNET(_base_dn_cfg)
391
392int dummynet_io(struct mbuf **, int , struct ip_fw_args *);
393void dummynet_task(void *context, int pending);
394void dn_reschedule(void);
395struct dn_pkt_tag * dn_tag_get(struct mbuf *m);
377
378struct dn_queue *ipdn_q_find(struct dn_fsk *, struct dn_sch_inst *,
379 struct ipfw_flow_id *);
380struct dn_sch_inst *ipdn_si_find(struct dn_schk *, struct ipfw_flow_id *);
381
382/*
383 * copy_range is a template for requests for ranges of pipes/queues/scheds.
384 * The number of ranges is variable and can be derived by o.len.

--- 79 unchanged lines hidden ---
396
397struct dn_queue *ipdn_q_find(struct dn_fsk *, struct dn_sch_inst *,
398 struct ipfw_flow_id *);
399struct dn_sch_inst *ipdn_si_find(struct dn_schk *, struct ipfw_flow_id *);
400
401/*
402 * copy_range is a template for requests for ranges of pipes/queues/scheds.
403 * The number of ranges is variable and can be derived by o.len.

--- 79 unchanged lines hidden ---