summaryrefslogtreecommitdiffstats
path: root/sys/netinet/udplite.h
diff options
context:
space:
mode:
authorkevlo <kevlo@FreeBSD.org>2014-05-13 06:05:53 +0000
committerkevlo <kevlo@FreeBSD.org>2014-05-13 06:05:53 +0000
commit69da76e9e5a9758fee9f8286827143e4608bb87a (patch)
tree9eae681ae0fb7e2b696040fefa6df9b3b66c7360 /sys/netinet/udplite.h
parentab793415d02166fdd7cfea2301a03a903362e3f9 (diff)
downloadFreeBSD-src-69da76e9e5a9758fee9f8286827143e4608bb87a.zip
FreeBSD-src-69da76e9e5a9758fee9f8286827143e4608bb87a.tar.gz
MFC r264212,r264213,r264248,r265776,r265811,r265909:
- Add support for UDP-Lite protocol (RFC 3828) to IPv4 and IPv6 stacks. Tested with vlc and a test suite [1]. [1] http://www.erg.abdn.ac.uk/~gerrit/udp-lite/files/udplite_linux.tar.gz Reviewed by: jhb, glebius, adrian - Fix a logic bug which prevented the sending of UDP packet with 0 checksum. - Disable TX checksum offload for UDP-Lite completely. It wasn't used for partial checksum coverage, but even for full checksum coverage it doesn't work.
Diffstat (limited to 'sys/netinet/udplite.h')
-rw-r--r--sys/netinet/udplite.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/sys/netinet/udplite.h b/sys/netinet/udplite.h
new file mode 100644
index 0000000..0e23cd7
--- /dev/null
+++ b/sys/netinet/udplite.h
@@ -0,0 +1,38 @@
+/*-
+ * Copyright (c) 2014, Kevin Lo
+ * All rights reserved.
+ *
+ * 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.
+ * 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _NETINET_UDPLITE_H_
+#define _NETINET_UDPLITE_H_
+
+/*
+ * User-settable options (used with setsockopt).
+ */
+#define UDPLITE_SEND_CSCOV 2 /* Sender checksum coverage. */
+#define UDPLITE_RECV_CSCOV 4 /* Receiver checksum coverage. */
+
+#endif /* !_NETINET_UDPLITE_H_ */
OpenPOWER on IntegriCloud