Skip to content

DRAFT: Add IPv6 Support - #2

Draft
cbdonohue wants to merge 1 commit into
wesley-eddy:masterfrom
cbdonohue:chris_ipv6
Draft

DRAFT: Add IPv6 Support#2
cbdonohue wants to merge 1 commit into
wesley-eddy:masterfrom
cbdonohue:chris_ipv6

Conversation

@cbdonohue

Copy link
Copy Markdown

Added IPv6 support to scone_ebpf.c and endpoints to scone_demo.sh

chris@Skynet:~/scone-tools$ sudo ./scone_demo.sh 
[sudo] password for chris: 
=== Creating network namespaces.
  Creating namespaces.
  Enabling IPv4 and IPv6 forwarding.
  Creating virtual links.
  Assigning IPv4 and IPv6 addresses and bringing up interfaces.
  Setting IPv4 and IPv6 routes.
  Testing IPv4 connectivity.
PING 10.0.31.2 (10.0.31.2) 56(84) bytes of data.
64 bytes from 10.0.31.2: icmp_seq=1 ttl=62 time=0.111 ms
64 bytes from 10.0.31.2: icmp_seq=2 ttl=62 time=0.055 ms
64 bytes from 10.0.31.2: icmp_seq=3 ttl=62 time=0.058 ms

--- 10.0.31.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2127ms
rtt min/avg/max/mdev = 0.055/0.074/0.111/0.025 ms
  Testing IPv6 connectivity.
PING 2001:db8:31::2 (2001:db8:31::2) 56 data bytes
64 bytes from 2001:db8:31::2: icmp_seq=1 ttl=62 time=1038 ms
64 bytes from 2001:db8:31::2: icmp_seq=2 ttl=62 time=0.207 ms
64 bytes from 2001:db8:31::2: icmp_seq=3 ttl=62 time=0.064 ms

--- 2001:db8:31::2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2048ms
rtt min/avg/max/mdev = 0.064/346.008/1037.755/489.138 ms, pipe 2
=== Starting eBPF SCONE programs and packet capture.
  Waiting 10 seconds.
tcpdump: listening on veth-cap-csp, link-type EN10MB (Ethernet), snapshot length 262144 bytes
tcpdump: listening on veth-user-csp, link-type EN10MB (Ethernet), snapshot length 262144 bytes
tcpdump: listening on veth-csp2-csp1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
tcpdump: listening on veth-csp1-csp2, link-type EN10MB (Ethernet), snapshot length 262144 bytes
  Attaching 'remove_scone_ebpf' for incoming packets on device veth-user-csp.
  Attaching 'modify_scone_ebpf' for incoming packets on device veth-csp1-csp2.
  Attaching 'add_scone_ebpf' for incoming packets on device veth-csp-cap.
=== Starting servers.
  Starting IPv4 servers.
  Starting IPv6 servers.
  Waiting 5 seconds.
=== Running clients.
  IPv4 client tests:
    Doing non-SCONE-enabled fetch (IPv4).
I20250722 20:47:53.128216 233797 HQClient.cpp:47] HQClient connecting to 10.0.31.2:20000
I20250722 20:47:53.135968 233797 CurlClient.cpp:184] Sending request for /
I20250722 20:47:53.137409 233797 CurlClient.cpp:273] Got EOM for /. Txn Time= 0 ms
    Doing SCONE-enabled fetch (IPv4).
I20250722 20:47:55.149081 233831 HQClient.cpp:47] HQClient connecting to 10.0.31.2:60000
I20250722 20:47:55.151327 233831 CurlClient.cpp:184] Sending request for /
I20250722 20:47:55.151997 233831 CurlClient.cpp:273] Got EOM for /. Txn Time= 0 ms
  IPv6 client tests:
    Doing non-SCONE-enabled fetch (IPv6).
I20250722 20:47:57.160655 233875 HQClient.cpp:47] HQClient connecting to [2001:db8:31::2]:20001
I20250722 20:47:57.163022 233875 CurlClient.cpp:184] Sending request for /
I20250722 20:47:57.163679 233875 CurlClient.cpp:273] Got EOM for /. Txn Time= 0 ms
    Doing SCONE-enabled fetch (IPv6).
I20250722 20:47:59.172049 233909 HQClient.cpp:47] HQClient connecting to [2001:db8:31::2]:60001
I20250722 20:47:59.174466 233909 CurlClient.cpp:184] Sending request for /
I20250722 20:47:59.175174 233909 CurlClient.cpp:273] Got EOM for /. Txn Time= 0 ms
=== Cleaning up.
  User network interface stats:
./scone_demo.sh: line 190: 233524 Killed                  ip netns exec $SCONE_USER_NS tcpdump -U -n -w pcap/user.pcap -i $USER_CSP_LINK
./scone_demo.sh: line 190: 233525 Killed                  ip netns exec $SCONE_CSP1_NS tcpdump -U -n -w pcap/csp1.pcap -i $CSP_CSP_1_LINK
./scone_demo.sh: line 190: 233526 Killed                  ip netns exec $SCONE_CSP2_NS tcpdump -U -n -w pcap/csp2.pcap -i $CSP_CSP_2_LINK
./scone_demo.sh: line 190: 233527 Killed                  ip netns exec $SCONE_CAP_NS tcpdump -U -n -w pcap/cap.pcap -i $CAP_CSP_LINK
./scone_demo.sh: line 190: 233604 Killed                  ip netns exec $SCONE_CAP_NS nc -u -l $PLAIN_UDP_PORT
./scone_demo.sh: line 190: 233605 Killed                  ip netns exec $SCONE_CAP_NS ./hq --mode=server --host=$CAP_IP --port=$NON_SCONE_PORT --logtostderr=false
./scone_demo.sh: line 190: 233607 Killed                  ip netns exec $SCONE_CAP_NS nc -u -l -6 $((PLAIN_UDP_PORT + 1))
./scone_demo.sh: line 190: 233608 Killed                  ip netns exec $SCONE_CAP_NS ./hq --mode=server --host=$CAP_IPV6 --port=$((NON_SCONE_PORT + 1)) --logtostderr=false
  Stopping User<-CSP1 eBPF program.
Getting counters.
  Result types:
    TYPE :          4, COUNT :         12
    TYPE :          3, COUNT :         16
    TYPE :          1, COUNT :          3

  Ports:
    PORT :      60000, COUNT :          7
    PORT :      60001, COUNT :          7
    PORT :      20001, COUNT :          7
    PORT :      20000, COUNT :          7

  First Bytes:
    BYTE :      65514, COUNT :          1
    BYTE :         81, COUNT :          1
    BYTE :      65513, COUNT :          1
    BYTE :         85, COUNT :          1
    BYTE :         91, COUNT :          1
    BYTE :         67, COUNT :          1
    BYTE :         75, COUNT :          1
    BYTE :         84, COUNT :          1
    BYTE :         65, COUNT :          1
    BYTE :      65507, COUNT :          3
    BYTE :      65474, COUNT :          1
    BYTE :      65506, COUNT :          1
    BYTE :      65480, COUNT :          1
    BYTE :      65505, COUNT :          1
    BYTE :         88, COUNT :          1
    BYTE :         66, COUNT :          1
    BYTE :      65519, COUNT :          1
    BYTE :         89, COUNT :          1
    BYTE :         94, COUNT :          1
    BYTE :      65479, COUNT :          1
    BYTE :         82, COUNT :          2
    BYTE :      65482, COUNT :          1
    BYTE :         80, COUNT :          1
    BYTE :         90, COUNT :          1
    BYTE :         77, COUNT :          1

  QUIC Versions:
    VERSION : 4294946818, COUNT :         12

  Connection ID Lengths:
Detached from veth-user-csp.
./scone_demo.sh: line 195: 233606 Killed                  ip netns exec $SCONE_CAP_NS ./hq --mode=server --host=$CAP_IP --port=$SCONE_PORT --logtostderr=false --h2port=7776
./scone_demo.sh: line 195: 233609 Killed                  ip netns exec $SCONE_CAP_NS ./hq --mode=server --host=$CAP_IPV6 --port=$((SCONE_PORT + 1)) --logtostderr=false --h2port=7777
  Stopping CSP1<-CSP2 eBPF program.
Getting counters.
  Result types:
    TYPE :          1, COUNT :          2
    TYPE :          3, COUNT :         16
    TYPE :          4, COUNT :         12

  Ports:
    PORT :      20001, COUNT :          7
    PORT :      20000, COUNT :          7
    PORT :      60000, COUNT :          7
    PORT :      60001, COUNT :          7

  First Bytes:
    BYTE :         80, COUNT :          1
    BYTE :         66, COUNT :          1
    BYTE :         67, COUNT :          1
    BYTE :         88, COUNT :          1
    BYTE :      65506, COUNT :          1
    BYTE :         94, COUNT :          1
    BYTE :      65514, COUNT :          1
    BYTE :         65, COUNT :          1
    BYTE :      65507, COUNT :          3
    BYTE :      65513, COUNT :          1
    BYTE :         75, COUNT :          1
    BYTE :      65519, COUNT :          1
    BYTE :         81, COUNT :          1
    BYTE :         77, COUNT :          1
    BYTE :         85, COUNT :          1
    BYTE :         82, COUNT :          2
    BYTE :      65479, COUNT :          1
    BYTE :         91, COUNT :          1
    BYTE :         90, COUNT :          1
    BYTE :      65474, COUNT :          1
    BYTE :      65505, COUNT :          1
    BYTE :      65482, COUNT :          1
    BYTE :         84, COUNT :          1
    BYTE :         89, COUNT :          1
    BYTE :      65480, COUNT :          1

  QUIC Versions:
    VERSION : 4294946818, COUNT :         12

  Connection ID Lengths:
Detached from veth-csp1-csp2.
  Stopping CSP2<-CAP eBPF program.
Getting counters.
  Result types:
    TYPE :          3, COUNT :         16
    TYPE :          1, COUNT :          2
    TYPE :          4, COUNT :         12

  Ports:
    PORT :      20000, COUNT :          7
    PORT :      20001, COUNT :          7
    PORT :      60001, COUNT :          7
    PORT :      60000, COUNT :          7

  First Bytes:
    BYTE :         75, COUNT :          1
    BYTE :      65479, COUNT :          1
    BYTE :         94, COUNT :          1
    BYTE :         81, COUNT :          1
    BYTE :      65514, COUNT :          1
    BYTE :      65474, COUNT :          1
    BYTE :         84, COUNT :          1
    BYTE :         66, COUNT :          1
    BYTE :         91, COUNT :          1
    BYTE :         88, COUNT :          1
    BYTE :      65482, COUNT :          1
    BYTE :      65506, COUNT :          1
    BYTE :      65513, COUNT :          1
    BYTE :         65, COUNT :          1
    BYTE :         90, COUNT :          1
    BYTE :         67, COUNT :          1
    BYTE :      65507, COUNT :          3
    BYTE :         82, COUNT :          2
    BYTE :         89, COUNT :          1
    BYTE :      65480, COUNT :          1
    BYTE :      65519, COUNT :          1
    BYTE :         85, COUNT :          1
    BYTE :         77, COUNT :          1
    BYTE :      65505, COUNT :          1
    BYTE :         80, COUNT :          1

  QUIC Versions:
    VERSION : 4294946818, COUNT :         12

  Connection ID Lengths:
Detached from veth-csp-cap.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants