diff --git a/go/svc/topo/state/state.go b/go/svc/topo/state/state.go
index 58a1fdd..8a223ae 100644
--- a/go/svc/topo/state/state.go
+++ b/go/svc/topo/state/state.go
@@ -7,24 +7,24 @@
 
 	"google.golang.org/grpc"
 
-	cpb "code.hackerspace.pl/hscloud/go/svc/topo/proto/config"
-	pb "code.hackerspace.pl/hscloud/go/svc/topo/proto/control"
+	ipb "code.hackerspace.pl/hscloud/go/proto/infra"
+	confpb "code.hackerspace.pl/hscloud/go/svc/topo/proto/config"
 
 	"code.hackerspace.pl/hscloud/go/pki"
 )
 
 type SwitchportState struct {
-	Proto *pb.SwitchPort
+	Proto *ipb.SwitchPort
 }
 
 type SwitchState struct {
 	Name  string
 	Ports []*SwitchportState
-	Stub  pb.SwitchControlClient
+	Stub  ipb.SwitchControlClient
 }
 
 func (s *SwitchState) Fetch(ctx context.Context) error {
-	req := pb.GetPortsRequest{}
+	req := ipb.GetPortsRequest{}
 	res, err := s.Stub.GetPorts(ctx, &req)
 	if err != nil {
 		return fmt.Errorf("GetPorts: %v", err)
@@ -49,7 +49,7 @@
 	}
 }
 
-func (s *StateManager) FetchState(ctx context.Context, conf *cpb.Config) error {
+func (s *StateManager) FetchState(ctx context.Context, conf *confpb.Config) error {
 	s.Mu.Lock()
 	defer s.Mu.Unlock()
 	for _, sw := range conf.Switch {
@@ -65,7 +65,7 @@
 
 		s.Switches[sw.Name] = &SwitchState{
 			Name: sw.Name,
-			Stub: pb.NewSwitchControlClient(conn),
+			Stub: ipb.NewSwitchControlClient(conn),
 		}
 		err := s.Switches[sw.Name].Fetch(ctx)
 		if err != nil {
