2119411bb2e4e921dc26dfbecdfc89b6fec86894
[bcm963xx.git] / hostTools / scripts / gendefconfig
1 #!/bin/bash
2
3 #****************************************************************************
4 #
5 # <:copyright-gpl
6 # Copyright 2004 Broadcom Corp. All Rights Reserved.
7 # This program is free software; you can distribute it and/or modify it
8 # under the terms of the GNU General Public License (Version 2) as
9 # published by the Free Software Foundation.
10 # This program is distributed in the hope it will be useful, but WITHOUT
11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 # for more details.
14 # You should have received a copy of the GNU General Public License along
15 # with this program; if not, write to the Free Software Foundation, Inc.,
16 # 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
17 # :>
18 #
19 #****************************************************************************
20
21 driver_setup ()
22 {
23
24   BRCM_DRIVER_NAME=BRCM_DRIVER_$1
25   eval BRCM_DRIVER_VAL=\$$BRCM_DRIVER_NAME
26   LINUX_CONFIG_NAME=CONFIG_BCM_"$2"
27   LINUX_IMPL_NAME=CONFIG_BCM9"$BRCM_CHIP"_"$2"_IMPL
28
29   if [ "$BRCM_DRIVER_VAL" != "" ]; then
30      SEDCMD="$SEDCMD -e 's/# $LINUX_CONFIG_NAME is not set/$LINUX_CONFIG_NAME="$BRCM_DRIVER_VAL"/'"
31   fi
32   SEDCMD="$SEDCMD -e 's/# "$LINUX_IMPL_NAME"/"$LINUX_CONFIG_NAME"_IMPL/'"
33 }
34
35
36 netfilter_setup ()
37 {
38
39   SEDCMD="$SEDCMD -e 's/# CONFIG_IP_NF_"$1" is not set/CONFIG_IP_NF_"$1"="$2"/'"
40
41 }
42
43 general_setup ()
44 {
45
46   SEDCMD="$SEDCMD -e 's/# "$1" is not set/"$1"="$2"/'"
47
48 }
49
50 TEMPLATE=$HOSTTOOLS_DIR/scripts/defconfig-bcm.template
51 #TEMPLATE=defconfig-bcm.template
52
53 . $1
54
55 ############################################################
56 #       Driver config generation
57 ############################################################
58
59 SEDCMD="$SEDCMD -e 's/# CONFIG_BCM9"$BRCM_CHIP" is not set/CONFIG_BCM9"$BRCM_CHIP"=y/'"
60 SEDCMD="$SEDCMD -e 's/# CONFIG_BCM_BOARD is not set/CONFIG_BCM_BOARD=y/'"
61 SEDCMD="$SEDCMD -e 's/# CONFIG_BCM9"$BRCM_CHIP"_BOARD_IMPL/CONFIG_BCM_BOARD_IMPL/'"
62
63 driver_setup "ATM" "ATMAPI"
64
65 driver_setup "ATM" "BLAA"
66
67 # 63xx Chip ATM Diagnostic
68 if [ "$BUILD_DIAGAPP" != "" ]; then
69    general_setup CONFIG_BCM_ATMTEST $BRCM_DRIVER_ATM
70 fi
71 SEDCMD="$SEDCMD -e 's/# CONFIG_BCM9"$BRCM_CHIP"_ATMTEST_IMPL/CONFIG_BCM_ATMTEST_IMPL/'"
72
73 driver_setup "ADSL" "ADSL"
74
75 driver_setup "ETHERNET" "ENET"
76
77 driver_setup "USB" "USB"
78
79 driver_setup "WIRELESS" "WLAN"
80 if [ "$BRCM_DRIVER_WIRELESS" != "" ]; then
81    SEDCMD="$SEDCMD -e 's/# CONFIG_NET_RADIO is not set/CONFIG_NET_RADIO=y/'"
82    SEDCMD="$SEDCMD -e 's/# CONFIG_HOTPLUG is not set/CONFIG_HOTPLUG=y/'"
83    SEDCMD="$SEDCMD -e 's/# CONFIG_SYSFS is not set/CONFIG_SYSFS=y/'"   
84 if [ "$BRCM_CHIP" = "6348" -o "$BRCM_CHIP" = "6358" ]; then
85    SEDCMD="$SEDCMD -e 's/# CONFIG_PCI is not set/CONFIG_PCI=y/'"
86 fi
87 if [ "$BUILD_MIMO" != "" ]; then
88    SEDCMD="$SEDCMD -e 's/# CONFIG_BCM_MIMO is not set/CONFIG_BCM_MIMO=y/'"
89 fi
90 fi
91
92 if [ "$BRCM_CHIP" = "6348" -o "$BRCM_CHIP" = "6358" ]; then
93 driver_setup "PCI" "PCI"
94 if [ "$BRCM_DRIVER_PCI" != "" ]; then
95    SEDCMD="$SEDCMD -e 's/# CONFIG_PCI is not set/CONFIG_PCI=y/'"
96 fi
97 fi
98
99 if [ "$LINUX_DRIVER_USB_HOST" != "" ]; then
100    SEDCMD="$SEDCMD -e 's/# CONFIG_USB is not set/CONFIG_USB=y/'"
101    SEDCMD="$SEDCMD -e 's/# CONFIG_USB_OHCI_HCD is not set/CONFIG_USB_OHCI_HCD=y/'"
102 if [ "$BRCM_CHIP" != "6348" ]; then
103    SEDCMD="$SEDCMD -e 's/# CONFIG_USB_EHCI_HCD is not set/CONFIG_USB_EHCI_HCD=y/'"
104 fi
105    SEDCMD="$SEDCMD -e 's/# CONFIG_PCI is not set/CONFIG_PCI=y/'"
106    SEDCMD="$SEDCMD -e 's/# CONFIG_USB_PRINTER is not set/CONFIG_USB_PRINTER=y/'"
107 if [ "$LINUX_DRIVER_CDCETHER" != "" ]; then
108    SEDCMD="$SEDCMD -e 's/# CONFIG_USB_USBNET is not set/CONFIG_USB_USBNET=y/'"
109    SEDCMD="$SEDCMD -e 's/# CONFIG_USB_CDCETHER is not set/CONFIG_USB_CDCETHER=y/'"
110 fi
111 fi
112
113 if [ "$BUILD_VDSL" != "" ]; then
114    SEDCMD="$SEDCMD -e 's/# CONFIG_BCM_VDSL is not set/CONFIG_BCM_VDSL=y/'"
115 fi
116
117 driver_setup "PHONE" "ENDPOINT"
118
119 driver_setup "BCMPROF" "BCMPROF"
120
121 driver_setup "HPNA" "HPNA"
122
123 driver_setup "SECURITY" "SECURITY"
124
125 driver_setup "PROCFS" "PROCFS"
126
127 driver_setup "SERIAL" "SERIAL"
128
129 # CFI Not needed anymore and all flash sectores used for rootfs are treated as ROM
130 # CFI only used by JFFS2
131 if [ "$BRCM_KERNEL_ROOTFS" = "squashfs" -o "$BRCM_KERNEL_ROOTFS" = "cramfs" ]; then
132  
133  SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_BLOCK_RO is not set/CONFIG_MTD_BLOCK_RO=y/'"
134  SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_BCM963XX is not set/CONFIG_MTD_BCM963XX=y/'"
135  SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_ROM is not set/CONFIG_MTD_ROM=y/'"
136  SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_COMPLEX_MAPPINGS is not set/CONFIG_MTD_COMPLEX_MAPPINGS=y/'"
137
138 elif [ "$BRCM_KERNEL_ROOTFS" = "jffs2" ]; then
139
140  SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_BLOCK is not set/CONFIG_MTD_BLOCK=y/'"
141  SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_PARTITIONS is not set/CONFIG_MTD_PARTITIONS=y/'"
142  SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_CFI is not set/CONFIG_MTD_CFI=y/'"
143  SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_JEDECPROBE is not set/CONFIG_MTD_JEDECPROBE=y/'"
144  SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_GEN_PROBE is not set/CONFIG_MTD_GEN_PROBE=y/'"
145  SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_CFI_ADV_OPTIONS is not set/CONFIG_MTD_CFI_ADV_OPTIONS=y/'"
146  SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_CFI_NOSWAP is not set/CONFIG_MTD_CFI_NOSWAP=y/'"
147  SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_CFI_B1 is not set/CONFIG_MTD_CFI_B1=y/'"
148  SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_CFI_B2 is not set/CONFIG_MTD_CFI_B2=y/'"
149  SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_CFI_I2 is not set/CONFIG_MTD_CFI_I1=y/'"
150  SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_CFI_I2 is not set/CONFIG_MTD_CFI_I2=y/'"
151  SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_CFI_AMDSTD is not set/CONFIG_MTD_CFI_AMDSTD=y/'"
152 # Change Mbytes to bytes in Hex
153  SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_PHYSMAP is not set/CONFIG_MTD_PHYSMAP=y/'"
154  SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_PHYSMAP_START is not set/CONFIG_MTD_PHYSMAP_START=BFC00000/'"
155  BRCM_FLASH_SIZE=$(($BRCM_FLASH_SIZE*100000))
156  SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_PHYSMAP_LEN is not set/CONFIG_MTD_PHYSMAP_LEN="$BRCM_FLASH_SIZE"/'"
157  SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_PHYSMAP_BUSWIDTH is not set/CONFIG_MTD_PHYSMAP_BUSWIDTH=2/'"
158  SEDCMD="$SEDCMD -e 's/# CONFIG_MTD_COMPLEX_MAPPINGS is not set/CONFIG_MTD_COMPLEX_MAPPINGS=y/'"
159 fi
160
161
162 ############################################################
163 #       Root file system config generation
164 ############################################################
165 if [ "$BRCM_KERNEL_ROOTFS" = "nfs" ]; then
166   SEDCMD="$SEDCMD -e 's/CONFIG_BCM_ENET=m/CONFIG_BCM_ENET=y/'"
167   SEDCMD="$SEDCMD -e 's?# CONFIG_ROOT_NFS_DIR is not set?CONFIG_ROOT_NFS_DIR=\"$PROFILE_DIR/fs\"?'"
168   SEDCMD="$SEDCMD -e 's/# CONFIG_ROOTFS_NFS is not set/CONFIG_ROOTFS_NFS=y/'"
169   SEDCMD="$SEDCMD -e 's/# CONFIG_NFS_FS is not set/CONFIG_NFS_FS=y/'"
170   SEDCMD="$SEDCMD -e 's/# CONFIG_ROOT_NFS is not set/CONFIG_ROOT_NFS=y/'"
171   SEDCMD="$SEDCMD -e 's/# CONFIG_IP_PNP is not set/CONFIG_IP_PNP=y/'"
172   SEDCMD="$SEDCMD -e 's/# CONFIG_SUNRPC is not set/CONFIG_SUNRPC=y/'"
173   SEDCMD="$SEDCMD -e 's/# CONFIG_LOCKD is not set/CONFIG_LOCKD=y/'"
174 elif [ "$BRCM_KERNEL_ROOTFS" = "jffs2" ]; then
175   SEDCMD="$SEDCMD -e 's/# CONFIG_ROOTFS_JFFS2 is not set/CONFIG_ROOTFS_JFFS2=y/'"
176   #ROOTDEV="root=/dev/mtdblock2 ro"
177   ROOTDEV="root=31:2 ro noinitrd"
178   SEDCMD="$SEDCMD -e 's?# CONFIG_ROOT_FLASHFS is not set?CONFIG_ROOT_FLASHFS=\"$ROOTDEV\"?'"
179   SEDCMD="$SEDCMD -e 's/# CONFIG_JFFS2_FS is not set/CONFIG_JFFS2_FS=y/'"
180   SEDCMD="$SEDCMD -e 's/# CONFIG_JFFS2_FS_DEBUG/CONFIG_JFFS2_FS_DEBUG/'"
181 else
182   if [ "$BRCM_KERNEL_ROOTFS" = "squashfs" ]; then
183      SEDCMD="$SEDCMD -e 's/# CONFIG_ROOTFS_SQUASHFS is not set/CONFIG_ROOTFS_SQUASHFS=y/'"
184      SEDCMD="$SEDCMD -e 's/# CONFIG_SQUASHFS is not set/CONFIG_SQUASHFS=y/'"
185      #SEDCMD="$SEDCMD -e 's/# CONFIG_ZLIB_FS_INFLATE is not set/CONFIG_ZLIB_FS_INFLATE=y/'"
186      SEDCMD="$SEDCMD -e 's/# CONFIG_LZMA_FS_INFLATE is not set/CONFIG_LZMA_FS_INFLATE=y/'"
187   fi
188   if [ "$BRCM_KERNEL_ROOTFS" = "cramfs" ]; then
189      SEDCMD="$SEDCMD -e 's/# CONFIG_ROOTFS_CRAMFS is not set/CONFIG_ROOTFS_CRAMFS=y/'"
190      SEDCMD="$SEDCMD -e 's/# CONFIG_CRAMFS is not set/CONFIG_CRAMFS=y/'"
191      SEDCMD="$SEDCMD -e 's/# CONFIG_LZMA_FS_INFLATE is not set/CONFIG_LZMA_FS_INFLATE=y/'"
192   fi  
193
194   #ROOTDEV="root=/dev/mtdblock0 ro noinitrd"
195   ROOTDEV="root=31:0 ro noinitrd"
196   SEDCMD="$SEDCMD -e 's?# CONFIG_ROOT_FLASHFS is not set?CONFIG_ROOT_FLASHFS=\"$ROOTDEV\"?'"
197 fi
198
199
200 ############################################################
201 #       Kernel Debug config generation
202 ############################################################
203
204 if [ "$BRCM_KERNEL_DEBUG" = "y" ]; then
205 SEDCMD="$SEDCMD -e 's/# CONFIG_REMOTE_DEBUG is not set/CONFIG_REMOTE_DEBUG=y/'"
206 SEDCMD="$SEDCMD -e 's/# CONFIG_GDB_CONSOLE is not set/CONFIG_GDB_CONSOLE=y/'"
207 SEDCMD="$SEDCMD -e 's/# CONFIG_KALLSYMS is not set/CONFIG_KALLSYMS=y/'"
208 SEDCMD="$SEDCMD -e 's/# CONFIG_KALLSYMS_EXTRA_PASS is not set/CONFIG_KALLSYMS_EXTRA_PASS=y/'"
209 fi
210
211
212 ############################################################
213 #       Kernel preemption
214 ############################################################
215
216 if [ "$BRCM_KERNEL_PREEMPT" = "y" ]; then
217 SEDCMD="$SEDCMD -e 's/# CONFIG_PREEMPT is not set/CONFIG_PREEMPT=y/'"
218 fi
219
220
221 ############################################################
222 #       Netfilter config generation
223 ############################################################
224 NETFILTER_MODULES="CONNTRACK FTP TFTP TALK H323 SIP IRC PPTP IPSEC DTX8 WM PT IPTABLES \
225                   MATCH_STATE MATCH_LIMIT MATCH_MARK RTSP \
226                   FILTER MANGLE NAT NAT_NEEDED NAT_TALK NAT_H323 NAT_SIP NAT_SNMP_BASIC NAT_IRC NAT_FTP NAT_TFTP \
227                   TARGET_MASQUERADE TARGET_REDIRECT TARGET_LOG TARGET_TCPMSS TARGET_FTOS TARGET_MARK"
228
229 NF_FIREWALL_MODULES="IPTABLES MATCH_STATE MATCH_LIMIT FILTER TARGET_TCPMSS" 
230
231 NF_MANGLE_MODULES="MANGLE MATCH_MARK TARGET_FTOS TARGET_MARK"
232
233 NF_NAT_MODULES="IPTABLES CONNTRACK NAT NAT_NEEDED TARGET_MASQUERADE TARGET_REDIRECT"
234
235 NF_PPPREMOTE_MODULES="IPTABLES CONNTRACK NAT NAT_NEEDED FILTER TARGET_TCPMSS MATCH_LIMIT" 
236
237 ALGS="FTP TFTP TALK H323 SIP IRC PPTP IPSEC SNMP DTX8 WM PT RTSP"
238 FTP_ALG_MODULES="FTP NAT_FTP"
239 TFTP_ALG_MODULES="TFTP NAT_TFTP"
240 H323_ALG_MODULES="H323 NAT_H323"
241 SIP_ALG_MODULES="SIP NAT_SIP"
242 IRC_ALG_MODULES="IRC NAT_IRC"
243 DTX8_ALG_MODULES="DTX8"
244 WM_ALG_MODULES="WM"
245 PT_ALG_MODULES="PT"
246 PPTP_ALG_MODULES="PPTP"
247 IPSEC_ALG_MODULES="IPSEC"
248 RTSP_ALG_MODULES="RTSP"
249 SNMP_ALG_MODULES="NAT_SNMP_BASIC"
250 TALK_ALG_MODULES="TALK NAT_TALK"
251
252
253 NF_LOG_MODULES="TARGET_LOG"
254
255
256 if [ "$BRCM_KERNEL_NETFILTER" != "" ]; then
257 #   for mod in $NETFILTER_MODULES; do
258 #      netfilter_setup $mod $BRCM_KERNEL_NETFILTER
259 #   done
260    # set up firewall related modules
261    if [ "$BRCM_KERNEL_NF_FIREWALL" != "" ]; then
262       for mod in $NF_FIREWALL_MODULES; do
263           netfilter_setup $mod $BRCM_KERNEL_NF_FIREWALL
264       done
265    fi
266
267    # set up packet mangling related modules
268    if [ "$BRCM_KERNEL_NF_MANGLE" != "" ]; then
269       for mod in $NF_MANGLE_MODULES; do
270           netfilter_setup $mod $BRCM_KERNEL_NF_MANGLE
271       done
272    fi
273
274    # set up NAT related modules
275    if [ "$BRCM_KERNEL_NF_NAT" != "" ]; then
276       # set up required NAT modules
277       for mod in $NF_NAT_MODULES; do
278           netfilter_setup $mod $BRCM_KERNEL_NF_NAT
279       done
280       #set up ALGs
281       for alg in $ALGS; do
282         ALG_NAME=BRCM_KERNEL_NF_NAT_ALG_"$alg"
283         ALG_MODULE_NAME="$alg"_ALG_MODULES
284         eval ALG_VAL=\$$ALG_NAME
285         eval ALG_MODULE_VAL=\$$ALG_MODULE_NAME
286         if [ "$ALG_VAL" != "" ]; then
287           for mod in $ALG_MODULE_VAL; do
288               netfilter_setup $mod $ALG_VAL
289           done
290         fi
291       done
292    fi
293
294    # set up logging module
295    if [ "$BRCM_KERNEL_NF_LOG" != "" ]; then
296       for mod in $NF_LOG_MODULES; do
297           netfilter_setup $mod $BRCM_KERNEL_NF_LOG
298       done
299    fi
300
301    # set up special remote access support modules in PPP IP extension mode
302    if [ "$BRCM_KERNEL_NF_PPPREMOTE" != "" ]; then
303       for mod in $NF_PPPREMOTE_MODULES; do
304           netfilter_setup $mod $BRCM_KERNEL_NF_PPPREMOTE
305       done
306    fi
307
308 fi
309
310 ############################################################
311 #       Cryptographic config generation
312 ############################################################
313 if [ "$BRCM_KERNEL_CRYPTO" != "" ]; then
314
315    # set up networking options
316    SEDCMD="$SEDCMD -e 's/# CONFIG_NET_KEY is not set/CONFIG_NET_KEY=y/'"
317    SEDCMD="$SEDCMD -e 's/# CONFIG_INET_AH is not set/CONFIG_INET_AH=y/'"
318    SEDCMD="$SEDCMD -e 's/# CONFIG_INET_ESP is not set/CONFIG_INET_ESP=y/'"
319    SEDCMD="$SEDCMD -e 's/# CONFIG_XFRM_USER is not set/CONFIG_XFRM_USER=y/'"
320    
321    # set up cryptographic options
322    SEDCMD="$SEDCMD -e 's/# CONFIG_CRYPTO is not set/CONFIG_CRYPTO=y/'"
323    if [ "$BRCM_KERNEL_CRYPTO_HMAC" != "" ]; then
324           SEDCMD="$SEDCMD -e 's/# CONFIG_CRYPTO_HMAC is not set/CONFIG_CRYPTO_HMAC=y/'"
325    fi
326    if [ "$BRCM_KERNEL_CRYPTO_NULL" != "" ]; then
327           SEDCMD="$SEDCMD -e 's/# CONFIG_CRYPTO_NULL is not set/CONFIG_CRYPTO_NULL=y/'"
328    fi
329    if [ "$BRCM_KERNEL_CRYPTO_MD5" != "" ]; then
330           SEDCMD="$SEDCMD -e 's/# CONFIG_CRYPTO_MD5 is not set/CONFIG_CRYPTO_MD5=y/'"
331    fi
332    if [ "$BRCM_KERNEL_CRYPTO_SHA1" != "" ]; then
333           SEDCMD="$SEDCMD -e 's/# CONFIG_CRYPTO_SHA1 is not set/CONFIG_CRYPTO_SHA1=y/'"
334    fi
335    if [ "$BRCM_KERNEL_CRYPTO_DES" != "" ]; then
336           SEDCMD="$SEDCMD -e 's/# CONFIG_CRYPTO_DES is not set/CONFIG_CRYPTO_DES=y/'"
337    fi
338    if [ "$BRCM_KERNEL_CRYPTO_AES" != "" ]; then
339           SEDCMD="$SEDCMD -e 's/# CONFIG_CRYPTO_AES is not set/CONFIG_CRYPTO_AES=y/'"
340    fi
341 fi
342
343 ############################################################
344 #       Bridge Layer filter config generation
345 ############################################################
346 if [ "$BUILD_EBTABLES" != "" ]; then
347 SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_NF_EBTABLES is not set/CONFIG_BRIDGE_NF_EBTABLES=y/'"
348 SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_EBT_T_FILTER is not set/CONFIG_BRIDGE_EBT_T_FILTER=y/'"
349 SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_EBT_BROUTE is not set/CONFIG_BRIDGE_EBT_BROUTE=y/'"
350 SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_EBT_IP is not set/CONFIG_BRIDGE_EBT_IP=y/'"
351 SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_EBT_VLAN is not set/CONFIG_BRIDGE_EBT_VLAN=y/'"
352 SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_EBT_TIME is not set/CONFIG_BRIDGE_EBT_TIME=y/'"
353 SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_EBT_MARK_T is not set/CONFIG_BRIDGE_EBT_MARK_T=y/'"
354 SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_EBT_FTOS_T is not set/CONFIG_BRIDGE_EBT_FTOS_T=y/'"
355
356 if [ "$BRCM_DRIVER_WIRELESS" != "" ]; then
357 SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_EBT_T_NAT is not set/CONFIG_BRIDGE_EBT_T_NAT=y/'"
358 SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_EBT_WMM_MARK is not set/CONFIG_BRIDGE_EBT_WMM_MARK=y/'"
359 fi
360
361 fi
362
363 ############################################################
364 #       IGMP PROXY filter config generation
365 ############################################################
366 if [ "$BUILD_IGMP" != "" ]; then
367 SEDCMD="$SEDCMD -e 's/# CONFIG_IP_MROUTE is not set/CONFIG_IP_MROUTE=y/'"
368 SEDCMD="$SEDCMD -e 's/# CONFIG_IP_MULTICAST is not set/CONFIG_IP_MULTICAST=y/'"
369 fi
370
371 ############################################################
372 #       Network QoS config generation
373 ############################################################
374 if [ "$BRCM_KERNEL_NETQOS" != "" -o "$BRCM_KERNEL_DN_IPQOS" != "" ]; then
375    AS_CONFIG_NET_SCHD="y"
376    SEDCMD="$SEDCMD -e 's/# CONFIG_NET_SCHED is not set/CONFIG_NET_SCHED=y/'"
377    SEDCMD="$SEDCMD -e 's/# CONFIG_NET_QOS is not set/CONFIG_NET_QOS=y/'"
378    SEDCMD="$SEDCMD -e 's/# CONFIG_NET_SCH_CLK_JIFFIES is not set/CONFIG_NET_SCH_CLK_JIFFIES=y/'"
379    SEDCMD="$SEDCMD -e 's/# CONFIG_NET_CLS is not set/CONFIG_NET_CLS=y/'"
380    SEDCMD="$SEDCMD -e 's/# CONFIG_NET_CLS_POLICE is not set/CONFIG_NET_CLS_POLICE=y/'"
381    #general_setup CONFIG_NET_SCH_CBQ  $AS_CONFIG_NET_SCHD
382    general_setup CONFIG_NET_SCH_HTB  $AS_CONFIG_NET_SCHD
383    #general_setup CONFIG_NET_SCH_HFSC $AS_CONFIG_NET_SCHD
384    general_setup CONFIG_NET_SCH_PRIO $AS_CONFIG_NET_SCHD
385    #general_setup CONFIG_NET_SCH_SFQ $AS_CONFIG_NET_SCHD
386    general_setup CONFIG_NET_SCH_INGRESS $AS_CONFIG_NET_SCHD
387    general_setup CONFIG_NET_ESTIMATOR $AS_CONFIG_NET_SCHD
388    #general_setup CONFIG_NET_SCH_DSMARK $AS_CONFIG_NET_SCHD
389    general_setup CONFIG_NET_CLS_TCINDEX $AS_CONFIG_NET_SCHD
390    general_setup CONFIG_NET_CLS_FW $AS_CONFIG_NET_SCHD
391    general_setup CONFIG_NET_CLS_U32 $AS_CONFIG_NET_SCHD
392    general_setup CONFIG_NET_CLS_POLICE $AS_CONFIG_NET_SCHD
393    #general_setup CONFIG_NET_CLS_ACT $AS_CONFIG_NET_SCHD
394    #general_setup CONFIG_NET_ACT_POLICE $AS_CONFIG_NET_SCHD
395 fi
396
397 ############################################################
398 #       VLAN config generation
399 ############################################################
400 if [ "$BUILD_VCONFIG" != "" ]; then
401 SEDCMD="$SEDCMD -e 's/# CONFIG_VLAN_8021Q is not set/CONFIG_VLAN_8021Q=y/'"
402 fi
403
404 ############################################################
405 #       WAN operation over Ethernet
406 ############################################################
407 if [ "$BUILD_ETHWAN" != "" ]; then
408 SEDCMD="$SEDCMD -e 's/# CONFIG_ETHWAN is not set/CONFIG_ETHWAN=y/'"
409 fi
410
411 ############################################################
412 #       PTHREADS support        
413 ############################################################
414 if [ "$BRCM_PTHREADS" != "" ]; then
415    general_setup CONFIG_BRCM_USING_PTHREADS $BRCM_PTHREADS
416 fi
417
418 gen="sed $SEDCMD $TEMPLATE"
419 #echo $gen
420 #eval $gen
421 eval $gen > $KERNEL_DIR/arch/mips/defconfig
422
423