diff --git a/apply_newip.sh b/apply_newip.sh index 19d33a0d8c7f16dcdb0ded5d005645f2ac674a94..141f91af40c7316004bccbc5733ba8ac62ed3374 100755 --- a/apply_newip.sh +++ b/apply_newip.sh @@ -1,9 +1,7 @@ #!/bin/bash -# +# SPDX-License-Identifier: GPL-2.0 # Copyright (c) 2022 Huawei Device Co., Ltd. # -# See the LICENSE file in directory / of this repository for complete details. -# set -e @@ -17,40 +15,19 @@ function main() { cd $KERNEL_BUILD_ROOT - ln -s -f $NEWIP_SOURCE_ROOT/src/linux/include/linux/newip_route.h $KERNEL_BUILD_ROOT/include/linux/newip_route.h - ln -s -f $NEWIP_SOURCE_ROOT/src/linux/include/linux/nip.h $KERNEL_BUILD_ROOT/include/linux/nip.h - ln -s -f $NEWIP_SOURCE_ROOT/src/linux/include/linux/nip_icmp.h $KERNEL_BUILD_ROOT/include/linux/nip_icmp.h - - ln -s -f $NEWIP_SOURCE_ROOT/src/linux/include/net/netns/nip.h $KERNEL_BUILD_ROOT/include/net/netns/nip.h - ln -s -f $NEWIP_SOURCE_ROOT/src/linux/include/net/flow_nip.h $KERNEL_BUILD_ROOT/include/net/flow_nip.h - ln -s -f $NEWIP_SOURCE_ROOT/src/linux/include/net/if_ninet.h $KERNEL_BUILD_ROOT/include/net/if_ninet.h - ln -s -f $NEWIP_SOURCE_ROOT/src/linux/include/net/ninet_connection_sock.h $KERNEL_BUILD_ROOT/include/net/ninet_connection_sock.h - ln -s -f $NEWIP_SOURCE_ROOT/src/linux/include/net/ninet_hashtables.h $KERNEL_BUILD_ROOT/include/net/ninet_hashtables.h - ln -s -f $NEWIP_SOURCE_ROOT/src/linux/include/net/nip.h $KERNEL_BUILD_ROOT/include/net/nip.h - ln -s -f $NEWIP_SOURCE_ROOT/src/linux/include/net/nip_addrconf.h $KERNEL_BUILD_ROOT/include/net/nip_addrconf.h - ln -s -f $NEWIP_SOURCE_ROOT/src/linux/include/net/nip_fib.h $KERNEL_BUILD_ROOT/include/net/nip_fib.h - ln -s -f $NEWIP_SOURCE_ROOT/src/linux/include/net/nip_route.h $KERNEL_BUILD_ROOT/include/net/nip_route.h - ln -s -f $NEWIP_SOURCE_ROOT/src/linux/include/net/nip_udp.h $KERNEL_BUILD_ROOT/include/net/nip_udp.h - ln -s -f $NEWIP_SOURCE_ROOT/src/linux/include/net/nndisc.h $KERNEL_BUILD_ROOT/include/net/nndisc.h - ln -s -f $NEWIP_SOURCE_ROOT/src/linux/include/net/tcp_nip.h $KERNEL_BUILD_ROOT/include/net/tcp_nip.h - ln -s -f $NEWIP_SOURCE_ROOT/src/linux/include/net/transp_nip.h $KERNEL_BUILD_ROOT/include/net/transp_nip.h + ln -s -f $NEWIP_SOURCE_ROOT/src/linux/include/linux/*.h $KERNEL_BUILD_ROOT/include/linux/ + ln -s -f $NEWIP_SOURCE_ROOT/src/linux/include/net/netns/*.h $KERNEL_BUILD_ROOT/include/net/netns/ + ln -s -f $NEWIP_SOURCE_ROOT/src/linux/include/net/*.h $KERNEL_BUILD_ROOT/include/net/ + ln -s -f $NEWIP_SOURCE_ROOT/src/linux/include/uapi/linux/*.h $KERNEL_BUILD_ROOT/include/uapi/linux/ + ln -s -f $NEWIP_SOURCE_ROOT/src/linux/include/trace/hooks/*.h $KERNEL_BUILD_ROOT/include/trace/hooks/ - ln -s -f $NEWIP_SOURCE_ROOT/src/linux/include/uapi/linux/newip_route.h $KERNEL_BUILD_ROOT/include/uapi/linux/newip_route.h - ln -s -f $NEWIP_SOURCE_ROOT/src/linux/include/uapi/linux/nip.h $KERNEL_BUILD_ROOT/include/uapi/linux/nip.h - ln -s -f $NEWIP_SOURCE_ROOT/src/linux/include/uapi/linux/nip_icmp.h $KERNEL_BUILD_ROOT/include/uapi/linux/nip_icmp.h + if [ ! -d " $KERNEL_BUILD_ROOT/net/newip" ]; then + mkdir $KERNEL_BUILD_ROOT/net/newip + fi + ln -s -f $NEWIP_SOURCE_ROOT/src/linux/net/newip/* $KERNEL_BUILD_ROOT/net/newip/ + ln -s -f $NEWIP_SOURCE_ROOT/src/common/* $KERNEL_BUILD_ROOT/net/newip/ + ln -s -f $NEWIP_SOURCE_ROOT/src/common/nip_addr.h $KERNEL_BUILD_ROOT/include/uapi/linux/nip_addr.h - ln -s -f $NEWIP_SOURCE_ROOT/src/linux/include/trace/hooks/nip_hooks.h $KERNEL_BUILD_ROOT/include/trace/hooks/nip_hooks.h - - ln -s -f $NEWIP_SOURCE_ROOT/src/linux/net/newip $KERNEL_BUILD_ROOT/net - ln -s -f $NEWIP_SOURCE_ROOT/src/common/nip_addr.c $KERNEL_BUILD_ROOT/net/newip/nip_addr.c - ln -s -f $NEWIP_SOURCE_ROOT/src/common/nip_addr.h $KERNEL_BUILD_ROOT/net/newip/nip_addr.h - ln -s -f $NEWIP_SOURCE_ROOT/src/common/nip_addr.h $KERNEL_BUILD_ROOT/include/uapi/linux/nip_addr.h - ln -s -f $NEWIP_SOURCE_ROOT/src/common/nip_checksum.c $KERNEL_BUILD_ROOT/net/newip/nip_checksum.c - ln -s -f $NEWIP_SOURCE_ROOT/src/common/nip_checksum.h $KERNEL_BUILD_ROOT/net/newip/nip_checksum.h - ln -s -f $NEWIP_SOURCE_ROOT/src/common/nip_hdr_decap.c $KERNEL_BUILD_ROOT/net/newip/nip_hdr_decap.c - ln -s -f $NEWIP_SOURCE_ROOT/src/common/nip_hdr_encap.c $KERNEL_BUILD_ROOT/net/newip/nip_hdr_encap.c - ln -s -f $NEWIP_SOURCE_ROOT/src/common/nip_hdr.h $KERNEL_BUILD_ROOT/net/newip/nip_hdr.h - cd - } diff --git a/src/linux/net/newip/Kconfig b/src/linux/net/newip/Kconfig new file mode 100644 index 0000000000000000000000000000000000000000..8a14b000cc88b0956a2af2cea4e323a77229db02 --- /dev/null +++ b/src/linux/net/newip/Kconfig @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: GPL-2.0 +# Copyright (c) 2022 Huawei Device Co., Ltd. +# + +# net/newip/hooks/Kconfig +source "hooks/Kconfig" + +# net/newip/Kconfig +config NEWIP + def_bool $(success,$(srctree)/scripts/oh-check-dir.sh $(srctree)/net/newip) + depends on INET + help + Support for NewIP. + +config NEWIP_FAST_KEEPALIVE + bool "NewIP fast keepalive" + default n + depends on NEWIP + help + Support for NewIP fast keepalive. diff --git a/src/linux/net/newip/Makefile b/src/linux/net/newip/Makefile index 18ae012ac936b38eca2ed0af4cea3386391e16d9..12a3cbf215d8208f7c34f9eadb55a93eff694d40 100644 --- a/src/linux/net/newip/Makefile +++ b/src/linux/net/newip/Makefile @@ -5,11 +5,13 @@ # Makefile for the Linux newip layer # +# net/newip/Makefile obj-$(CONFIG_NEWIP) += newip.o newip-objs := nip_addr.o nip_hdr_encap.o nip_hdr_decap.o nip_checksum.o af_ninet.o nip_input.o udp.o protocol.o nip_output.o nip_addrconf.o nip_addrconf_core.o route.o nip_fib.o nip_fib_rules.o nndisc.o icmp.o tcp_nip_parameter.o newip-objs += tcp_nip.o ninet_connection_sock.o ninet_hashtables.o tcp_nip_output.o tcp_nip_input.o tcp_nip_timer.o nip_sockglue.o -ifeq ($(CONFIG_NEWIP_HOOKS), y) newip-objs += nip_hooks_register.o -endif + +# net/newip/hooks/Makefile +obj-$(CONFIG_NEWIP) += hooks/ diff --git a/src/linux/net/newip/hooks/Kconfig b/src/linux/net/newip/hooks/Kconfig new file mode 100644 index 0000000000000000000000000000000000000000..0667eba12facdb262d3a16dd87fc5f65e113531e --- /dev/null +++ b/src/linux/net/newip/hooks/Kconfig @@ -0,0 +1,12 @@ +# SPDX-License-Identifier: GPL-2.0 +# Copyright (c) 2022 Huawei Device Co., Ltd. +# + +config NEWIP_HOOKS + def_bool NEWIP + depends on VENDOR_HOOKS && NEWIP + help + Enable NewIP hooks implemented as tracepoints + Allow NewIP modules to attach to tracepoint "hooks" defined via + DECLARE_TRACE or DECLARE_HOOK +