Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/hole-punch-interop-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ concurrency:

jobs:
resolve-parameters:
runs-on: [self-hosted, linux, x64, ephemeral]
runs-on: ubuntu-latest
outputs:
test-select: ${{ steps.resolve.outputs.test-select }}
test-ignore: ${{ steps.resolve.outputs.test-ignore }}
Expand Down Expand Up @@ -170,7 +170,7 @@ jobs:
run-tests:
needs: resolve-parameters
if: needs.resolve-parameters.outputs.should-run-tests == 'true'
runs-on: [self-hosted, linux, x64, ephemeral]
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
Expand All @@ -185,7 +185,7 @@ jobs:
router-select: '${{ needs.resolve-parameters.outputs.router-select }}'
router-ignore: '${{ needs.resolve-parameters.outputs.router-ignore }}'
transport-ignore: '${{ needs.resolve-parameters.outputs.transport-ignore }}'
cache-dir: /srv/cache
cache-dir: /tmp/hp-cache
snapshot: ${{ needs.resolve-parameters.outputs.snapshot }}
export-docker-images: ${{ needs.resolve-parameters.outputs.export-docker-images }}
force-matrix-rebuild: ${{ needs.resolve-parameters.outputs.force-matrix-rebuild }}
Expand Down
2 changes: 1 addition & 1 deletion hole-punch/images.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ implementations:
source:
type: github
repo: vacp2p/nim-libp2p
commit: 39902922cf718768a18fbe07482d8ccb0a2dc351
commit: bfa31f8de9a07c7a6632eb3d3725cdc2e647b5c7
dockerfile: interop/hole-punching/Dockerfile
transports: [tcp]
secureChannels: [noise]
Expand Down
6 changes: 3 additions & 3 deletions hole-punch/images/linux/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ if [ -z "$WAN_IP" ] || [ -z "$WAN_SUBNET" ] || [ -z "$LAN_IP" ] || [ -z "$LAN_SU
exit 1
fi

# Define interfaces
WAN_IF="wan0"
LAN_IF="lan0"
# Detect interfaces by IP (interface_name requires Docker Engine v28.1+)
WAN_IF=$(ip -o addr show | awk -v ip="${WAN_IP}" '$4 ~ ("^" ip "/") {print $2; exit}')
LAN_IF=$(ip -o addr show | awk -v ip="${LAN_IP}" '$4 ~ ("^" ip "/") {print $2; exit}')

echo "Configuration:"
echo " WAN Interface: $WAN_IF"
Expand Down
7 changes: 6 additions & 1 deletion hole-punch/images/rust/v0.56/run-peer.sh
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
#!/usr/bin/env bash
set -e

# Detect LAN interface by peer IP (interface_name requires Docker Engine v28.1+)
PEER_IP="${DIALER_IP:-${LISTENER_IP}}"
LAN_IF=$(ip -o addr show | awk -v ip="${PEER_IP}" '$4 ~ ("^" ip "/") {print $2; exit}')
echo "LAN interface: ${LAN_IF} (peer IP: ${PEER_IP})" >&2

# Set route to relay subnet
echo "Setting route to relay subnet ${WAN_SUBNET} via ${WAN_ROUTER_IP}" >&2
ip route add "${WAN_SUBNET}" via "${WAN_ROUTER_IP}" dev lan0
ip route add "${WAN_SUBNET}" via "${WAN_ROUTER_IP}" dev "${LAN_IF}"

# Execute the peer binary, passing through all arguments
exec /usr/local/bin/peer "$@"
8 changes: 6 additions & 2 deletions hole-punch/images/rust/v0.56/run-relay.sh
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
#!/usr/bin/env bash
set -e

# Detect WAN interface by relay IP (interface_name requires Docker Engine v28.1+)
WAN_IF=$(ip -o addr show | awk -v ip="${RELAY_IP}" '$4 ~ ("^" ip "/") {print $2; exit}')
echo "WAN interface: ${WAN_IF} (relay IP: ${RELAY_IP})" >&2

# Set route to dialer subnet
echo "Setting route to dialer subnet ${DIALER_LAN_SUBNET} via ${DIALER_ROUTER_IP}" >&2
ip route add "${DIALER_LAN_SUBNET}" via "${DIALER_ROUTER_IP}" dev wan0
ip route add "${DIALER_LAN_SUBNET}" via "${DIALER_ROUTER_IP}" dev "${WAN_IF}"

# Set route to listener subnet
echo "Setting route to listener subnet ${LISTENER_LAN_SUBNET} via ${LISTENER_ROUTER_IP}" >&2
ip route add "${LISTENER_LAN_SUBNET}" via "${LISTENER_ROUTER_IP}" dev wan0
ip route add "${LISTENER_LAN_SUBNET}" via "${LISTENER_ROUTER_IP}" dev "${WAN_IF}"

# Execute the relay binary, passing through all arguments
exec /usr/local/bin/relay "$@"
20 changes: 0 additions & 20 deletions hole-punch/lib/run-single-test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -255,10 +255,8 @@ services:
networks:
wan:
ipv4_address: ${RELAY_IP}
interface_name: wan0
gw_priority: 1000
hole-punch-network:
interface_name: redis0
gw_priority: 100
cap_add:
- NET_ADMIN
Expand All @@ -272,11 +270,9 @@ ${RELAY_ENV}
networks:
wan:
ipv4_address: ${DIALER_ROUTER_WAN_IP}
interface_name: wan0
gw_priority: 1000
lan-dialer:
ipv4_address: ${DIALER_ROUTER_LAN_IP}
interface_name: lan0
gw_priority: 100
cap_add:
- NET_ADMIN
Expand All @@ -298,11 +294,9 @@ ${DIALER_ROUTER_ENV}
networks:
wan:
ipv4_address: ${LISTENER_ROUTER_WAN_IP}
interface_name: wan0
gw_priority: 1000
lan-listener:
ipv4_address: ${LISTENER_ROUTER_LAN_IP}
interface_name: lan0
gw_priority: 100
cap_add:
- NET_ADMIN
Expand All @@ -324,10 +318,8 @@ ${LISTENER_ROUTER_ENV}
networks:
lan-dialer:
ipv4_address: ${DIALER_IP}
interface_name: lan0
gw_priority: 1000
hole-punch-network:
interface_name: redis0
gw_priority: 1000
cap_add:
- NET_ADMIN
Expand All @@ -345,10 +337,8 @@ ${DIALER_ENV}
networks:
lan-listener:
ipv4_address: ${LISTENER_IP}
interface_name: lan0
gw_priority: 1000
hole-punch-network:
interface_name: redis0
gw_priority: 1000
cap_add:
- NET_ADMIN
Expand Down Expand Up @@ -392,10 +382,8 @@ services:
networks:
wan:
ipv4_address: ${RELAY_IP}
interface_name: wan0
gw_priority: 1000
hole-punch-network:
interface_name: redis0
gw_priority: 100
cap_add:
- NET_ADMIN
Expand All @@ -409,11 +397,9 @@ ${RELAY_ENV}
networks:
wan:
ipv4_address: ${DIALER_ROUTER_WAN_IP}
interface_name: wan0
gw_priority: 1000
lan-dialer:
ipv4_address: ${DIALER_ROUTER_LAN_IP}
interface_name: lan0
gw_priority: 100
cap_add:
- NET_ADMIN
Expand All @@ -435,11 +421,9 @@ ${DIALER_ROUTER_ENV}
networks:
wan:
ipv4_address: ${LISTENER_ROUTER_WAN_IP}
interface_name: wan0
gw_priority: 1000
lan-listener:
ipv4_address: ${LISTENER_ROUTER_LAN_IP}
interface_name: lan0
gw_priority: 100
cap_add:
- NET_ADMIN
Expand All @@ -461,10 +445,8 @@ ${LISTENER_ROUTER_ENV}
networks:
lan-dialer:
ipv4_address: ${DIALER_IP}
interface_name: lan0
gw_priority: 1000
hole-punch-network:
interface_name: redis0
gw_priority: 1000
cap_add:
- NET_ADMIN
Expand All @@ -481,10 +463,8 @@ ${DIALER_ENV}
networks:
lan-listener:
ipv4_address: ${LISTENER_IP}
interface_name: lan0
gw_priority: 1000
hole-punch-network:
interface_name: redis0
gw_priority: 1000
cap_add:
- NET_ADMIN
Expand Down
Loading