Skip to content

Commit

Permalink
sensorapp: convert to pan
Browse files Browse the repository at this point in the history
Add path policy options to command line.
  • Loading branch information
matzf committed Dec 3, 2021
1 parent 180fb75 commit cc57bda
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 7 deletions.
19 changes: 16 additions & 3 deletions sensorapp/sensorfetcher/sensorfetcher.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,16 @@
package main

import (
"context"
"flag"
"fmt"
"log"
"os"
"strings"

"github.com/netsec-ethz/scion-apps/pkg/appnet"
"inet.af/netaddr"

"github.com/netsec-ethz/scion-apps/pkg/pan"
)

func check(e error) {
Expand All @@ -33,16 +37,25 @@ func check(e error) {
}

func main() {

serverAddrStr := flag.String("s", "", "Server address (<ISD-AS,[IP]:port> or <hostname:port>)")
interactive := flag.Bool("i", false, "Interactive path selection, prompt to choose path")
sequence := flag.String("sequence", "", "Sequence of space separated hop predicates to specify path")
preference := flag.String("preference", "", "Preference sorting order for paths. "+
"Comma-separated list of available sorting options: "+
strings.Join(pan.AvailablePreferencePolicies, "|"))

flag.Parse()

if len(*serverAddrStr) == 0 {
flag.Usage()
os.Exit(2)
}

conn, err := appnet.Dial(*serverAddrStr)
policy, err := pan.PolicyFromCommandline(*sequence, *preference, *interactive)
check(err)
serverAddr, err := pan.ResolveUDPAddr(*serverAddrStr)
check(err)
conn, err := pan.DialUDP(context.Background(), netaddr.IPPort{}, serverAddr, policy, nil)
check(err)

receivePacketBuffer := make([]byte, 2500)
Expand Down
12 changes: 8 additions & 4 deletions sensorapp/sensorserver/sensorserver.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,16 @@ package main

import (
"bufio"
"context"
"flag"
"log"
"os"
"strings"
"sync"

"github.com/netsec-ethz/scion-apps/pkg/appnet"
"inet.af/netaddr"

"github.com/netsec-ethz/scion-apps/pkg/pan"
)

const (
Expand Down Expand Up @@ -78,13 +81,14 @@ func main() {
port := flag.Uint("p", 40002, "Server Port")
flag.Parse()

conn, err := appnet.ListenPort(uint16(*port))
local := netaddr.IPPortFrom(netaddr.IP{}, uint16(*port))
conn, err := pan.ListenUDP(context.Background(), local, nil)
check(err)

receivePacketBuffer := make([]byte, 2500)
sendPacketBuffer := make([]byte, 2500)
for {
_, clientAddress, err := conn.ReadFrom(receivePacketBuffer)
_, clientAddress, path, err := conn.ReadFromVia(receivePacketBuffer)
check(err)

// Packet received, send back response to same client
Expand All @@ -102,7 +106,7 @@ func main() {
sensorValues = timeStr + "\n" + sensorValues
copy(sendPacketBuffer, sensorValues)

_, err = conn.WriteTo(sendPacketBuffer[:len(sensorValues)], clientAddress)
_, err = conn.WriteToVia(sendPacketBuffer[:len(sensorValues)], clientAddress, path)
check(err)
}
}

0 comments on commit cc57bda

Please sign in to comment.