p!ranha?
Server IP : 103.169.32.36  /  Your IP : 216.73.217.13
Web Server : Apache
System : Linux web.dpmptsp 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User : apache ( 48)
PHP Version : 5.6.40
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/modules/3.10.0-1160.119.1.el7.x86_64/build/include/net/

Upload File :
Curr3nt_D!r [ Writeable ] D0cum3nt_r0Ot [ Writeable ]

 
Command :
Current File : /usr/lib/modules/3.10.0-1160.119.1.el7.x86_64/build/include/net//codel.h
#ifndef __NET_SCHED_CODEL_H
#define __NET_SCHED_CODEL_H

/*
 * Codel - The Controlled-Delay Active Queue Management algorithm
 *
 *  Copyright (C) 2011-2012 Kathleen Nichols <nichols@pollere.com>
 *  Copyright (C) 2011-2012 Van Jacobson <van@pollere.net>
 *  Copyright (C) 2012 Michael D. Taht <dave.taht@bufferbloat.net>
 *  Copyright (C) 2012,2015 Eric Dumazet <edumazet@google.com>
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions, and the following disclaimer,
 *    without modification.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. The names of the authors may not be used to endorse or promote products
 *    derived from this software without specific prior written permission.
 *
 * Alternatively, provided that this notice is retained in full, this
 * software may be distributed under the terms of the GNU General
 * Public License ("GPL") version 2, in which case the provisions of the
 * GPL apply INSTEAD OF those given above.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 * DAMAGE.
 *
 */

#include <linux/types.h>
#include <linux/ktime.h>
#include <linux/skbuff.h>
#include <net/pkt_sched.h>
#include <net/inet_ecn.h>

/* Controlling Queue Delay (CoDel) algorithm
 * =========================================
 * Source : Kathleen Nichols and Van Jacobson
 * http://queue.acm.org/detail.cfm?id=2209336
 *
 * Implemented on linux by Dave Taht and Eric Dumazet
 */


/* CoDel uses a 1024 nsec clock, encoded in u32
 * This gives a range of 2199 seconds, because of signed compares
 */
typedef u32 codel_time_t;
typedef s32 codel_tdiff_t;
#define CODEL_SHIFT 10
#define MS2TIME(a) ((a * NSEC_PER_MSEC) >> CODEL_SHIFT)

static inline codel_time_t codel_get_time(void)
{
	u64 ns = ktime_get_ns();

	return ns >> CODEL_SHIFT;
}

/* Dealing with timer wrapping, according to RFC 1982, as desc in wikipedia:
 *  https://en.wikipedia.org/wiki/Serial_number_arithmetic#General_Solution
 * codel_time_after(a,b) returns true if the time a is after time b.
 */
#define codel_time_after(a, b)						\
	(typecheck(codel_time_t, a) &&					\
	 typecheck(codel_time_t, b) &&					\
	 ((s32)((a) - (b)) > 0))
#define codel_time_before(a, b) 	codel_time_after(b, a)

#define codel_time_after_eq(a, b)					\
	(typecheck(codel_time_t, a) &&					\
	 typecheck(codel_time_t, b) &&					\
	 ((s32)((a) - (b)) >= 0))
#define codel_time_before_eq(a, b)	codel_time_after_eq(b, a)

static inline u32 codel_time_to_us(codel_time_t val)
{
	u64 valns = ((u64)val << CODEL_SHIFT);

	do_div(valns, NSEC_PER_USEC);
	return (u32)valns;
}

/**
 * struct codel_params - contains codel parameters
 * @target:	target queue size (in time units)
 * @ce_threshold:  threshold for marking packets with ECN CE
 * @interval:	width of moving time window
 * @mtu:	device mtu, or minimal queue backlog in bytes.
 * @ecn:	is Explicit Congestion Notification enabled
 */
struct codel_params {
	codel_time_t	target;
	codel_time_t	ce_threshold;
	codel_time_t	interval;
	u32		mtu;
	bool		ecn;
};

/**
 * struct codel_vars - contains codel variables
 * @count:		how many drops we've done since the last time we
 *			entered dropping state
 * @lastcount:		count at entry to dropping state
 * @dropping:		set to true if in dropping state
 * @rec_inv_sqrt:	reciprocal value of sqrt(count) >> 1
 * @first_above_time:	when we went (or will go) continuously above target
 *			for interval
 * @drop_next:		time to drop next packet, or when we dropped last
 * @ldelay:		sojourn time of last dequeued packet
 */
struct codel_vars {
	u32		count;
	u32		lastcount;
	bool		dropping;
	u16		rec_inv_sqrt;
	codel_time_t	first_above_time;
	codel_time_t	drop_next;
	codel_time_t	ldelay;
};

#define REC_INV_SQRT_BITS (8 * sizeof(u16)) /* or sizeof_in_bits(rec_inv_sqrt) */
/* needed shift to get a Q0.32 number from rec_inv_sqrt */
#define REC_INV_SQRT_SHIFT (32 - REC_INV_SQRT_BITS)

/**
 * struct codel_stats - contains codel shared variables and stats
 * @maxpacket:	largest packet we've seen so far
 * @drop_count:	temp count of dropped packets in dequeue()
 * @drop_len:	bytes of dropped packets in dequeue()
 * ecn_mark:	number of packets we ECN marked instead of dropping
 * ce_mark:	number of packets CE marked because sojourn time was above ce_threshold
 */
struct codel_stats {
	u32		maxpacket;
	u32		drop_count;
	u32		drop_len;
	u32		ecn_mark;
	u32		ce_mark;
};

#define CODEL_DISABLED_THRESHOLD INT_MAX

typedef u32 (*codel_skb_len_t)(const struct sk_buff *skb);
typedef codel_time_t (*codel_skb_time_t)(const struct sk_buff *skb);
typedef void (*codel_skb_drop_t)(struct sk_buff *skb, void *ctx);
typedef struct sk_buff * (*codel_skb_dequeue_t)(struct codel_vars *vars,
						void *ctx);

#endif
N4m3
5!z3
L45t M0d!f!3d
0wn3r / Gr0up
P3Rm!55!0n5
0pt!0n5
..
--
September 29 2025 07:01:09
0 / 0
0755
9p
--
September 29 2025 07:01:23
0 / 0
0755
bluetooth
--
September 29 2025 07:01:24
0 / 0
0755
caif
--
September 29 2025 07:01:24
0 / 0
0755
irda
--
September 29 2025 07:01:24
0 / 0
0755
iucv
--
September 29 2025 07:01:24
0 / 0
0755
netfilter
--
September 29 2025 07:01:24
0 / 0
0755
netns
--
September 29 2025 07:01:24
0 / 0
0755
nfc
--
September 29 2025 07:01:24
0 / 0
0755
phonet
--
September 29 2025 07:01:24
0 / 0
0755
sctp
--
September 29 2025 07:01:23
0 / 0
0755
tc_act
--
September 29 2025 07:01:24
0 / 0
0755
6lowpan.h
9.63 KB
November 06 2023 09:15:52
0 / 0
0644
act_api.h
5.642 KB
November 06 2023 09:15:52
0 / 0
0644
addrconf.h
12.438 KB
November 06 2023 09:15:52
0 / 0
0644
af_ieee802154.h
1.554 KB
November 06 2023 09:15:52
0 / 0
0644
af_rxrpc.h
1.928 KB
November 06 2023 09:15:52
0 / 0
0644
af_unix.h
2.163 KB
November 06 2023 09:15:52
0 / 0
0644
af_vsock.h
7.13 KB
November 06 2023 09:15:52
0 / 0
0644
ah.h
0.425 KB
November 06 2023 09:15:52
0 / 0
0644
arp.h
2.117 KB
November 06 2023 09:15:52
0 / 0
0644
atmclip.h
1.441 KB
November 06 2023 09:15:52
0 / 0
0644
ax25.h
15.093 KB
November 06 2023 09:15:52
0 / 0
0644
ax88796.h
0.975 KB
November 06 2023 09:15:52
0 / 0
0644
bond_3ad.h
10.221 KB
November 06 2023 09:15:52
0 / 0
0644
bond_alb.h
6.598 KB
November 06 2023 09:15:52
0 / 0
0644
bond_options.h
3.916 KB
November 06 2023 09:15:52
0 / 0
0644
bonding.h
19.34 KB
November 06 2023 09:15:52
0 / 0
0644
busy_poll.h
3.229 KB
November 06 2023 09:15:52
0 / 0
0644
cfg80211-wext.h
1.953 KB
November 06 2023 09:15:52
0 / 0
0644
cfg80211.h
260.457 KB
November 06 2023 09:15:52
0 / 0
0644
cfg802154.h
10.812 KB
November 06 2023 09:15:52
0 / 0
0644
checksum.h
4.024 KB
November 06 2023 09:15:52
0 / 0
0644
cipso_ipv4.h
7.889 KB
November 06 2023 09:15:52
0 / 0
0644
cls_cgroup.h
1.562 KB
November 06 2023 09:15:52
0 / 0
0644
codel.h
5.646 KB
November 06 2023 09:15:52
0 / 0
0644
codel_impl.h
7.976 KB
November 06 2023 09:15:52
0 / 0
0644
codel_qdisc.h
2.903 KB
November 06 2023 09:15:52
0 / 0
0644
compat.h
2.079 KB
November 06 2023 09:15:52
0 / 0
0644
datalink.h
0.471 KB
November 06 2023 09:15:52
0 / 0
0644
dcbevent.h
1.263 KB
November 06 2023 09:15:52
0 / 0
0644
dcbnl.h
4.451 KB
November 06 2023 09:15:52
0 / 0
0644
devlink.h
23.734 KB
November 06 2023 09:15:52
0 / 0
0644
dn.h
6.986 KB
November 06 2023 09:15:52
0 / 0
0644
dn_dev.h
5.424 KB
November 06 2023 09:15:52
0 / 0
0644
dn_fib.h
4.033 KB
November 06 2023 09:15:52
0 / 0
0644
dn_neigh.h
0.805 KB
November 06 2023 09:15:52
0 / 0
0644
dn_nsp.h
5.966 KB
November 06 2023 09:15:52
0 / 0
0644
dn_route.h
4.283 KB
November 06 2023 09:15:52
0 / 0
0644
dsa.h
4.265 KB
November 06 2023 09:15:52
0 / 0
0644
dsfield.h
1.074 KB
November 06 2023 09:15:52
0 / 0
0644
dst.h
14.609 KB
November 06 2023 09:15:52
0 / 0
0644
dst_cache.h
2.494 KB
November 06 2023 09:15:52
0 / 0
0644
dst_metadata.h
4.887 KB
November 06 2023 09:15:52
0 / 0
0644
dst_ops.h
2.022 KB
November 06 2023 09:15:52
0 / 0
0644
esp.h
0.35 KB
November 06 2023 09:15:52
0 / 0
0644
ethoc.h
0.49 KB
November 06 2023 09:15:52
0 / 0
0644
failover.h
1.15 KB
November 06 2023 09:15:52
0 / 0
0644
fib_notifier.h
1.286 KB
November 06 2023 09:15:52
0 / 0
0644
fib_rules.h
3.646 KB
November 06 2023 09:15:52
0 / 0
0644
firewire.h
0.583 KB
November 06 2023 09:15:52
0 / 0
0644
flow.h
7.558 KB
November 06 2023 09:15:52
0 / 0
0644
flow_dissector.h
7.886 KB
November 06 2023 09:15:52
0 / 0
0644
flowcache.h
0.548 KB
November 06 2023 09:15:52
0 / 0
0644
fou.h
0.487 KB
November 06 2023 09:15:52
0 / 0
0644
fq.h
2.67 KB
November 06 2023 09:15:52
0 / 0
0644
fq_impl.h
6.898 KB
November 06 2023 09:15:52
0 / 0
0644
garp.h
2.634 KB
November 06 2023 09:15:52
0 / 0
0644
gen_stats.h
2.479 KB
November 06 2023 09:15:52
0 / 0
0644
genetlink.h
11.257 KB
November 06 2023 09:15:52
0 / 0
0644
geneve.h
1.765 KB
November 06 2023 09:15:52
0 / 0
0644
gre.h
3.229 KB
November 06 2023 09:15:52
0 / 0
0644
gro_cells.h
2.051 KB
November 06 2023 09:15:52
0 / 0
0644
gue.h
3.188 KB
November 06 2023 09:15:52
0 / 0
0644
icmp.h
1.56 KB
November 06 2023 09:15:52
0 / 0
0644
ieee80211_radiotap.h
13.038 KB
November 06 2023 09:15:52
0 / 0
0644
ieee802154.h
5.59 KB
November 06 2023 09:15:52
0 / 0
0644
ieee802154_netdev.h
9.139 KB
November 06 2023 09:15:52
0 / 0
0644
if_inet6.h
6.198 KB
November 06 2023 09:15:52
0 / 0
0644
ife.h
0.991 KB
November 06 2023 09:15:52
0 / 0
0644
inet6_connection_sock.h
1.403 KB
November 06 2023 09:15:52
0 / 0
0644
inet6_hashtables.h
2.922 KB
November 06 2023 09:15:52
0 / 0
0644
inet_common.h
1.544 KB
November 06 2023 09:15:52
0 / 0
0644
inet_connection_sock.h
11.056 KB
November 06 2023 09:15:52
0 / 0
0644
inet_ecn.h
6.059 KB
November 06 2023 09:15:52
0 / 0
0644
inet_frag.h
4.844 KB
November 06 2023 09:15:52
0 / 0
0644
inet_hashtables.h
12.311 KB
November 06 2023 09:15:52
0 / 0
0644
inet_sock.h
7.381 KB
November 06 2023 09:15:52
0 / 0
0644
inet_timewait_sock.h
6.357 KB
November 06 2023 09:15:52
0 / 0
0644
inetpeer.h
4.229 KB
November 06 2023 09:15:52
0 / 0
0644
ip.h
16.709 KB
November 06 2023 09:15:52
0 / 0
0644
ip6_checksum.h
2.905 KB
November 06 2023 09:15:52
0 / 0
0644
ip6_fib.h
8.613 KB
November 06 2023 09:15:52
0 / 0
0644
ip6_route.h
5.687 KB
November 06 2023 09:15:52
0 / 0
0644
ip6_tunnel.h
3.153 KB
November 06 2023 09:15:52
0 / 0
0644
ip_fib.h
11.092 KB
November 06 2023 09:15:52
0 / 0
0644
ip_tunnels.h
12.486 KB
November 06 2023 09:15:52
0 / 0
0644
ip_vs.h
45.54 KB
November 06 2023 09:15:52
0 / 0
0644
ipcomp.h
0.605 KB
November 06 2023 09:15:52
0 / 0
0644
ipconfig.h
0.754 KB
November 06 2023 09:15:52
0 / 0
0644
ipv6.h
26.433 KB
November 06 2023 09:15:52
0 / 0
0644
ipx.h
3.716 KB
November 06 2023 09:15:52
0 / 0
0644
iw_handler.h
20.872 KB
November 06 2023 09:15:52
0 / 0
0644
lapb.h
4.869 KB
November 06 2023 09:15:52
0 / 0
0644
lib80211.h
4.172 KB
November 06 2023 09:15:52
0 / 0
0644
llc.h
4.432 KB
November 06 2023 09:15:52
0 / 0
0644
llc_c_ac.h
10.092 KB
November 06 2023 09:15:52
0 / 0
0644
llc_c_ev.h
11.579 KB
November 06 2023 09:15:52
0 / 0
0644
llc_c_st.h
1.709 KB
November 06 2023 09:15:52
0 / 0
0644
llc_conn.h
4.117 KB
November 06 2023 09:15:52
0 / 0
0644
llc_if.h
3.034 KB
November 06 2023 09:15:52
0 / 0
0644
llc_pdu.h
14.189 KB
November 06 2023 09:15:52
0 / 0
0644
llc_s_ac.h
1.631 KB
November 06 2023 09:15:52
0 / 0
0644
llc_s_ev.h
2.281 KB
November 06 2023 09:15:52
0 / 0
0644
llc_s_st.h
0.919 KB
November 06 2023 09:15:52
0 / 0
0644
llc_sap.h
1.175 KB
November 06 2023 09:15:52
0 / 0
0644
lwtunnel.h
4.005 KB
November 06 2023 09:15:52
0 / 0
0644
mac80211.h
248.911 KB
November 06 2023 09:15:52
0 / 0
0644
mac802154.h
15.267 KB
November 06 2023 09:15:52
0 / 0
0644
mip6.h
1.579 KB
November 06 2023 09:15:52
0 / 0
0644
mld.h
2.765 KB
November 06 2023 09:15:52
0 / 0
0644
mpls.h
0.91 KB
November 06 2023 09:15:52
0 / 0
0644
mrp.h
3.011 KB
November 06 2023 09:15:52
0 / 0
0644
ndisc.h
14.677 KB
November 06 2023 09:15:52
0 / 0
0644
neighbour.h
12.923 KB
November 06 2023 09:15:52
0 / 0
0644
net_failover.h
0.999 KB
November 06 2023 09:15:52
0 / 0
0644
net_namespace.h
11.888 KB
November 06 2023 09:15:52
0 / 0
0644
net_ratelimit.h
0.177 KB
November 06 2023 09:15:52
0 / 0
0644
netevent.h
0.852 KB
November 06 2023 09:15:52
0 / 0
0644
netlabel.h
17.24 KB
November 06 2023 09:15:52
0 / 0
0644
netlink.h
39.599 KB
November 06 2023 09:15:52
0 / 0
0644
netprio_cgroup.h
1.484 KB
November 06 2023 09:15:52
0 / 0
0644
netrom.h
7.916 KB
November 06 2023 09:15:52
0 / 0
0644
nexthop.h
0.802 KB
November 06 2023 09:15:52
0 / 0
0644
nl802154.h
12.095 KB
November 06 2023 09:15:52
0 / 0
0644
p8022.h
0.431 KB
November 06 2023 09:15:52
0 / 0
0644
page_pool.h
4.392 KB
November 06 2023 09:15:52
0 / 0
0644
ping.h
1.386 KB
November 06 2023 09:15:52
0 / 0
0644
pkt_cls.h
19.325 KB
November 06 2023 09:15:52
0 / 0
0644
pkt_sched.h
4.008 KB
November 06 2023 09:15:52
0 / 0
0644
pptp.h
0.948 KB
November 06 2023 09:15:52
0 / 0
0644
protocol.h
3.932 KB
November 06 2023 09:15:52
0 / 0
0644
psample.h
0.785 KB
November 06 2023 09:15:52
0 / 0
0644
psnap.h
0.318 KB
November 06 2023 09:15:52
0 / 0
0644
raw.h
1.864 KB
November 06 2023 09:15:52
0 / 0
0644
rawv6.h
0.546 KB
November 06 2023 09:15:52
0 / 0
0644
red.h
10.247 KB
November 06 2023 09:15:52
0 / 0
0644
regulatory.h
10.886 KB
November 06 2023 09:15:52
0 / 0
0644
request_sock.h
7.634 KB
November 06 2023 09:15:52
0 / 0
0644
rose.h
7.941 KB
November 06 2023 09:15:52
0 / 0
0644
route.h
9.364 KB
November 06 2023 09:15:52
0 / 0
0644
rtnetlink.h
6.603 KB
November 06 2023 09:15:52
0 / 0
0644
sch_generic.h
24.541 KB
November 06 2023 09:15:52
0 / 0
0644
sch_generic_kabi.h
4.322 KB
November 06 2023 09:15:52
0 / 0
0644
scm.h
3.479 KB
November 06 2023 09:15:52
0 / 0
0644
secure_seq.h
1.037 KB
November 06 2023 09:15:52
0 / 0
0644
slhc_vj.h
6.627 KB
November 06 2023 09:15:52
0 / 0
0644
snmp.h
5.956 KB
November 06 2023 09:15:52
0 / 0
0644
sock.h
67.533 KB
November 06 2023 09:15:52
0 / 0
0644
sock_reuseport.h
0.542 KB
November 06 2023 09:15:52
0 / 0
0644
stp.h
0.35 KB
November 06 2023 09:15:52
0 / 0
0644
switchdev.h
9.045 KB
November 06 2023 09:15:52
0 / 0
0644
tcp.h
52.118 KB
November 06 2023 09:15:52
0 / 0
0644
tcp_memcontrol.h
0.597 KB
November 06 2023 09:15:52
0 / 0
0644
tcp_states.h
1.213 KB
November 06 2023 09:15:52
0 / 0
0644
timewait_sock.h
1.199 KB
November 06 2023 09:15:52
0 / 0
0644
transp_v6.h
1.757 KB
November 06 2023 09:15:52
0 / 0
0644
tso.h
0.436 KB
November 06 2023 09:15:52
0 / 0
0644
tun_proto.h
0.965 KB
November 06 2023 09:15:52
0 / 0
0644
udp.h
10.956 KB
November 06 2023 09:15:52
0 / 0
0644
udp_tunnel.h
5.218 KB
November 06 2023 09:15:52
0 / 0
0644
udplite.h
3.808 KB
November 06 2023 09:15:52
0 / 0
0644
vsock_addr.h
1.048 KB
November 06 2023 09:15:52
0 / 0
0644
vxlan.h
11.302 KB
November 06 2023 09:15:52
0 / 0
0644
wext.h
1.474 KB
November 06 2023 09:15:52
0 / 0
0644
wimax.h
20.084 KB
November 06 2023 09:15:52
0 / 0
0644
wpan-phy.h
2.554 KB
November 06 2023 09:15:52
0 / 0
0644
x25.h
9.737 KB
November 06 2023 09:15:52
0 / 0
0644
x25device.h
0.34 KB
November 06 2023 09:15:52
0 / 0
0644
xdp.h
3.445 KB
November 06 2023 09:15:52
0 / 0
0644
xdp_sock.h
4.891 KB
November 06 2023 09:15:52
0 / 0
0644
xfrm.h
49.833 KB
November 06 2023 09:15:52
0 / 0
0644