Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 76a081e5 authored by David S. Miller's avatar David S. Miller
Browse files

Merge master.kernel.org:/pub/scm/linux/kernel/git/acme/net-2.6

parents 0d6c7ae2 e41542f5
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
DCCP protocol
============

Last updated: 10 November 2005

Contents
========
@@ -42,8 +41,11 @@ Socket options
DCCP_SOCKOPT_PACKET_SIZE is used for CCID3 to set default packet size for
calculations.

DCCP_SOCKOPT_SERVICE sets the service. This is compulsory as per the
specification. If you don't set it you will get EPROTO.
DCCP_SOCKOPT_SERVICE sets the service. The specification mandates use of
service codes (RFC 4340, sec. 8.1.2); if this socket option is not set,
the socket will fall back to 0 (which means that no meaningful service code
is present). Connecting sockets set at most one service option; for
listening sockets, multiple service codes can be specified.

Notes
=====
+8 −6
Original line number Diff line number Diff line
@@ -169,6 +169,12 @@ enum {
	DCCPO_MAX_CCID_SPECIFIC = 255,
};

/* DCCP CCIDS */
enum {
	DCCPC_CCID2 = 2,
	DCCPC_CCID3 = 3,
};

/* DCCP features */
enum {
	DCCPF_RESERVED = 0,
@@ -320,7 +326,7 @@ static inline unsigned int dccp_hdr_len(const struct sk_buff *skb)
/* initial values for each feature */
#define DCCPF_INITIAL_SEQUENCE_WINDOW		100
#define DCCPF_INITIAL_ACK_RATIO			2
#define DCCPF_INITIAL_CCID			2
#define DCCPF_INITIAL_CCID			DCCPC_CCID2
#define DCCPF_INITIAL_SEND_ACK_VECTOR		1
/* FIXME: for now we're default to 1 but it should really be 0 */
#define DCCPF_INITIAL_SEND_NDP_COUNT		1
@@ -404,6 +410,7 @@ struct dccp_service_list {
};

#define DCCP_SERVICE_INVALID_VALUE htonl((__u32)-1)
#define DCCP_SERVICE_CODE_IS_ABSENT 		 0

static inline int dccp_list_has_service(const struct dccp_service_list *sl,
					const __be32 service)
@@ -484,11 +491,6 @@ static inline struct dccp_minisock *dccp_msk(const struct sock *sk)
	return (struct dccp_minisock *)&dccp_sk(sk)->dccps_minisock;
}

static inline int dccp_service_not_initialized(const struct sock *sk)
{
	return dccp_sk(sk)->dccps_service == DCCP_SERVICE_INVALID_VALUE;
}

static inline const char *dccp_role(const struct sock *sk)
{
	switch (dccp_sk(sk)->dccps_role) {
+16 −0
Original line number Diff line number Diff line
@@ -40,6 +40,22 @@ config IP_DCCP_DEBUG

	  Just say N.

config NET_DCCPPROBE
	tristate "DCCP connection probing"
	depends on PROC_FS && KPROBES
	---help---
	This module allows for capturing the changes to DCCP connection
	state in response to incoming packets. It is used for debugging
	DCCP congestion avoidance modules. If you don't understand
	what was just said, you don't need it: say N.

	Documentation on how to use the packet generator can be found
	at http://linux-net.osdl.org/index.php/DccpProbe

	To compile this code as a module, choose M here: the
	module will be called dccp_probe.


endmenu

endmenu
+2 −0
Original line number Diff line number Diff line
@@ -11,9 +11,11 @@ dccp_ipv4-y := ipv4.o
dccp-$(CONFIG_IP_DCCP_ACKVEC) += ackvec.o

obj-$(CONFIG_INET_DCCP_DIAG) += dccp_diag.o
obj-$(CONFIG_NET_DCCPPROBE) += dccp_probe.o

dccp-$(CONFIG_SYSCTL) += sysctl.o

dccp_diag-y := diag.o
dccp_probe-y := probe.o

obj-y += ccids/
+1 −1
Original line number Diff line number Diff line
@@ -808,7 +808,7 @@ static void ccid2_hc_rx_packet_recv(struct sock *sk, struct sk_buff *skb)
}

static struct ccid_operations ccid2 = {
	.ccid_id		= 2,
	.ccid_id		= DCCPC_CCID2,
	.ccid_name		= "ccid2",
	.ccid_owner		= THIS_MODULE,
	.ccid_hc_tx_obj_size	= sizeof(struct ccid2_hc_tx_sock),
Loading