Porting PicoTCP WIP

This commit is contained in:
2025-10-29 14:29:06 +01:00
parent 6722f42e68
commit 815c2239fe
464 changed files with 235009 additions and 24 deletions

View File

@ -0,0 +1,62 @@
OPTIONS+=-DPICO_SUPPORT_6LOWPAN -DPICO_SUPPORT_IPV6
################################################################################
# DEFAULTS
################################################################################
# Enable the 6LoWPAN IPHC compression scheme by default
6LOWPAN_IPHC?=1
# Disable MAC framing for mac-enabled radios, disabled by default
6LOWPAN_NOMAC?=0
# Enable IEEE802.15.4 device support by default
IEEE802154?=1
# Enable radiotest packet dump
RADIOTEST_PCAP?=0
################################################################################
# 6LOWPAN OPTIONS
################################################################################
ifeq ($(6LOWPAN_IPHC), 1)
EXTRA_CFLAGS+=-DPICO_6LOWPAN_IPHC_ENABLED
endif
ifeq ($(6LOWPAN_NOMAC), 1)
EXTRA_CFLAGS+=-DPICO_6LOWPAN_NOMAC
endif
################################################################################
# 6LOWPAN LINK LAYER OPTIONS
################################################################################
# IEEE802.15.4 with or without mac layer
ifeq ($(IEEE802154), 1)
6LOWPAN_OPTIONS+=-DPICO_SUPPORT_802154
POSIX_OBJ+=modules/pico_dev_radiotest.o \
modules/pico_dev_radio_mgr.o
endif
OPTIONS+=$(6LOWPAN_OPTIONS)
# Append module objects
MOD_OBJ+=$(LIBBASE)modules/pico_6lowpan_ll.o
MOD_OBJ+=$(LIBBASE)modules/pico_6lowpan.o
MOD_OBJ+=$(LIBBASE)modules/pico_802154.o
# Count the amount of supported 6LoWPAN Link Layer protocols based on the amount of words in
# $6LOWPAN_OPTIONS. This allows us to define a static array that can be initialized with the 6LoWPAN
# link layer protocol definitions for the supported link layer protocols. This happens upon
# initialization of the 6LoWPAN_LL-layer.
EXTRA_CFLAGS+=-DPICO_6LOWPAN_LLS=$(words $(6LOWPAN_OPTIONS))
################################################################################
# RADIOTEST
################################################################################
ifeq ($(RADIOTEST_PCAP), 1)
EXTRA_CFLAGS+=-DRADIO_PCAP
TEST_LDFLAGS+=-lpcap
endif

View File

@ -0,0 +1 @@
OPTIONS+=-DPICO_SUPPORT_CRC

View File

@ -0,0 +1,3 @@
OPTIONS+=-DPICO_SUPPORT_CYASSL
LDFLAGS+=-lcyassl

View File

@ -0,0 +1,207 @@
DEBUG_ALL?=0
DEBUG_ARP?=0
DEBUG_AODV?=0
DEBUG_PPP?=0
DEBUG_TAP_ALL?=0
DEBUG_TAP_GENERAL?=0
DEBUG_TAP_INFO?=0
DEBUG_TAP_WIN?=0
DEBUG_TAP_REG?=0
DEBUG_DHCP_CLIENT?=0
DEBUG_DHCP_SERVER?=0
DEBUG_DNS?=0
DEBUG_DNS_SD?=0
DEBUG_FRAG?=0
DEBUG_IGMP?=0
DEBUG_IPF?=0
DEBUG_MCAST?=0
DEBUG_IPV6?=0
DEBUG_IPV6_ROUTE?=0
DEBUG_IPV6_ND?=0
DEBUG_MDNS?=0
DEBUG_MLD?=0
DEBUG_MM?=0
DEBUG_NAT?=0
DEBUG_OLSR?=0
DEBUG_SLAACV4?=0
DEBUG_SNTP?=0
DEBUG_TCP_ALL?=0
DEBUG_TCP_NAGLE?=0
DEBUG_TCP_OPTIONS?=0
DEBUG_TCP_GENERAL?=0
DEBUG_TFTP?=0
DEBUG_UDP?=0
DEBUG_6LOWPAN?=0
DEBUG_RADIOTEST?=0
ifneq ($(DEBUG_ALL),0)
DEBUG_ARP=1
DEBUG_AODV=1
DEBUG_PPP=1
DEBUG_TAP_ALL=1
DEBUG_DHCP_CLIENT=1
DEBUG_DHCP_SERVER=1
DEBUG_DNS=1
DEBUG_DNS_SD=1
DEBUG_FRAG=1
DEBUG_IGMP=1
DEBUG_IPF=1
DEBUG_MCAST=1
DEBUG_IPV6=1
DEBUG_IPV6_ROUTE=1
DEBUG_IPV6_ND=1
DEBUG_MDNS=1
DEBUG_MLD=1
DEBUG_MM=1
DEBUG_NAT=1
DEBUG_OLSR=1
DEBUG_SLAACV4=1
DEBUG_SNTP=1
DEBUG_TCP_ALL=1
DEBUG_TFTP=1
DEBUG_UDP=1
DEBUG_6LOWPAN=1
DEBUG_RADIOTEST=1
endif
ifneq ($(DEBUG_TCP_ALL),0)
DEBUG_TCP_NAGLE=1
DEBUG_TCP_OPTIONS=1
DEBUG_TCP_GENERAL=1
endif
ifneq ($(DEBUG_TAP_ALL),0)
DEBUG_TAP_GENERAL=1
DEBUG_TAP_INFO=1
DEBUG_TAP_WIN=1
DEBUG_TAP_REG=1
endif
ifneq ($(DEBUG_ARP),0)
CFLAGS+=-DDEBUG_ARP
endif
ifneq ($(DEBUG_AODV),0)
CFLAGS+=-DDEBUG_AODV
endif
ifneq ($(DEBUG_PPP),0)
CFLAGS+=-DDEBUG_PPP
endif
ifneq ($(DEBUG_TAP_GENERAL),0)
CFLAGS+=-DDEBUG_TAP_GENERAL
endif
ifneq ($(DEBUG_TAP_INFO),0)
CFLAGS+=-DDEBUG_TAP_INFO
endif
ifneq ($(DEBUG_TAP_WIN),0)
CFLAGS+=-DDEBUG_TAP_WIN
endif
ifneq ($(DEBUG_TAP_REG),0)
CFLAGS+=-DDEBUG_TAP_REG
endif
ifneq ($(DEBUG_DHCP_CLIENT),0)
CFLAGS+=-DDEBUG_DHCP_CLIENT
endif
ifneq ($(DEBUG_DHCP_SERVER),0)
CFLAGS+=-DDEBUG_DHCP_SERVER
endif
ifneq ($(DEBUG_DNS),0)
CFLAGS+=-DDEBUG_DNS
endif
ifneq ($(DEBUG_DNS_SD),0)
CFLAGS+=-DDEBUG_DNS_SD
endif
ifneq ($(DEBUG_FRAG),0)
CFLAGS+=-DDEBUG_FRAG
endif
ifneq ($(DEBUG_IGMP),0)
CFLAGS+=-DDEBUG_IGMP
endif
ifneq ($(DEBUG_IPF),0)
CFLAGS+=-DDEBUG_IPF
endif
ifneq ($(DEBUG_MCAST),0)
CFLAGS+=-DDEBUG_MCAST
endif
ifneq ($(DEBUG_IPV6),0)
CFLAGS+=-DDEBUG_IPV6
endif
ifneq ($(DEBUG_IPV6_ROUTE),0)
CFLAGS+=-DDEBUG_IPV6_ROUTE
endif
ifneq ($(DEBUG_IPV6_ND),0)
CFLAGS+=-DDEBUG_IPV6_ND
endif
ifneq ($(DEBUG_MDNS),0)
CFLAGS+=-DDEBUG_MDNS
endif
ifneq ($(DEBUG_MLD),0)
CFLAGS+=-DDEBUG_MLD
endif
ifneq ($(DEBUG_MM),0)
CFLAGS+=-DDEBUG_MM
endif
ifneq ($(DEBUG_NAT),0)
CFLAGS+=-DDEBUG_NAT
endif
ifneq ($(DEBUG_OLSR),0)
CFLAGS+=-DDEBUG_OLSR
endif
ifneq ($(DEBUG_SLAACV4),0)
CFLAGS+=-DDEBUG_SLAACV4
endif
ifneq ($(DEBUG_SNTP),0)
CFLAGS+=-DDEBUG_SNTP
endif
ifneq ($(DEBUG_TCP_NAGLE),0)
CFLAGS+=-DDEBUG_TCP_NAGLE
endif
ifneq ($(DEBUG_TCP_OPTIONS),0)
CFLAGS+=-DDEBUG_TCP_OPTIONS
endif
ifneq ($(DEBUG_TCP_GENERAL),0)
CFLAGS+=-DDEBUG_TCP_GENERAL
endif
ifneq ($(DEBUG_TFTP),0)
CFLAGS+=-DDEBUG_TFTP
endif
ifneq ($(DEBUG_UDP),0)
CFLAGS+=-DDEBUG_UDP
endif
ifneq ($(DEBUG_6LOWPAN),0)
CFLAGS+=-DDEBUG_6LOWPAN
endif
ifneq ($(DEBUG_RADIOTEST), 0)
CFLAGS+=-DDEBUG_RADIOTEST
endif

View File

@ -0,0 +1,2 @@
OPTIONS+=-DPICO_SUPPORT_DEVLOOP
MOD_OBJ+=$(LIBBASE)modules/pico_dev_loop.o

View File

@ -0,0 +1,2 @@
OPTIONS+=-DPICO_SUPPORT_DHCPC
MOD_OBJ+=$(LIBBASE)modules/pico_dhcp_client.o $(LIBBASE)modules/pico_dhcp_common.o

View File

@ -0,0 +1,2 @@
OPTIONS+=-DPICO_SUPPORT_DHCPD
MOD_OBJ+=$(LIBBASE)modules/pico_dhcp_server.o $(LIBBASE)modules/pico_dhcp_common.o

View File

@ -0,0 +1,2 @@
OPTIONS+=-DPICO_SUPPORT_DNS_CLIENT
MOD_OBJ+=$(LIBBASE)modules/pico_dns_client.o $(LIBBASE)modules/pico_dns_common.o

View File

@ -0,0 +1,2 @@
OPTIONS+=-DPICO_SUPPORT_DNS_SD
MOD_OBJ+=$(LIBBASE)modules/pico_dns_sd.o $(LIBBASE)modules/pico_mdns.o $(LIBBASE)modules/pico_dns_common.o

View File

@ -0,0 +1,3 @@
OPTIONS+=-DPICO_SUPPORT_ETH
MOD_OBJ+=$(LIBBASE)modules/pico_arp.o
MOD_OBJ+=$(LIBBASE)modules/pico_ethernet.o

View File

@ -0,0 +1,5 @@
OPTIONS+=-DPICO_SUPPORT_ICMP4
MOD_OBJ+=$(LIBBASE)modules/pico_icmp4.o
ifneq ($(PING),0)
OPTIONS+=-DPICO_SUPPORT_PING
endif

View File

@ -0,0 +1,3 @@
OPTIONS+=-DPICO_SUPPORT_IGMP
MOD_OBJ+=$(LIBBASE)modules/pico_igmp.o

View File

@ -0,0 +1 @@
MOD_OBJ+=$(LIBBASE)modules/pico_dev_ipc.o

View File

@ -0,0 +1,2 @@
OPTIONS+=-DPICO_SUPPORT_IPFILTER
MOD_OBJ+=$(LIBBASE)modules/pico_ipfilter.o

View File

@ -0,0 +1,2 @@
OPTIONS+=-DPICO_SUPPORT_IPV4
MOD_OBJ+=$(LIBBASE)modules/pico_ipv4.o

View File

@ -0,0 +1,2 @@
OPTIONS+=-DPICO_SUPPORT_IPV4FRAG
MOD_OBJ+=$(LIBBASE)modules/pico_fragments.o

View File

@ -0,0 +1,3 @@
OPTIONS+=-DPICO_SUPPORT_IPV6 -DPICO_SUPPORT_ICMP6
MOD_OBJ+=$(LIBBASE)modules/pico_ipv6.o $(LIBBASE)modules/pico_ipv6_nd.o $(LIBBASE)modules/pico_icmp6.o
include rules/ipv6frag.mk

View File

@ -0,0 +1,2 @@
OPTIONS+=-DPICO_SUPPORT_IPV6FRAG
MOD_OBJ+=$(LIBBASE)modules/pico_fragments.o

View File

@ -0,0 +1,2 @@
OPTIONS+=-DPICO_SUPPORT_MCAST
MOD_OBJ+=$(LIBBASE)modules/pico_mcast.o

View File

@ -0,0 +1,2 @@
OPTIONS+=-DPICO_SUPPORT_MDNS
MOD_OBJ+=$(LIBBASE)modules/pico_mdns.o $(LIBBASE)modules/pico_dns_common.o

View File

@ -0,0 +1,2 @@
OPTIONS+=-DPICO_SUPPORT_MM
MOD_OBJ+=$(LIBBASE)modules/pico_mm.o

View File

@ -0,0 +1,3 @@
OPTIONS+=-DPICO_SUPPORT_MLD
MOD_OBJ+=$(LIBBASE)modules/pico_mld.o

View File

@ -0,0 +1,2 @@
OPTIONS+=-DPICO_SUPPORT_NAT
MOD_OBJ+=$(LIBBASE)modules/pico_nat.o

View File

@ -0,0 +1,2 @@
OPTIONS+=-DPICO_SUPPORT_OLSR
MOD_OBJ+=$(LIBBASE)modules/pico_olsr.o

View File

@ -0,0 +1 @@
MOD_OBJ+=$(LIBBASE)modules/pico_dev_pcap.o

View File

@ -0,0 +1,2 @@
OPTIONS += -DPICO_SUPPORT_POLARSSL
LDFLAGS += -lpolarssl

View File

@ -0,0 +1,3 @@
OPTIONS+=-DPICO_SUPPORT_PPP
MOD_OBJ+=$(LIBBASE)modules/pico_dev_ppp.o

View File

@ -0,0 +1,2 @@
OPTIONS+=-DPICO_SUPPORT_SLAACV4
MOD_OBJ+=$(LIBBASE)modules/pico_slaacv4.o $(LIBBASE)modules/pico_hotplug_detection.o

View File

@ -0,0 +1,2 @@
OPTIONS+=-DPICO_SUPPORT_SNTP_CLIENT
MOD_OBJ+=$(LIBBASE)modules/pico_sntp_client.o

View File

@ -0,0 +1 @@
MOD_OBJ+=$(LIBBASE)modules/pico_dev_tap.o

View File

@ -0,0 +1,3 @@
OPTIONS+=-DPICO_SUPPORT_TCP
MOD_OBJ+=$(LIBBASE)modules/pico_tcp.o
MOD_OBJ+=$(LIBBASE)modules/pico_socket_tcp.o

View File

@ -0,0 +1 @@
MOD_OBJ+=$(LIBBASE)modules/pico_dev_tun.o

View File

@ -0,0 +1,3 @@
OPTIONS+=-DPICO_SUPPORT_UDP
MOD_OBJ+=$(LIBBASE)modules/pico_udp.o
MOD_OBJ+=$(LIBBASE)modules/pico_socket_udp.o

View File

@ -0,0 +1,3 @@
OPTIONS+=-DPICO_SUPPORT_CYASSL -DPICO_SUPPORT_WOLFSSL
LDFLAGS+=-lwolfssl