Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ycai
simbricks
Commits
d58221bd
Commit
d58221bd
authored
Aug 24, 2021
by
Antoine Kaufmann
Browse files
experiments: classes for sockets proxy
parent
e50a3c2d
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
50 additions
and
24 deletions
+50
-24
experiments/simbricks/proxy.py
experiments/simbricks/proxy.py
+50
-24
No files found.
experiments/simbricks/proxy.py
View file @
d58221bd
...
@@ -52,7 +52,9 @@ class NetProxy(SimProxy):
...
@@ -52,7 +52,9 @@ class NetProxy(SimProxy):
return
10
return
10
class
NetProxyListener
(
NetProxy
):
class
NetProxyListener
(
NetProxy
):
port
=
12345
connecter
=
None
connecter
=
None
listen
=
True
def
__init__
(
self
):
def
__init__
(
self
):
super
().
__init__
()
super
().
__init__
()
...
@@ -104,6 +106,20 @@ class NetProxyListener(NetProxy):
...
@@ -104,6 +106,20 @@ class NetProxyListener(NetProxy):
socks
.
append
(
env
.
n2n_eth_path
(
net_l
,
net_c
))
socks
.
append
(
env
.
n2n_eth_path
(
net_l
,
net_c
))
return
socks
return
socks
def
run_cmd_base
(
self
,
env
):
cmd
=
(
f
'-s
{
env
.
proxy_shm_path
(
self
)
}
'
f
'-S
{
self
.
shm_size
}
'
)
for
(
nic
,
local
)
in
self
.
nics
:
cmd
+=
'-d '
if
local
else
'-n '
cmd
+=
env
.
nic_eth_path
(
nic
)
+
' '
for
((
net_c
,
net_l
),
local
)
in
self
.
n2ns
:
cmd
+=
'-d '
if
local
else
'-n '
cmd
+=
env
.
n2n_eth_path
(
net_l
,
net_c
)
+
' '
cmd
+=
f
' 0.0.0.0
{
self
.
port
}
'
return
cmd
class
NetProxyConnecter
(
NetProxy
):
class
NetProxyConnecter
(
NetProxy
):
listener
=
None
listener
=
None
...
@@ -157,27 +173,28 @@ class NetProxyConnecter(NetProxy):
...
@@ -157,27 +173,28 @@ class NetProxyConnecter(NetProxy):
socks
.
append
(
env
.
n2n_eth_path
(
net_l
,
net_c
))
socks
.
append
(
env
.
n2n_eth_path
(
net_l
,
net_c
))
return
socks
return
socks
def
run_cmd_base
(
self
,
env
):
class
RDMANetProxyListener
(
NetProxyListener
):
cmd
=
(
f
'-s
{
env
.
proxy_shm_path
(
self
)
}
'
port
=
12345
def
__init__
(
self
):
super
().
__init__
()
self
.
listen
=
True
def
run_cmd
(
self
,
env
):
cmd
=
(
f
'
{
env
.
repodir
}
/dist/rdma/net_rdma -l '
f
'-s
{
env
.
proxy_shm_path
(
self
)
}
'
f
'-S
{
self
.
shm_size
}
'
)
f
'-S
{
self
.
shm_size
}
'
)
for
(
nic
,
local
)
in
self
.
nics
:
for
(
nic
,
local
)
in
self
.
nics
:
cmd
+=
'-
d
'
if
local
else
'-
n
'
cmd
+=
'-
n
'
if
local
else
'-
d
'
cmd
+=
env
.
nic_eth_path
(
nic
)
+
' '
cmd
+=
env
.
nic_eth_path
(
nic
)
+
' '
for
((
net_c
,
net_l
),
local
)
in
self
.
n2ns
:
for
((
net_c
,
net_l
),
local
)
in
self
.
n2ns
:
cmd
+=
'-
d
'
if
local
else
'-
n
'
cmd
+=
'-
n
'
if
local
else
'-
d
'
cmd
+=
env
.
n2n_eth_path
(
net_l
,
net_c
)
+
' '
cmd
+=
env
.
n2n_eth_path
(
net_l
,
net_c
)
+
' '
cmd
+=
f
' 0.0.0.0
{
self
.
port
}
'
cmd
+=
f
'
{
self
.
listener
.
ip
}
{
self
.
listener
.
port
}
'
return
cmd
class
RDMANetProxyListener
(
NetProxyListener
):
def
__init__
(
self
):
super
().
__init__
()
def
run_cmd
(
self
,
env
):
cmd
=
f
'
{
env
.
repodir
}
/dist/rdma/net_rdma -l '
cmd
+=
super
().
run_cmd_base
(
env
)
return
cmd
return
cmd
class
RDMANetProxyConnecter
(
NetProxyConnecter
):
class
RDMANetProxyConnecter
(
NetProxyConnecter
):
...
@@ -185,16 +202,25 @@ class RDMANetProxyConnecter(NetProxyConnecter):
...
@@ -185,16 +202,25 @@ class RDMANetProxyConnecter(NetProxyConnecter):
super
().
__init__
(
listener
)
super
().
__init__
(
listener
)
def
run_cmd
(
self
,
env
):
def
run_cmd
(
self
,
env
):
cmd
=
(
f
'
{
env
.
repodir
}
/dist/rdma/net_rdma '
cmd
=
f
'
{
env
.
repodir
}
/dist/rdma/net_rdma '
f
'-s
{
env
.
proxy_shm_path
(
self
)
}
'
cmd
+=
super
().
run_cmd_base
(
env
)
f
'-S
{
self
.
shm_size
}
'
)
return
cmd
for
(
nic
,
local
)
in
self
.
nics
:
cmd
+=
'-n '
if
local
else
'-d '
cmd
+=
env
.
nic_eth_path
(
nic
)
+
' '
for
((
net_c
,
net_l
),
local
)
in
self
.
n2ns
:
cmd
+=
'-n '
if
local
else
'-d '
cmd
+=
env
.
n2n_eth_path
(
net_l
,
net_c
)
+
' '
cmd
+=
f
'
{
self
.
listener
.
ip
}
{
self
.
listener
.
port
}
'
class
SocketsNetProxyListener
(
NetProxyListener
):
def
__init__
(
self
):
super
().
__init__
()
def
run_cmd
(
self
,
env
):
cmd
=
f
'
{
env
.
repodir
}
/dist/sockets/net_sockets -l '
cmd
+=
super
().
run_cmd_base
(
env
)
return
cmd
class
SocketsNetProxyConnecter
(
NetProxyConnecter
):
def
__init__
(
self
,
listener
):
super
().
__init__
(
listener
)
def
run_cmd
(
self
,
env
):
cmd
=
f
'
{
env
.
repodir
}
/dist/sockets/net_sockets '
cmd
+=
super
().
run_cmd_base
(
env
)
return
cmd
return
cmd
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment