Print this page
11553 Want pluggable TCP congestion control algorithms
Portions contributed by: Cody Peter Mello <cody.mello@joyent.com>
Reviewed by: Dan McDonald <danmcd@joyent.com>
Reviewed by: Robert Mustacchi <robert.mustacchi@joyent.com>
Split |
Close |
Expand all |
Collapse all |
--- old/usr/src/uts/sparc/ip/Makefile
+++ new/usr/src/uts/sparc/ip/Makefile
1 1 #
2 2 # CDDL HEADER START
3 3 #
4 4 # The contents of this file are subject to the terms of the
5 5 # Common Development and Distribution License (the "License").
6 6 # You may not use this file except in compliance with the License.
7 7 #
8 8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 9 # or http://www.opensolaris.org/os/licensing.
10 10 # See the License for the specific language governing permissions
11 11 # and limitations under the License.
12 12 #
13 13 # When distributing Covered Code, include this CDDL HEADER in each
14 14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
↓ open down ↓ |
14 lines elided |
↑ open up ↑ |
15 15 # If applicable, add the following below this CDDL HEADER, with the
16 16 # fields enclosed by brackets "[]" replaced with your own identifying
17 17 # information: Portions Copyright [yyyy] [name of copyright owner]
18 18 #
19 19 # CDDL HEADER END
20 20 #
21 21 #
22 22 # Copyright 2009 Sun Microsystems, Inc. All rights reserved.
23 23 # Use is subject to license terms.
24 24 #
25 +# Copyright 2019 Joyent, Inc.
25 26 #
26 27 # This makefile drives the production of the ip driver
27 28 # kernel module.
28 29 #
29 30 # sparc architecture dependent
30 31 #
31 32 #
32 33 # Path to the base of the uts directory tree (usually /usr/src/uts).
33 34 #
34 35 UTSBASE = ../..
35 36
36 37 #
37 38 # Define the module and object file sets.
38 39 #
39 40 MODULE = ip
40 41 OBJECTS = $(IP_OBJS:%=$(OBJS_DIR)/%)
41 42 LINTS = $(IP_OBJS:%.o=$(LINTS_DIR)/%.ln)
42 43 ROOTMODULE = $(ROOT_DRV_DIR)/$(MODULE)
43 44 ROOTLINK = $(ROOT_STRMOD_DIR)/$(MODULE)
44 45 CONF_SRCDIR = $(UTSBASE)/common/inet/ip
45 46
46 47 #
47 48 # Include common rules.
48 49 #
49 50 include $(UTSBASE)/sparc/Makefile.sparc
50 51
51 52 #
52 53 # Define targets
53 54 #
54 55 ALL_TARGET = $(BINARY) $(SRC_CONFFILE)
55 56 LINT_TARGET = $(MODULE).lint
56 57 INSTALL_TARGET = $(BINARY) $(ROOTMODULE) $(ROOTLINK) $(ROOT_CONFFILE)
57 58
58 59 #
↓ open down ↓ |
24 lines elided |
↑ open up ↑ |
59 60 # lint pass one enforcement
60 61 #
61 62 CFLAGS += $(CCVERBOSE)
62 63 CFLAGS += -xinline=tcp_set_ws_value
63 64 #
64 65 # To get the BPF header files included by ipnet.h
65 66 #
66 67 INC_PATH += -I$(UTSBASE)/common/io/bpf
67 68
68 69 #
70 +# Depends on md5 and swrand (for SCTP). SCTP needs to depend on
71 +# swrand as it needs random numbers early on during boot before
72 +# kCF subsystem can load swrand.
73 +#
74 +LDFLAGS += -dy -Nmisc/md5 -Ncrypto/swrand -Nmisc/hook -Nmisc/neti
75 +
76 +#
77 +# Depends on the congestion control framework for TCP connections.
78 +# We make several different algorithms available by default.
79 +#
80 +LDFLAGS += -N misc/cc -N cc/cc_sunreno -N cc/cc_newreno -N cc/cc_cubic
81 +
82 +#
69 83 # For now, disable these lint checks; maintainers should endeavor
70 84 # to investigate and remove these for maximum lint coverage.
71 85 # Please do not carry these forward to new Makefiles.
72 86 #
73 87 LINTTAGS += -erroff=E_SUSPICIOUS_COMPARISON
74 88 LINTTAGS += -erroff=E_BAD_PTR_CAST_ALIGN
75 89 LINTTAGS += -erroff=E_SUPPRESSION_DIRECTIVE_UNUSED
76 90 LINTTAGS += -erroff=E_STATIC_UNUSED
77 91 LINTTAGS += -erroff=E_PTRDIFF_OVERFLOW
78 92 LINTTAGS += -erroff=E_ASSIGN_NARROW_CONV
79 93
80 94 CERRWARN += -_gcc=-Wno-parentheses
81 95 CERRWARN += -_gcc=-Wno-unused-label
82 96 CERRWARN += -_gcc=-Wno-unused-function
83 97 CERRWARN += -_gcc=-Wno-unused-variable
84 98 CERRWARN += -_gcc=-Wno-switch
85 99 CERRWARN += -_gcc=-Wno-uninitialized
86 100 CERRWARN += -_gcc=-Wno-type-limits
87 101
88 102 #
89 -# Depends on md5 and swrand (for SCTP). SCTP needs to depend on
90 -# swrand as it needs random numbers early on during boot before
91 -# kCF subsystem can load swrand.
92 -#
93 -LDFLAGS += -dy -Nmisc/md5 -Ncrypto/swrand -Nmisc/hook -Nmisc/neti
94 -
95 -#
96 103 # Default build targets.
97 104 #
98 105 .KEEP_STATE:
99 106
100 107 def: $(DEF_DEPS)
101 108
102 109 all: $(ALL_DEPS) $(SISCHECK_DEPS)
103 110
104 111 clean: $(CLEAN_DEPS) $(SISCLEAN_DEPS)
105 112
106 113 clobber: $(CLOBBER_DEPS) $(SISCLEAN_DEPS)
107 114
108 115 lint: $(LINT_DEPS)
109 116
110 117 modlintlib: $(MODLINTLIB_DEPS)
111 118
112 119 clean.lint: $(CLEAN_LINT_DEPS)
113 120
114 121 install: $(INSTALL_DEPS) $(SISCHECK_DEPS)
115 122
116 123 $(ROOTLINK): $(ROOT_STRMOD_DIR) $(ROOTMODULE)
117 124 -$(RM) $@; ln $(ROOTMODULE) $@
118 125
119 126 #
120 127 # Include common targets.
121 128 #
122 129 include $(UTSBASE)/sparc/Makefile.targ
123 130
124 131 #
125 132 # The ip CTF data is merged into the genunix module because these types are
126 133 # complex and heavily shared. The genunix build will execute one of the
127 134 # rules below to create an archive, ipctf.a, containing the ip objects. The
128 135 # real ip will be uniquified against genunix later in the build, and will
129 136 # emerge containing very few types.
130 137 #
131 138 $(OBJS_DIR)/ipctf.a: $(OBJECTS)
132 139 -$(RM) $@
133 140 $(AR) -r $@ $(OBJECTS)
134 141
135 142 $(OBJECTS): $(OBJS_DIR)
136 143
137 144 CLOBBERFILES += $(OBJS_DIR)/ipctf.a
138 145
139 146 ipctf.obj64: FRC
140 147 @BUILD_TYPE=OBJ64 VERSION='$(VERSION)' $(MAKE) obj64/ipctf.a
141 148
142 149 ipctf.debug64: FRC
143 150 @BUILD_TYPE=DBG64 VERSION='$(VERSION)' $(MAKE) debug64/ipctf.a
↓ open down ↓ |
38 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX