forked from scionproto/scion
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
change last-mile router port forwarding removing dispatcher from snet and infra libraries intermediate commit remove dispatcher fix dataplane port parsing adapt end2end braccept UTs integration no probe add port range fix port range remove ref to dispatcher & reliable socket fix epic failing test remove dispatcher and reliable: - still integration test failing due to lack of support for SCMP handling and more comments, leftovers, small fixes more minor after rebasing pass add stateless dispatcher intermediate commit - Still things missing, e.g., update topology to include stateless dispatcher update topology with reduced dispatcher config add error handling and debug verbose to endHost resolution in BR add reduced forwarding dispatcher integration and utils integration tests lint + chown container fix docker check, only for linux dev lint modify HP and tests lint fix broken rebase lint pass change dispatcher configuration bugfix: QUIC address for client with :0 port slayers: unmap IPv4-mapped IPv6 addresses (scionproto#4377) The Go standard library can produce IPv4-mapped IPv6 addresses when resolving IP addresses. These IP addresses need to be unmapped before putting them on the wire. Before this patch, we could observe the following with tshark: Len=1304 SCION 1-ff00:0:110,[::ffff:172.20.2.2] -> 1-ff00:0:111,[::ffff:172.20.3.2] UDP 32769 -> 32768 1208 The regression was introduced in scionproto#4346, which removed the unmapping behavior in slayers.PackAddr. This patch restores the behavior to ensure only unmapped IPv4 addresses make it on the wire. Handling the unmapping in the code that generates the addresses and only checking this in slayers would seem ideal, but these calls are often very far away from the place that would then trigger an error. Thus handling this in slayers seems like a compromise that saves us and the users of the slayers package a lot of trouble. add packet reflection safeguard in shim add compatible IP_PKTINFO code for windows fix validateNextHopAddr fix isSCMPInfo add endhost port range configuration port range comment udpportRange add fixme allow unspecified address fon SCIONNetwork.Listen retriving nextHop from path and local Interface information add dispatching logic for SCMP at BR remove dispatcher shim support for Windows remove br dispatcher configuration from integration tests add test for old and new br configuration with(out) shim dispatcher comments and minor fixes remove utils_chown container remove docker utils from script pass pass pass refactor topology endhost_port_range comment for router fix dispatcherless docker and integration tests ignore SCMP errors messages on initSvcRedirect() adapt HP test adapt integration tests error string HP control/main dispatcher pass return addresses in helper function by value fix rebase upgrade dispatcher shim config to toml v2 add PortRange() RPC in daemon Revert "modify HP and tests" This reverts commit 1c82e9c. remove leftover CSResolver leftover in HP discovery open a single underlay socket for both the QUIC server and the SVC redirector revert acceptance/hiden_paths test await connectivity in old_br acceptance test pass pass pass pass pass + lint pass changes to snet API + refactor pass + allow for using snet outside the defined port range changes in isShimDispatcher() add destination safeguard to snet.scionConnReader.read() add TODOs lint change dispatched_ports name in topo add dispatched_ports all|ALL option range for services in topology PortGenerator dynamic ports refactoring add isDispatcher flag fix clientNet SCMPHandler add default value for shim underlay addr fix dispatcher port + cleaning isShimDispatcher add dstPort check reader remove leftover + TODO revert destination type in ResolverPacketConn replace UnderlayAddr comment comments + TODOs + refactoring add options pattern NewCookedConn improve error message pass fix rebase rename dispatcher flag mocks pass update sig_short_exp_time docker file fix dialer constructor fix docker image references for sig adapt end2end test to use Dial/Listen API remove debug logs add comment for snet.Dial typo
- Loading branch information
1 parent
c1222ec
commit b20fb4d
Showing
213 changed files
with
3,067 additions
and
11,037 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
load("//acceptance/common:topogen.bzl", "topogen_test") | ||
|
||
topogen_test( | ||
name = "test", | ||
src = "test.py", | ||
args = ["--executable=end2end_integration:$(location //tools/end2end_integration)"], | ||
data = ["//tools/end2end_integration"], | ||
topo = "//acceptance/app_vs_endhost_br_dispatch/testdata:topology.topo", | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
#!/usr/bin/env python3 | ||
|
||
# Copyright 2023 ETH Zurich | ||
|
||
from acceptance.common import base | ||
from acceptance.common import scion | ||
|
||
|
||
class Test(base.TestTopogen): | ||
""" | ||
Constructs a simple test topology with one core, two leaf ASes. | ||
Each of them will run a different mix between BR that will replicate | ||
the legacy endhost-port-dispatch behaviour (i.e., they will send | ||
traffic to its own AS to the endhost default port) and | ||
application-port-dispatch routers (i.e., they will rewrite the underlay | ||
UDP/IP destination port with the UDP/SCION port). | ||
AS 1-ff00:0:1 is core. | ||
AS 1-ff00:0:2, 1-ff00:0:3 are leaves. | ||
We use the shortnames AS1, AS2, etc. for the ASes above. | ||
AS1 contains a BR with the port rewriting configuration to the default | ||
range. It also includes a shim dispatcher. | ||
AS2 contains a BR with a configuration that imitates the old | ||
behaviour, i.e., sending all traffic to default endhost port 30041. | ||
It also includes a shim dispatcher. | ||
AS3 contains a BR with the port rewriting configuration to the default | ||
range. It does not include the shim dispatcher. | ||
""" | ||
|
||
def setup_prepare(self): | ||
super().setup_prepare() | ||
|
||
br_as_2_id = "br1-ff00_0_2-1" | ||
|
||
br_as_2_file = self.artifacts / "gen" / "ASff00_0_2" \ | ||
/ ("%s.toml" % br_as_2_id) | ||
scion.update_toml({"router.dispatched_port_start": 0, | ||
"router.dispatched_port_end": 0}, | ||
[br_as_2_file]) | ||
|
||
def setup_start(self): | ||
super().setup_start() | ||
self.await_connectivity() | ||
|
||
def _run(self): | ||
ping_test = self.get_executable("end2end_integration") | ||
ping_test["-d", "-outDir", self.artifacts].run_fg() | ||
|
||
|
||
if __name__ == "__main__": | ||
base.main(Test) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
exports_files([ | ||
"topology.topo", | ||
]) |
15 changes: 15 additions & 0 deletions
15
acceptance/app_vs_endhost_br_dispatch/testdata/topology.topo
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
--- # Test Topology | ||
ASes: | ||
"1-ff00:0:1": | ||
core: true | ||
voting: true | ||
authoritative: true | ||
issuing: true | ||
"1-ff00:0:2": | ||
cert_issuer: 1-ff00:0:1 | ||
"1-ff00:0:3": | ||
cert_issuer: 1-ff00:0:1 | ||
test_dispatcher: False | ||
links: | ||
- {a: "1-ff00:0:1#2", b: "1-ff00:0:2#1", linkAtoB: CHILD} | ||
- {a: "1-ff00:0:1#3", b: "1-ff00:0:3#1", linkAtoB: CHILD} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,7 @@ | ||
{ | ||
"isd_as": "1-ff00:0:110", | ||
"mtu": 1400, | ||
"dispatched_ports": "1024-65535", | ||
"attributes": [ | ||
"core" | ||
], | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,4 @@ | ||
[general] | ||
reconnect_to_dispatcher = true | ||
config_dir = "/" | ||
id = "cs1-ff00_0_110-1" | ||
|
||
|
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,4 @@ | ||
[general] | ||
reconnect_to_dispatcher = true | ||
config_dir = "/" | ||
id = "sd1-ff00_0_110" | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,7 @@ | ||
{ | ||
"isd_as": "1-ff00:0:110", | ||
"mtu": 1400, | ||
"dispatched_ports": "1024-65535", | ||
"attributes": [ | ||
"core" | ||
], | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.