#!/bin/busybox sh

echo "=== Initial: NETWORK Configuration Start ===" > /dev/kmsg

#
# IPv6 initial default forwarding state, it must be before any NIC modules instered.
# NM (Network Manager) has to take over once IPv6 enabling is
# configurable for system or for each NIC in the future.
#
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
echo 0 > /proc/sys/net/ipv6/conf/default/forwarding

# WMID and SBP setting
#eval `sncfg mget WM_ID SBP_ID`
#echo -ne \\x$(printf '%x' $WM_ID) > /data/wmid
#echo -ne \\x$(printf '%x' $SBP_ID) > /data/sbp


# Change local routing table priority for IPPT
ip rule del priority 0 lookup local
ip rule add priority 3 lookup local
ip -6 rule del priority 0 lookup local
ip -6 rule add priority 3 lookup local


if [ -n "$(cat /proc/boot_mode | grep NORMAL)" ] ; then # META mode: META_BOOT_SKIP_PRELOADER

        LanIf=br0
        /sbin/sncfg set LanIf "$LanIf" > /dev/null 2>&1

        ifconfig lo 127.0.0.1 up

        eval `sncfg mget DEV_MAC USBHOST_MAC LAN_IP LAN_MASK LAN_IP6 LAN_PREFIX6`

        # Init network sncfg key
        WanStatus=down
        WanIf=lte0
        /sbin/sncfg set WanStatus "$WanStatus" > /dev/null 2>&1
        /sbin/sncfg set WanIf "$WanIf" > /dev/null 2>&1
        /etc/init.d/sysinit6 start

	eval `sncfg mget MODEM_CONTROL_INF`
	if [ "$MODEM_CONTROL_INF" == "RIL" ] ; then
		echo "MODEM_CONTROL_INF=RIL"
	elif [ "$MODEM_CONTROL_INF" == "ATCMD" ] ; then
		echo "MODEM_CONTROL_INF=ATCMD"
		/etc/init.d/bach_nnmd start
	else
		echo "MODEM_CONTROL_INF=$MODEM_CONTROL_INF"
	fi

        if [ -n "$DEV_MAC" ] && [ "$DEV_MAC" != "00:00:00:00:00:00" ] ; then
                LanMac=$DEV_MAC
        else
                LanMac="00:0C:E7:0B:01:02"
        fi
        if [ -n "$USBHOST_MAC" ] && [ "$USBHOST_MAC" != "00:00:00:00:00:00" ] ; then
                UsbHostMac=$USBHOST_MAC
        else
                UsbHostMac=$(echo "$LanMac" | sed -n 's/00:/02:/p')
        fi


        echo "$LanMac" /sys/module/g_android/parameters/dev_addr
        echo "$UsbHostMac" /sys/module/g_android/parameters/host_addr

        /sbin/sncfg set LanIp "$LAN_IP" > /dev/null 2>&1
        /sbin/sncfg set LanMac "$LanMac" > /dev/null 2>&1
        /sbin/sncfg set UsbHostMac "$UsbHostMac" > /dev/null 2>&1

        #brctl addbr $LanIf
        #brctl setfd $LanIf 0
        #ifconfig $LanIf hw ether $LanMac
        #ifconfig dummy0 hw ether $LanMac
        #brctl addif $LanIf dummy0

        #ip -6 addr add $LAN_IP6 dev $LanIf
        #ip -6 addr add fe80::11:22:33:44/64 dev $LanIf
        #ip -6 route add $LAN_PREFIX6 dev $LanIf
        #LLAddr=$(ifconfig $LanIf | grep fe80 | awk -F "::"  '{ print $2 }' | awk -F "/"  '{ print $1 }')
        /sbin/sncfg set LanLinkAddr "$LLAddr" > /dev/null 2>&1
        #ifconfig $LanIf $LAN_IP netmask $LAN_MASK
fi

echo "=== Initial: NETWORK Configuration End ===" > /dev/kmsg
