Files
esp-lwip/.github/workflows/ci-linux.yml
xiehang b35d6385dd arp: Return ERR_MEM on ARP queue full
Root Cause:
When the ARP cache table is filled, when a new packet comes in, the ARP cache table will be emptied.
Solution:
If the ARP cache table is full, ERR_MEM is returned.

picked from espressif/esp-lwip@602d25c5
Ref IDF-4849
2022-04-12 13:32:04 +02:00

61 lines
2.1 KiB
YAML

name: CI
on: [push, pull_request]
jobs:
build:
strategy:
matrix:
compiler: [gcc, clang]
env:
CC: ${{ matrix.compiler }}
LSAN_OPTIONS: verbosity=1:log_threads=1
WGET_PATH: http://download.savannah.nongnu.org/releases/lwip
CONTRIB: contrib-2.1.0
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install deps
run: |
sudo apt-get install check ninja-build doxygen
wget --no-verbose ${WGET_PATH}/${CONTRIB}.zip
unzip -oq ${CONTRIB}.zip
patch -s -p0 < test/${CONTRIB}.patch
- name: Build and Run unit tests with make
run: |
export LWIPDIR=../../../../src && cd ${CONTRIB}/ports/unix/check
make -j 4 check
make clean
export EXTRA_CFLAGS="-DESP_LWIP=1" && export CC="${CC} $EXTRA_CFLAGS"
make -j 4 check
make clean
export EXTRA_CFLAGS="-DESP_LWIP=1 -DIP_FORWARD=1" && export CC="${CC} $EXTRA_CFLAGS"
make -j 4 check
make clean
export EXTRA_CFLAGS="-DESP_LWIP=1 -DIP_FORWARD=1 -DIP_NAPT=1 -DLWIP_ARCH_CC_H -include cc_esp_platform.h" && export CC="${CC} $EXTRA_CFLAGS"
make -j 4 check
- name: Run cmake
run: mkdir build && cd build && cmake .. -G Ninja
- name: Build with cmake
run: cd build && cmake --build .
- name: Build docs with cmake
run: cd build && cmake --build . --target lwipdocs
- name: Validate combinations of options
run: |
cp ${CONTRIB}/examples/example_app/lwipcfg.h.example ${CONTRIB}/examples/example_app/lwipcfg.h
cd ${CONTRIB}/ports/unix/example_app
export CFLAGS="-DESP_LWIP=LWIP_NETCONN_FULLDUPLEX -DESP_LWIP_IGMP_TIMERS_ONDEMAND=ESP_LWIP -DESP_LWIP_MLD6_TIMERS_ONDEMAND=ESP_LWIP -DESP_DNS=ESP_LWIP -DESP_LWIP_ARP=ESP_LWIP"
export LWIPDIR=../../../../src/
make TESTFLAGS="-Wno-documentation" -j 4
chmod +x iteropts.sh && ./iteropts.sh
- name: Build and run unit tests with cmake
run: |
cd ${CONTRIB}/ports/unix/check
mkdir build && cd build && cmake -DLWIP_DIR=`pwd`/../../../../.. .. -G Ninja
cmake --build . && ./lwip_unittests