Git Product home page Git Product logo

openwrt-bbr's Introduction

Compile BBR on lastest Openwrt/LEDE release for kernel >= 4.14.*
中文:https://cosmiccat.net/2018/04/281/
Modified BBR: https://github.com/anshi233/BBR_MOD
Usage:
	Get openwrt latest source code:
	git clone https://git.openwrt.org/openwrt/openwrt.git
	
	enter Openwrt source root
	
	git clone https://github.com/anshi233/Openwrt-BBR.git package/Openwrt-BBR
	
To compile BBR orginal version:	
	make menuconfig
	select Kernel modules --> Network Support ---> kmod-bbr
	make package/Openwrt-BBR/bbr_origin/compile V=99
	
	Enable bbr on your device:
	install kmod-bbr ipk using opkg
	insmod bbr
	echo "bbr" > /etc/modules.d/bbr
	add "net.ipv4.tcp_congestion_control=bbr" to /etc/sysctl.conf
	save and run "sysctl -p"
	done
	
To compile BBR modified version:
	make menuconfig
	select Kernel modules --> Network Support ---> kmod-bbr_mod
	make package/Openwrt-BBR/bbr_mod/compile V=99
	
	Enable bbr on your device:
	install kmod-bbr_mod ipk using opkg
	insmod tcp_bbr_mod
	echo "tcp_bbr_mod" > /etc/modules.d/bbr
	add "net.ipv4.tcp_congestion_control=tcp_bbr_mod" to /etc/sysctl.conf
	save and run "sysctl -p"
	done

openwrt-bbr's People

Contributors

anshi233 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

openwrt-bbr's Issues

include/toplevel.mk:209: recipe for target 'package/Openwrt-BBR/bbr_mod/compile' failed

use ubuntu16.04 and openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64

$ make package/Openwrt-BBR/bbr_mod/compile V=99
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'r8169-firmware', which does not exist
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'e100-firmware', which does not exist
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'bnx2-firmware', which does not exist
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'ar3k-firmware', which does not exist
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'mwifiex-sdio-firmware', which does not exist
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'kmod-phy-bcm-ns-usb2', which does not exist
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'edgeport-firmware', which does not exist
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'kmod-phy-bcm-ns-usb3', which does not exist
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'prism54-firmware', which does not exist
WARNING: Makefile 'package/linux/Makefile' has a dependency on 'rtl8192su-firmware', which does not exist
tmp/.config-package.in:36:warning: ignoring type redefinition of 'PACKAGE_libc' from 'boolean' to 'tristate'
tmp/.config-package.in:64:warning: ignoring type redefinition of 'PACKAGE_libgcc' from 'boolean' to 'tristate'
tmp/.config-package.in:149:warning: ignoring type redefinition of 'PACKAGE_libpthread' from 'boolean' to 'tristate'
#
# configuration written to .config
#
make[1]: Entering directory '/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64'
make[2]: Entering directory '/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/package/Openwrt-BBR/bbr_mod'
rm -f /mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/.built
touch /mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/.built_check
cat /dev/null > /mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/staging_dir/target-mips_24kc_musl/pkginfo/bbr_mod.symvers; for subdir in .; do cat /mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/staging_dir/target-mips_24kc_musl/pkginfo/*.symvers 2>/dev/null > /mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/$subdir/Module.symvers; done
make -C "/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/linux-4.9.120" ARCH="mips" CROSS_COMPILE="mips-openwrt-linux-musl-" SUBDIRS="/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod" EXTRA_CFLAGS="  "  modules
make[3]: Entering directory '/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/linux-4.9.120'
  CC [M]  /mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.o
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c: In function 'bbr_is_next_cycle_phase':
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:446:3: error: implicit declaration of function 'tcp_stamp_us_delta'; did you mean 'skb_mstamp_us_delta'? [-Werror=implicit-function-declaration]
   tcp_stamp_us_delta(tp->delivered_mstamp, bbr->cycle_mstamp) >
   ^~~~~~~~~~~~~~~~~~
   skb_mstamp_us_delta
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c: In function 'bbr_advance_cycle_phase':
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:483:20: error: incompatible types when assigning to type 'u64 {aka long long unsigned int}' from type 'struct skb_mstamp'
  bbr->cycle_mstamp = tp->delivered_mstamp;
                    ^
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c: In function 'bbr_reset_lt_bw_sampling_interval':
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:532:31: error: incompatible type for argument 1 of 'div_u64'
  bbr->lt_last_stamp = div_u64(tp->delivered_mstamp, USEC_PER_MSEC);
                               ^~
In file included from ./include/linux/time.h:6:0,
                 from ./include/linux/stat.h:18,
                 from ./include/linux/module.h:10,
                 from /mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:59:
./include/linux/math64.h:97:19: note: expected 'u64 {aka long long unsigned int}' but argument is of type 'struct skb_mstamp'
 static inline u64 div_u64(u64 dividend, u32 divisor)
                   ^~~~~~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c: In function 'bbr_lt_bw_sampling':
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:638:14: error: incompatible type for argument 1 of 'div_u64'
  t = div_u64(tp->delivered_mstamp, USEC_PER_MSEC) - bbr->lt_last_stamp;
              ^~
In file included from ./include/linux/time.h:6:0,
                 from ./include/linux/stat.h:18,
                 from ./include/linux/module.h:10,
                 from /mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:59:
./include/linux/math64.h:97:19: note: expected 'u64 {aka long long unsigned int}' but argument is of type 'struct skb_mstamp'
 static inline u64 div_u64(u64 dividend, u32 divisor)
                   ^~~~~~~
In file included from /mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:60:0:
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c: In function 'bbr_update_min_rtt':
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:766:25: error: 'tcp_jiffies32' undeclared (first use in this function); did you mean 'get_jiffies_64'?
  filter_expired = after(tcp_jiffies32,
                         ^
./include/net/tcp.h:297:41: note: in definition of macro 'after'
 #define after(seq2, seq1)  before(seq1, seq2)
                                         ^~~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:766:25: note: each undeclared identifier is reported only once for each function it appears in
  filter_expired = after(tcp_jiffies32,
                         ^
./include/net/tcp.h:297:41: note: in definition of macro 'after'
 #define after(seq2, seq1)  before(seq1, seq2)
                                         ^~~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c: In function 'bbr_init':
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:845:23: error: 'tcp_jiffies32' undeclared (first use in this function); did you mean 'get_jiffies_64'?
  bbr->min_rtt_stamp = tcp_jiffies32;
                       ^~~~~~~~~~~~~
                       get_jiffies_64
In file included from ./arch/mips/include/asm/atomic.h:22:0,
                 from ./include/linux/atomic.h:4,
                 from ./arch/mips/include/asm/processor.h:14,
                 from ./arch/mips/include/asm/thread_info.h:15,
                 from ./include/linux/thread_info.h:58,
                 from ./include/asm-generic/preempt.h:4,
                 from ./arch/mips/include/generated/asm/preempt.h:1,
                 from ./include/linux/preempt.h:59,
                 from ./include/linux/spinlock.h:50,
                 from ./include/linux/seqlock.h:35,
                 from ./include/linux/time.h:5,
                 from ./include/linux/stat.h:18,
                 from ./include/linux/module.h:10,
                 from /mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:59:
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:15: error: 'struct sock' has no member named 'sk_pacing_status'; did you mean 'sk_pacing_rate'?
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
               ^
./arch/mips/include/asm/cmpxchg.h:200:13: note: in definition of macro '__cmpxchg'
  __typeof__(ptr) __ptr = (ptr);     \
             ^~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:2: note: in expansion of macro 'cmpxchg'
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
  ^~~~~~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:15: error: 'struct sock' has no member named 'sk_pacing_status'; did you mean 'sk_pacing_rate'?
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
               ^
./arch/mips/include/asm/cmpxchg.h:200:27: note: in definition of macro '__cmpxchg'
  __typeof__(ptr) __ptr = (ptr);     \
                           ^~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:2: note: in expansion of macro 'cmpxchg'
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
  ^~~~~~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:15: error: 'struct sock' has no member named 'sk_pacing_status'; did you mean 'sk_pacing_rate'?
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
               ^
./arch/mips/include/asm/cmpxchg.h:201:15: note: in definition of macro '__cmpxchg'
  __typeof__(*(ptr)) __old = (old);    \
               ^~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:2: note: in expansion of macro 'cmpxchg'
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
  ^~~~~~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:33: error: 'SK_PACING_NONE' undeclared (first use in this function); did you mean 'PARITY_NONE'?
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
                                 ^
./arch/mips/include/asm/cmpxchg.h:201:30: note: in definition of macro '__cmpxchg'
  __typeof__(*(ptr)) __old = (old);    \
                              ^~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:2: note: in expansion of macro 'cmpxchg'
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
  ^~~~~~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:15: error: 'struct sock' has no member named 'sk_pacing_status'; did you mean 'sk_pacing_rate'?
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
               ^
./arch/mips/include/asm/cmpxchg.h:202:15: note: in definition of macro '__cmpxchg'
  __typeof__(*(ptr)) __new = (new);    \
               ^~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:2: note: in expansion of macro 'cmpxchg'
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
  ^~~~~~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:49: error: 'SK_PACING_NEEDED' undeclared (first use in this function); did you mean 'SK_PACING_NONE'?
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
                                                 ^
./arch/mips/include/asm/cmpxchg.h:202:30: note: in definition of macro '__cmpxchg'
  __typeof__(*(ptr)) __new = (new);    \
                              ^~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:2: note: in expansion of macro 'cmpxchg'
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
  ^~~~~~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:15: error: 'struct sock' has no member named 'sk_pacing_status'; did you mean 'sk_pacing_rate'?
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
               ^
./arch/mips/include/asm/cmpxchg.h:203:15: note: in definition of macro '__cmpxchg'
  __typeof__(*(ptr)) __res = 0;     \
               ^~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:2: note: in expansion of macro 'cmpxchg'
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
  ^~~~~~~
./arch/mips/include/asm/cmpxchg.h:207:17: error: invalid type argument of unary '*' (have 'int')
  switch (sizeof(*(__ptr))) {     \
                 ^~~~~~~~
./arch/mips/include/asm/cmpxchg.h:227:33: note: in expansion of macro '__cmpxchg'
 #define cmpxchg(ptr, old, new)  __cmpxchg(ptr, old, new, smp_mb__before_llsc(), smp_llsc_mb())
                                 ^~~~~~~~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:2: note: in expansion of macro 'cmpxchg'
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
  ^~~~~~~
./arch/mips/include/asm/cmpxchg.h:143:11: error: invalid type argument of unary '*' (have 'int')
  __typeof(*(m)) __ret;      \
           ^~~~
./arch/mips/include/asm/cmpxchg.h:209:11: note: in expansion of macro '__cmpxchg_asm'
   __res = __cmpxchg_asm("ll", "sc", __ptr, __old, __new); \
           ^~~~~~~~~~~~~
./arch/mips/include/asm/cmpxchg.h:227:33: note: in expansion of macro '__cmpxchg'
 #define cmpxchg(ptr, old, new)  __cmpxchg(ptr, old, new, smp_mb__before_llsc(), smp_llsc_mb())
                                 ^~~~~~~~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:2: note: in expansion of macro 'cmpxchg'
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
  ^~~~~~~
./arch/mips/include/asm/cmpxchg.h:159:45: error: invalid type argument of unary '*' (have 'int')
   : "=&r" (__ret), "=" GCC_OFF_SMALL_ASM() (*m)  \
                                             ^
./arch/mips/include/asm/cmpxchg.h:209:11: note: in expansion of macro '__cmpxchg_asm'
   __res = __cmpxchg_asm("ll", "sc", __ptr, __old, __new); \
           ^~~~~~~~~~~~~
./arch/mips/include/asm/cmpxchg.h:227:33: note: in expansion of macro '__cmpxchg'
 #define cmpxchg(ptr, old, new)  __cmpxchg(ptr, old, new, smp_mb__before_llsc(), smp_llsc_mb())
                                 ^~~~~~~~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:2: note: in expansion of macro 'cmpxchg'
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
  ^~~~~~~
./arch/mips/include/asm/cmpxchg.h:160:26: error: invalid type argument of unary '*' (have 'int')
   : GCC_OFF_SMALL_ASM() (*m), "Jr" (old), "Jr" (new)  \
                          ^
./arch/mips/include/asm/cmpxchg.h:209:11: note: in expansion of macro '__cmpxchg_asm'
   __res = __cmpxchg_asm("ll", "sc", __ptr, __old, __new); \
           ^~~~~~~~~~~~~
./arch/mips/include/asm/cmpxchg.h:227:33: note: in expansion of macro '__cmpxchg'
 #define cmpxchg(ptr, old, new)  __cmpxchg(ptr, old, new, smp_mb__before_llsc(), smp_llsc_mb())
                                 ^~~~~~~~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:2: note: in expansion of macro 'cmpxchg'
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
  ^~~~~~~
./arch/mips/include/asm/cmpxchg.h:176:45: error: invalid type argument of unary '*' (have 'int')
   : "=&r" (__ret), "=" GCC_OFF_SMALL_ASM() (*m)  \
                                             ^
./arch/mips/include/asm/cmpxchg.h:209:11: note: in expansion of macro '__cmpxchg_asm'
   __res = __cmpxchg_asm("ll", "sc", __ptr, __old, __new); \
           ^~~~~~~~~~~~~
./arch/mips/include/asm/cmpxchg.h:227:33: note: in expansion of macro '__cmpxchg'
 #define cmpxchg(ptr, old, new)  __cmpxchg(ptr, old, new, smp_mb__before_llsc(), smp_llsc_mb())
                                 ^~~~~~~~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:2: note: in expansion of macro 'cmpxchg'
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
  ^~~~~~~
./arch/mips/include/asm/cmpxchg.h:177:26: error: invalid type argument of unary '*' (have 'int')
   : GCC_OFF_SMALL_ASM() (*m), "Jr" (old), "Jr" (new)  \
                          ^
./arch/mips/include/asm/cmpxchg.h:209:11: note: in expansion of macro '__cmpxchg_asm'
   __res = __cmpxchg_asm("ll", "sc", __ptr, __old, __new); \
           ^~~~~~~~~~~~~
./arch/mips/include/asm/cmpxchg.h:227:33: note: in expansion of macro '__cmpxchg'
 #define cmpxchg(ptr, old, new)  __cmpxchg(ptr, old, new, smp_mb__before_llsc(), smp_llsc_mb())
                                 ^~~~~~~~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:2: note: in expansion of macro 'cmpxchg'
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
  ^~~~~~~
./arch/mips/include/asm/cmpxchg.h:183:11: error: invalid type argument of unary '*' (have 'int')
   __ret = *m;      \
           ^
./arch/mips/include/asm/cmpxchg.h:209:11: note: in expansion of macro '__cmpxchg_asm'
   __res = __cmpxchg_asm("ll", "sc", __ptr, __old, __new); \
           ^~~~~~~~~~~~~
./arch/mips/include/asm/cmpxchg.h:227:33: note: in expansion of macro '__cmpxchg'
 #define cmpxchg(ptr, old, new)  __cmpxchg(ptr, old, new, smp_mb__before_llsc(), smp_llsc_mb())
                                 ^~~~~~~~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:2: note: in expansion of macro 'cmpxchg'
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
  ^~~~~~~
./arch/mips/include/asm/cmpxchg.h:185:4: error: invalid type argument of unary '*' (have 'int')
    *m = new;     \
    ^
./arch/mips/include/asm/cmpxchg.h:209:11: note: in expansion of macro '__cmpxchg_asm'
   __res = __cmpxchg_asm("ll", "sc", __ptr, __old, __new); \
           ^~~~~~~~~~~~~
./arch/mips/include/asm/cmpxchg.h:227:33: note: in expansion of macro '__cmpxchg'
 #define cmpxchg(ptr, old, new)  __cmpxchg(ptr, old, new, smp_mb__before_llsc(), smp_llsc_mb())
                                 ^~~~~~~~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:2: note: in expansion of macro 'cmpxchg'
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
  ^~~~~~~
./arch/mips/include/asm/cmpxchg.h:143:11: error: invalid type argument of unary '*' (have 'int')
  __typeof(*(m)) __ret;      \
           ^~~~
./arch/mips/include/asm/cmpxchg.h:213:12: note: in expansion of macro '__cmpxchg_asm'
    __res = __cmpxchg_asm("lld", "scd", __ptr, \
            ^~~~~~~~~~~~~
./arch/mips/include/asm/cmpxchg.h:227:33: note: in expansion of macro '__cmpxchg'
 #define cmpxchg(ptr, old, new)  __cmpxchg(ptr, old, new, smp_mb__before_llsc(), smp_llsc_mb())
                                 ^~~~~~~~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:2: note: in expansion of macro 'cmpxchg'
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
  ^~~~~~~
./arch/mips/include/asm/cmpxchg.h:159:45: error: invalid type argument of unary '*' (have 'int')
   : "=&r" (__ret), "=" GCC_OFF_SMALL_ASM() (*m)  \
                                             ^
./arch/mips/include/asm/cmpxchg.h:213:12: note: in expansion of macro '__cmpxchg_asm'
    __res = __cmpxchg_asm("lld", "scd", __ptr, \
            ^~~~~~~~~~~~~
./arch/mips/include/asm/cmpxchg.h:227:33: note: in expansion of macro '__cmpxchg'
 #define cmpxchg(ptr, old, new)  __cmpxchg(ptr, old, new, smp_mb__before_llsc(), smp_llsc_mb())
                                 ^~~~~~~~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:2: note: in expansion of macro 'cmpxchg'
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
  ^~~~~~~
./arch/mips/include/asm/cmpxchg.h:160:26: error: invalid type argument of unary '*' (have 'int')
   : GCC_OFF_SMALL_ASM() (*m), "Jr" (old), "Jr" (new)  \
                          ^
./arch/mips/include/asm/cmpxchg.h:213:12: note: in expansion of macro '__cmpxchg_asm'
    __res = __cmpxchg_asm("lld", "scd", __ptr, \
            ^~~~~~~~~~~~~
./arch/mips/include/asm/cmpxchg.h:227:33: note: in expansion of macro '__cmpxchg'
 #define cmpxchg(ptr, old, new)  __cmpxchg(ptr, old, new, smp_mb__before_llsc(), smp_llsc_mb())
                                 ^~~~~~~~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:2: note: in expansion of macro 'cmpxchg'
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
  ^~~~~~~
./arch/mips/include/asm/cmpxchg.h:176:45: error: invalid type argument of unary '*' (have 'int')
   : "=&r" (__ret), "=" GCC_OFF_SMALL_ASM() (*m)  \
                                             ^
./arch/mips/include/asm/cmpxchg.h:213:12: note: in expansion of macro '__cmpxchg_asm'
    __res = __cmpxchg_asm("lld", "scd", __ptr, \
            ^~~~~~~~~~~~~
./arch/mips/include/asm/cmpxchg.h:227:33: note: in expansion of macro '__cmpxchg'
 #define cmpxchg(ptr, old, new)  __cmpxchg(ptr, old, new, smp_mb__before_llsc(), smp_llsc_mb())
                                 ^~~~~~~~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:2: note: in expansion of macro 'cmpxchg'
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
  ^~~~~~~
./arch/mips/include/asm/cmpxchg.h:177:26: error: invalid type argument of unary '*' (have 'int')
   : GCC_OFF_SMALL_ASM() (*m), "Jr" (old), "Jr" (new)  \
                          ^
./arch/mips/include/asm/cmpxchg.h:213:12: note: in expansion of macro '__cmpxchg_asm'
    __res = __cmpxchg_asm("lld", "scd", __ptr, \
            ^~~~~~~~~~~~~
./arch/mips/include/asm/cmpxchg.h:227:33: note: in expansion of macro '__cmpxchg'
 #define cmpxchg(ptr, old, new)  __cmpxchg(ptr, old, new, smp_mb__before_llsc(), smp_llsc_mb())
                                 ^~~~~~~~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:2: note: in expansion of macro 'cmpxchg'
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
  ^~~~~~~
./arch/mips/include/asm/cmpxchg.h:183:11: error: invalid type argument of unary '*' (have 'int')
   __ret = *m;      \
           ^
./arch/mips/include/asm/cmpxchg.h:213:12: note: in expansion of macro '__cmpxchg_asm'
    __res = __cmpxchg_asm("lld", "scd", __ptr, \
            ^~~~~~~~~~~~~
./arch/mips/include/asm/cmpxchg.h:227:33: note: in expansion of macro '__cmpxchg'
 #define cmpxchg(ptr, old, new)  __cmpxchg(ptr, old, new, smp_mb__before_llsc(), smp_llsc_mb())
                                 ^~~~~~~~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:2: note: in expansion of macro 'cmpxchg'
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
  ^~~~~~~
./arch/mips/include/asm/cmpxchg.h:185:4: error: invalid type argument of unary '*' (have 'int')
    *m = new;     \
    ^
./arch/mips/include/asm/cmpxchg.h:213:12: note: in expansion of macro '__cmpxchg_asm'
    __res = __cmpxchg_asm("lld", "scd", __ptr, \
            ^~~~~~~~~~~~~
./arch/mips/include/asm/cmpxchg.h:227:33: note: in expansion of macro '__cmpxchg'
 #define cmpxchg(ptr, old, new)  __cmpxchg(ptr, old, new, smp_mb__before_llsc(), smp_llsc_mb())
                                 ^~~~~~~~~
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.c:863:2: note: in expansion of macro 'cmpxchg'
  cmpxchg(&sk->sk_pacing_status, SK_PACING_NONE, SK_PACING_NEEDED);
  ^~~~~~~
cc1: some warnings being treated as errors
scripts/Makefile.build:302: recipe for target '/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.o' failed
make[4]: *** [/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/tcp_bbr_mod.o] Error 1
Makefile:1507: recipe for target '_module_/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod' failed
make[3]: *** [_module_/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod] Error 2
make[3]: Leaving directory '/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/linux-4.9.120'
Makefile:46: recipe for target '/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/.built' failed
make[2]: *** [/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/bbr_mod/.built] Error 2
make[2]: Leaving directory '/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/package/Openwrt-BBR/bbr_mod'
Command exited with non-zero status 2
time: package/Openwrt-BBR/bbr_mod/compile#1.68#7.56#11.51
package/Makefile:107: recipe for target 'package/Openwrt-BBR/bbr_mod/compile' failed
make[1]: *** [package/Openwrt-BBR/bbr_mod/compile] Error 2
make[1]: Leaving directory '/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64'
/mnt/g/openwrt/sdk/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64/include/toplevel.mk:209: recipe for target 'package/Openwrt-BBR/bbr_mod/compile' failed
make: *** [package/Openwrt-BBR/bbr_mod/compile] Error 2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.