mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-07-05 19:47:53 +00:00
Merge pull request #867 from sboeuf/iface_type
virtcontainers: Rely on new interface LinkType field
This commit is contained in:
commit
abfc61b50d
@ -17,8 +17,8 @@ import (
|
||||
"golang.org/x/sys/unix"
|
||||
|
||||
"github.com/containernetworking/plugins/pkg/ns"
|
||||
"github.com/kata-containers/agent/pkg/types"
|
||||
vc "github.com/kata-containers/runtime/virtcontainers"
|
||||
"github.com/kata-containers/runtime/virtcontainers/pkg/types"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/urfave/cli"
|
||||
)
|
||||
|
@ -18,8 +18,8 @@ import (
|
||||
"golang.org/x/sys/unix"
|
||||
|
||||
"github.com/containernetworking/plugins/pkg/ns"
|
||||
"github.com/kata-containers/agent/pkg/types"
|
||||
vc "github.com/kata-containers/runtime/virtcontainers"
|
||||
"github.com/kata-containers/runtime/virtcontainers/pkg/types"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@ -21,8 +21,8 @@ import (
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
"github.com/kata-containers/agent/pkg/types"
|
||||
"github.com/kata-containers/runtime/pkg/signals"
|
||||
"github.com/kata-containers/runtime/virtcontainers/pkg/types"
|
||||
"github.com/sirupsen/logrus"
|
||||
lSyslog "github.com/sirupsen/logrus/hooks/syslog"
|
||||
"github.com/vishvananda/netlink"
|
||||
@ -259,7 +259,7 @@ func (n *netmon) listenNetlinkEvents() error {
|
||||
// convertInterface converts a link and its IP addresses as defined by netlink
|
||||
// package, into the Interface structure format expected by kata-runtime to
|
||||
// describe an interface and its associated IP addresses.
|
||||
func convertInterface(linkAttrs *netlink.LinkAttrs, addrs []netlink.Addr) types.Interface {
|
||||
func convertInterface(linkAttrs *netlink.LinkAttrs, linkType string, addrs []netlink.Addr) types.Interface {
|
||||
if linkAttrs == nil {
|
||||
netmonLog.Warn("Link attributes are nil")
|
||||
return types.Interface{}
|
||||
@ -275,7 +275,7 @@ func convertInterface(linkAttrs *netlink.LinkAttrs, addrs []netlink.Addr) types.
|
||||
netMask, _ := addr.Mask.Size()
|
||||
|
||||
ipAddr := &types.IPAddress{
|
||||
Family: types.IPFamily(netlinkFamily),
|
||||
Family: netlinkFamily,
|
||||
Address: addr.IP.String(),
|
||||
Mask: fmt.Sprintf("%d", netMask),
|
||||
}
|
||||
@ -289,6 +289,7 @@ func convertInterface(linkAttrs *netlink.LinkAttrs, addrs []netlink.Addr) types.
|
||||
IPAddresses: ipAddrs,
|
||||
Mtu: uint64(linkAttrs.MTU),
|
||||
HwAddr: linkAttrs.HardwareAddr.String(),
|
||||
LinkType: linkType,
|
||||
}
|
||||
|
||||
netmonLog.WithField("interface", iface).Debug("Interface converted")
|
||||
@ -369,7 +370,7 @@ func (n *netmon) scanNetwork() error {
|
||||
continue
|
||||
}
|
||||
|
||||
iface := convertInterface(linkAttrs, addrs)
|
||||
iface := convertInterface(linkAttrs, link.Type(), addrs)
|
||||
n.netIfaces[linkAttrs.Index] = iface
|
||||
}
|
||||
|
||||
@ -497,7 +498,7 @@ func (n *netmon) handleRTMNewLink(ev netlink.LinkUpdate) error {
|
||||
}
|
||||
|
||||
// Convert the interfaces in the appropriate structure format.
|
||||
iface := convertInterface(linkAttrs, addrs)
|
||||
iface := convertInterface(linkAttrs, ev.Link.Type(), addrs)
|
||||
|
||||
// Add the interface through the Kata CLI.
|
||||
if err := n.addInterfaceCLI(iface); err != nil {
|
||||
|
@ -16,7 +16,7 @@ import (
|
||||
"runtime"
|
||||
"testing"
|
||||
|
||||
"github.com/kata-containers/agent/pkg/types"
|
||||
"github.com/kata-containers/runtime/virtcontainers/pkg/types"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/vishvananda/netlink"
|
||||
@ -174,6 +174,8 @@ func TestConvertInterface(t *testing.T) {
|
||||
HardwareAddr: hwAddr,
|
||||
}
|
||||
|
||||
linkType := "link_type_test"
|
||||
|
||||
expected := types.Interface{
|
||||
Device: testIfaceName,
|
||||
Name: testIfaceName,
|
||||
@ -181,14 +183,15 @@ func TestConvertInterface(t *testing.T) {
|
||||
HwAddr: testHwAddr,
|
||||
IPAddresses: []*types.IPAddress{
|
||||
{
|
||||
Family: types.IPFamily(netlinkFamily),
|
||||
Family: netlinkFamily,
|
||||
Address: testIPAddress,
|
||||
Mask: "0",
|
||||
},
|
||||
},
|
||||
LinkType: linkType,
|
||||
}
|
||||
|
||||
got := convertInterface(linkAttrs, addrs)
|
||||
got := convertInterface(linkAttrs, linkType, addrs)
|
||||
assert.True(t, reflect.DeepEqual(expected, got),
|
||||
"Got %+v\nExpected %+v", got, expected)
|
||||
}
|
||||
@ -268,6 +271,7 @@ func testCreateDummyNetwork(t *testing.T, handler *netlink.Handle) (int, types.I
|
||||
Name: testIfaceName,
|
||||
Mtu: uint64(testMTU),
|
||||
HwAddr: testHwAddr,
|
||||
LinkType: link.Type(),
|
||||
}
|
||||
|
||||
return attrs.Index, iface
|
||||
|
@ -9,8 +9,8 @@ import (
|
||||
"fmt"
|
||||
"syscall"
|
||||
|
||||
"github.com/kata-containers/agent/pkg/types"
|
||||
"github.com/kata-containers/agent/protocols/grpc"
|
||||
"github.com/kata-containers/runtime/virtcontainers/pkg/types"
|
||||
"github.com/mitchellh/mapstructure"
|
||||
specs "github.com/opencontainers/runtime-spec/specs-go"
|
||||
"golang.org/x/net/context"
|
||||
|
@ -11,9 +11,9 @@ import (
|
||||
"runtime"
|
||||
"syscall"
|
||||
|
||||
"github.com/kata-containers/agent/pkg/types"
|
||||
deviceApi "github.com/kata-containers/runtime/virtcontainers/device/api"
|
||||
deviceConfig "github.com/kata-containers/runtime/virtcontainers/device/config"
|
||||
"github.com/kata-containers/runtime/virtcontainers/pkg/types"
|
||||
specs "github.com/opencontainers/runtime-spec/specs-go"
|
||||
opentracing "github.com/opentracing/opentracing-go"
|
||||
"github.com/sirupsen/logrus"
|
||||
|
@ -18,8 +18,8 @@ import (
|
||||
"testing"
|
||||
|
||||
"github.com/containernetworking/plugins/pkg/ns"
|
||||
"github.com/kata-containers/agent/pkg/types"
|
||||
"github.com/kata-containers/runtime/virtcontainers/pkg/mock"
|
||||
"github.com/kata-containers/runtime/virtcontainers/pkg/types"
|
||||
specs "github.com/opencontainers/runtime-spec/specs-go"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
@ -18,11 +18,11 @@ import (
|
||||
"github.com/vishvananda/netlink"
|
||||
|
||||
proxyClient "github.com/clearcontainers/proxy/client"
|
||||
"github.com/kata-containers/agent/pkg/types"
|
||||
"github.com/kata-containers/agent/protocols/grpc"
|
||||
"github.com/kata-containers/runtime/virtcontainers/device/config"
|
||||
"github.com/kata-containers/runtime/virtcontainers/pkg/hyperstart"
|
||||
ns "github.com/kata-containers/runtime/virtcontainers/pkg/nsenter"
|
||||
"github.com/kata-containers/runtime/virtcontainers/pkg/types"
|
||||
"github.com/kata-containers/runtime/virtcontainers/utils"
|
||||
specs "github.com/opencontainers/runtime-spec/specs-go"
|
||||
"golang.org/x/net/context"
|
||||
|
@ -13,9 +13,9 @@ import (
|
||||
"context"
|
||||
"syscall"
|
||||
|
||||
"github.com/kata-containers/agent/pkg/types"
|
||||
"github.com/kata-containers/runtime/virtcontainers/device/api"
|
||||
"github.com/kata-containers/runtime/virtcontainers/device/config"
|
||||
"github.com/kata-containers/runtime/virtcontainers/pkg/types"
|
||||
specs "github.com/opencontainers/runtime-spec/specs-go"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
@ -10,9 +10,9 @@ import (
|
||||
"io"
|
||||
"syscall"
|
||||
|
||||
"github.com/kata-containers/agent/pkg/types"
|
||||
"github.com/kata-containers/runtime/virtcontainers/device/api"
|
||||
"github.com/kata-containers/runtime/virtcontainers/device/config"
|
||||
"github.com/kata-containers/runtime/virtcontainers/pkg/types"
|
||||
specs "github.com/opencontainers/runtime-spec/specs-go"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
@ -18,12 +18,13 @@ import (
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
"github.com/kata-containers/agent/pkg/types"
|
||||
aTypes "github.com/kata-containers/agent/pkg/types"
|
||||
kataclient "github.com/kata-containers/agent/protocols/client"
|
||||
"github.com/kata-containers/agent/protocols/grpc"
|
||||
"github.com/kata-containers/runtime/virtcontainers/device/config"
|
||||
vcAnnotations "github.com/kata-containers/runtime/virtcontainers/pkg/annotations"
|
||||
ns "github.com/kata-containers/runtime/virtcontainers/pkg/nsenter"
|
||||
"github.com/kata-containers/runtime/virtcontainers/pkg/types"
|
||||
"github.com/kata-containers/runtime/virtcontainers/pkg/uuid"
|
||||
"github.com/kata-containers/runtime/virtcontainers/utils"
|
||||
opentracing "github.com/opentracing/opentracing-go"
|
||||
@ -31,6 +32,7 @@ import (
|
||||
"github.com/gogo/protobuf/proto"
|
||||
"github.com/opencontainers/runtime-spec/specs-go"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/vishvananda/netlink"
|
||||
"golang.org/x/net/context"
|
||||
golangGrpc "google.golang.org/grpc"
|
||||
"google.golang.org/grpc/codes"
|
||||
@ -387,7 +389,7 @@ func (k *kataAgent) exec(sandbox *Sandbox, c Container, cmd Cmd) (*Process, erro
|
||||
func (k *kataAgent) updateInterface(ifc *types.Interface) (*types.Interface, error) {
|
||||
// send update interface request
|
||||
ifcReq := &grpc.UpdateInterfaceRequest{
|
||||
Interface: ifc,
|
||||
Interface: k.convertToKataAgentInterface(ifc),
|
||||
}
|
||||
resultingInterface, err := k.sendReq(ifcReq)
|
||||
if err != nil {
|
||||
@ -415,7 +417,7 @@ func (k *kataAgent) updateRoutes(routes []*types.Route) ([]*types.Route, error)
|
||||
if routes != nil {
|
||||
routesReq := &grpc.UpdateRoutesRequest{
|
||||
Routes: &grpc.Routes{
|
||||
Routes: routes,
|
||||
Routes: k.convertToKataAgentRoutes(routes),
|
||||
},
|
||||
}
|
||||
resultingRoutes, err := k.sendReq(routesReq)
|
||||
@ -427,7 +429,7 @@ func (k *kataAgent) updateRoutes(routes []*types.Route) ([]*types.Route, error)
|
||||
}
|
||||
resultRoutes, ok := resultingRoutes.(*grpc.Routes)
|
||||
if ok && resultRoutes != nil {
|
||||
return resultRoutes.Routes, err
|
||||
return k.convertToRoutes(resultRoutes.Routes), err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
@ -442,7 +444,7 @@ func (k *kataAgent) listInterfaces() ([]*types.Interface, error) {
|
||||
}
|
||||
resultInterfaces, ok := resultingInterfaces.(*grpc.Interfaces)
|
||||
if ok {
|
||||
return resultInterfaces.Interfaces, err
|
||||
return k.convertToInterfaces(resultInterfaces.Interfaces), err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
@ -455,7 +457,7 @@ func (k *kataAgent) listRoutes() ([]*types.Route, error) {
|
||||
}
|
||||
resultRoutes, ok := resultingRoutes.(*grpc.Routes)
|
||||
if ok {
|
||||
return resultRoutes.Routes, err
|
||||
return k.convertToRoutes(resultRoutes.Routes), err
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
@ -1549,3 +1551,137 @@ func (k *kataAgent) getGuestDetails(req *grpc.GuestDetailsRequest) (*grpc.GuestD
|
||||
|
||||
return resp.(*grpc.GuestDetailsResponse), nil
|
||||
}
|
||||
|
||||
func (k *kataAgent) convertToKataAgentIPFamily(ipFamily int) aTypes.IPFamily {
|
||||
switch ipFamily {
|
||||
case netlink.FAMILY_V4:
|
||||
return aTypes.IPFamily_v4
|
||||
case netlink.FAMILY_V6:
|
||||
return aTypes.IPFamily_v6
|
||||
}
|
||||
|
||||
return aTypes.IPFamily_v4
|
||||
}
|
||||
|
||||
func (k *kataAgent) convertToIPFamily(ipFamily aTypes.IPFamily) int {
|
||||
switch ipFamily {
|
||||
case aTypes.IPFamily_v4:
|
||||
return netlink.FAMILY_V4
|
||||
case aTypes.IPFamily_v6:
|
||||
return netlink.FAMILY_V6
|
||||
}
|
||||
|
||||
return netlink.FAMILY_V4
|
||||
}
|
||||
|
||||
func (k *kataAgent) convertToKataAgentIPAddresses(ipAddrs []*types.IPAddress) (aIPAddrs []*aTypes.IPAddress) {
|
||||
for _, ipAddr := range ipAddrs {
|
||||
if ipAddr == nil {
|
||||
continue
|
||||
}
|
||||
|
||||
aIPAddr := &aTypes.IPAddress{
|
||||
Family: k.convertToKataAgentIPFamily(ipAddr.Family),
|
||||
Address: ipAddr.Address,
|
||||
Mask: ipAddr.Mask,
|
||||
}
|
||||
|
||||
aIPAddrs = append(aIPAddrs, aIPAddr)
|
||||
}
|
||||
|
||||
return aIPAddrs
|
||||
}
|
||||
|
||||
func (k *kataAgent) convertToIPAddresses(aIPAddrs []*aTypes.IPAddress) (ipAddrs []*types.IPAddress) {
|
||||
for _, aIPAddr := range aIPAddrs {
|
||||
if aIPAddr == nil {
|
||||
continue
|
||||
}
|
||||
|
||||
ipAddr := &types.IPAddress{
|
||||
Family: k.convertToIPFamily(aIPAddr.Family),
|
||||
Address: aIPAddr.Address,
|
||||
Mask: aIPAddr.Mask,
|
||||
}
|
||||
|
||||
ipAddrs = append(ipAddrs, ipAddr)
|
||||
}
|
||||
|
||||
return ipAddrs
|
||||
}
|
||||
|
||||
func (k *kataAgent) convertToKataAgentInterface(iface *types.Interface) *aTypes.Interface {
|
||||
if iface == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
return &aTypes.Interface{
|
||||
Device: iface.Device,
|
||||
Name: iface.Name,
|
||||
IPAddresses: k.convertToKataAgentIPAddresses(iface.IPAddresses),
|
||||
Mtu: iface.Mtu,
|
||||
HwAddr: iface.HwAddr,
|
||||
PciAddr: iface.PciAddr,
|
||||
}
|
||||
}
|
||||
|
||||
func (k *kataAgent) convertToInterfaces(aIfaces []*aTypes.Interface) (ifaces []*types.Interface) {
|
||||
for _, aIface := range aIfaces {
|
||||
if aIface == nil {
|
||||
continue
|
||||
}
|
||||
|
||||
iface := &types.Interface{
|
||||
Device: aIface.Device,
|
||||
Name: aIface.Name,
|
||||
IPAddresses: k.convertToIPAddresses(aIface.IPAddresses),
|
||||
Mtu: aIface.Mtu,
|
||||
HwAddr: aIface.HwAddr,
|
||||
PciAddr: aIface.PciAddr,
|
||||
}
|
||||
|
||||
ifaces = append(ifaces, iface)
|
||||
}
|
||||
|
||||
return ifaces
|
||||
}
|
||||
|
||||
func (k *kataAgent) convertToKataAgentRoutes(routes []*types.Route) (aRoutes []*aTypes.Route) {
|
||||
for _, route := range routes {
|
||||
if route == nil {
|
||||
continue
|
||||
}
|
||||
|
||||
aRoute := &aTypes.Route{
|
||||
Dest: route.Dest,
|
||||
Gateway: route.Gateway,
|
||||
Device: route.Device,
|
||||
Source: route.Source,
|
||||
Scope: route.Scope,
|
||||
}
|
||||
|
||||
aRoutes = append(aRoutes, aRoute)
|
||||
}
|
||||
|
||||
return aRoutes
|
||||
}
|
||||
|
||||
func (k *kataAgent) convertToRoutes(aRoutes []*aTypes.Route) (routes []*types.Route) {
|
||||
for _, aRoute := range aRoutes {
|
||||
if aRoute == nil {
|
||||
continue
|
||||
}
|
||||
|
||||
route := &types.Route{
|
||||
Dest: aRoute.Dest,
|
||||
Gateway: aRoute.Gateway,
|
||||
Device: aRoute.Device,
|
||||
Source: aRoute.Source,
|
||||
Scope: aRoute.Scope,
|
||||
}
|
||||
|
||||
routes = append(routes, route)
|
||||
}
|
||||
|
||||
return routes
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ import (
|
||||
"golang.org/x/net/context"
|
||||
"google.golang.org/grpc"
|
||||
|
||||
"github.com/kata-containers/agent/pkg/types"
|
||||
aTypes "github.com/kata-containers/agent/pkg/types"
|
||||
pb "github.com/kata-containers/agent/protocols/grpc"
|
||||
"github.com/kata-containers/runtime/virtcontainers/device/api"
|
||||
"github.com/kata-containers/runtime/virtcontainers/device/config"
|
||||
@ -31,6 +31,7 @@ import (
|
||||
"github.com/kata-containers/runtime/virtcontainers/device/manager"
|
||||
vcAnnotations "github.com/kata-containers/runtime/virtcontainers/pkg/annotations"
|
||||
"github.com/kata-containers/runtime/virtcontainers/pkg/mock"
|
||||
"github.com/kata-containers/runtime/virtcontainers/pkg/types"
|
||||
)
|
||||
|
||||
var (
|
||||
@ -185,16 +186,16 @@ func (p *gRPCProxy) DestroySandbox(ctx context.Context, req *pb.DestroySandboxRe
|
||||
return emptyResp, nil
|
||||
}
|
||||
|
||||
func (p *gRPCProxy) AddInterface(ctx context.Context, req *pb.AddInterfaceRequest) (*types.Interface, error) {
|
||||
func (p *gRPCProxy) AddInterface(ctx context.Context, req *pb.AddInterfaceRequest) (*aTypes.Interface, error) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (p *gRPCProxy) RemoveInterface(ctx context.Context, req *pb.RemoveInterfaceRequest) (*types.Interface, error) {
|
||||
func (p *gRPCProxy) RemoveInterface(ctx context.Context, req *pb.RemoveInterfaceRequest) (*aTypes.Interface, error) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (p *gRPCProxy) UpdateInterface(ctx context.Context, req *pb.UpdateInterfaceRequest) (*types.Interface, error) {
|
||||
return &types.Interface{}, nil
|
||||
func (p *gRPCProxy) UpdateInterface(ctx context.Context, req *pb.UpdateInterfaceRequest) (*aTypes.Interface, error) {
|
||||
return &aTypes.Interface{}, nil
|
||||
}
|
||||
|
||||
func (p *gRPCProxy) UpdateRoutes(ctx context.Context, req *pb.UpdateRoutesRequest) (*pb.Routes, error) {
|
||||
|
@ -22,7 +22,7 @@ import (
|
||||
"github.com/vishvananda/netns"
|
||||
"golang.org/x/sys/unix"
|
||||
|
||||
"github.com/kata-containers/agent/pkg/types"
|
||||
"github.com/kata-containers/runtime/virtcontainers/pkg/types"
|
||||
"github.com/kata-containers/runtime/virtcontainers/pkg/uuid"
|
||||
"github.com/kata-containers/runtime/virtcontainers/utils"
|
||||
)
|
||||
@ -1182,7 +1182,7 @@ func generateInterfacesAndRoutes(networkNS NetworkNamespace) ([]*types.Interface
|
||||
}
|
||||
netMask, _ := addr.Mask.Size()
|
||||
ipAddress := types.IPAddress{
|
||||
Family: types.IPFamily_v4,
|
||||
Family: netlink.FAMILY_V4,
|
||||
Address: addr.IP.String(),
|
||||
Mask: fmt.Sprintf("%d", netMask),
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ import (
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/kata-containers/agent/pkg/types"
|
||||
"github.com/kata-containers/runtime/virtcontainers/pkg/types"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/vishvananda/netlink"
|
||||
)
|
||||
@ -162,8 +162,8 @@ func TestGenerateInterfacesAndRoutes(t *testing.T) {
|
||||
// Build expected results:
|
||||
//
|
||||
expectedAddresses := []*types.IPAddress{
|
||||
{Family: 0, Address: "172.17.0.2", Mask: "16"},
|
||||
{Family: 0, Address: "182.17.0.2", Mask: "16"},
|
||||
{Family: netlink.FAMILY_V4, Address: "172.17.0.2", Mask: "16"},
|
||||
{Family: netlink.FAMILY_V4, Address: "182.17.0.2", Mask: "16"},
|
||||
}
|
||||
|
||||
expectedInterfaces := []*types.Interface{
|
||||
|
@ -8,8 +8,8 @@ package virtcontainers
|
||||
import (
|
||||
"syscall"
|
||||
|
||||
"github.com/kata-containers/agent/pkg/types"
|
||||
"github.com/kata-containers/agent/protocols/grpc"
|
||||
"github.com/kata-containers/runtime/virtcontainers/pkg/types"
|
||||
specs "github.com/opencontainers/runtime-spec/specs-go"
|
||||
"golang.org/x/net/context"
|
||||
)
|
||||
|
40
virtcontainers/pkg/types/types.go
Normal file
40
virtcontainers/pkg/types/types.go
Normal file
@ -0,0 +1,40 @@
|
||||
// Copyright 2018 Intel Corporation.
|
||||
//
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
package types
|
||||
|
||||
// IPAddress describes an IP address.
|
||||
type IPAddress struct {
|
||||
Family int
|
||||
Address string
|
||||
Mask string
|
||||
}
|
||||
|
||||
// Interface describes a network interface.
|
||||
type Interface struct {
|
||||
Device string
|
||||
Name string
|
||||
IPAddresses []*IPAddress
|
||||
Mtu uint64
|
||||
HwAddr string
|
||||
// pciAddr is the PCI address in the format "bridgeAddr/deviceAddr".
|
||||
// Here, bridgeAddr is the address at which the bridge is attached on the root bus,
|
||||
// while deviceAddr is the address at which the network device is attached on the bridge.
|
||||
PciAddr string
|
||||
// LinkType defines the type of interface described by this structure.
|
||||
// The expected values are the one that are defined by the netlink
|
||||
// library, regarding each type of link. Here is a non exhaustive
|
||||
// list: "veth", "macvtap", "vlan", "macvlan", "tap", ...
|
||||
LinkType string
|
||||
}
|
||||
|
||||
// Route describes a network route.
|
||||
type Route struct {
|
||||
Dest string
|
||||
Gateway string
|
||||
Device string
|
||||
Source string
|
||||
Scope uint32
|
||||
}
|
@ -20,10 +20,10 @@ import (
|
||||
"fmt"
|
||||
"syscall"
|
||||
|
||||
"github.com/kata-containers/agent/pkg/types"
|
||||
vc "github.com/kata-containers/runtime/virtcontainers"
|
||||
"github.com/kata-containers/runtime/virtcontainers/device/api"
|
||||
"github.com/kata-containers/runtime/virtcontainers/device/config"
|
||||
"github.com/kata-containers/runtime/virtcontainers/pkg/types"
|
||||
specs "github.com/opencontainers/runtime-spec/specs-go"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
@ -11,9 +11,9 @@ import (
|
||||
"syscall"
|
||||
"testing"
|
||||
|
||||
"github.com/kata-containers/agent/pkg/types"
|
||||
vc "github.com/kata-containers/runtime/virtcontainers"
|
||||
"github.com/kata-containers/runtime/virtcontainers/factory"
|
||||
"github.com/kata-containers/runtime/virtcontainers/pkg/types"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
@ -9,10 +9,10 @@ import (
|
||||
"io"
|
||||
"syscall"
|
||||
|
||||
"github.com/kata-containers/agent/pkg/types"
|
||||
vc "github.com/kata-containers/runtime/virtcontainers"
|
||||
"github.com/kata-containers/runtime/virtcontainers/device/api"
|
||||
"github.com/kata-containers/runtime/virtcontainers/device/config"
|
||||
"github.com/kata-containers/runtime/virtcontainers/pkg/types"
|
||||
specs "github.com/opencontainers/runtime-spec/specs-go"
|
||||
)
|
||||
|
||||
|
@ -9,10 +9,10 @@ import (
|
||||
"context"
|
||||
"syscall"
|
||||
|
||||
"github.com/kata-containers/agent/pkg/types"
|
||||
vc "github.com/kata-containers/runtime/virtcontainers"
|
||||
"github.com/kata-containers/runtime/virtcontainers/device/api"
|
||||
"github.com/kata-containers/runtime/virtcontainers/device/config"
|
||||
"github.com/kata-containers/runtime/virtcontainers/pkg/types"
|
||||
specs "github.com/opencontainers/runtime-spec/specs-go"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
@ -21,12 +21,12 @@ import (
|
||||
opentracing "github.com/opentracing/opentracing-go"
|
||||
"github.com/sirupsen/logrus"
|
||||
|
||||
"github.com/kata-containers/agent/pkg/types"
|
||||
"github.com/kata-containers/agent/protocols/grpc"
|
||||
"github.com/kata-containers/runtime/virtcontainers/device/api"
|
||||
"github.com/kata-containers/runtime/virtcontainers/device/config"
|
||||
"github.com/kata-containers/runtime/virtcontainers/device/drivers"
|
||||
deviceManager "github.com/kata-containers/runtime/virtcontainers/device/manager"
|
||||
"github.com/kata-containers/runtime/virtcontainers/pkg/types"
|
||||
"github.com/vishvananda/netlink"
|
||||
)
|
||||
|
||||
@ -1098,13 +1098,6 @@ func (s *Sandbox) generateNetInfo(inf *types.Interface) (NetworkInfo, error) {
|
||||
addrs = append(addrs, *netlinkAddr)
|
||||
}
|
||||
|
||||
var ifaceType string
|
||||
if s.config.NetworkConfig.InterworkingModel == NetXConnectNoneModel {
|
||||
ifaceType = "tap"
|
||||
} else {
|
||||
ifaceType = "veth"
|
||||
}
|
||||
|
||||
return NetworkInfo{
|
||||
Iface: NetlinkIface{
|
||||
LinkAttrs: netlink.LinkAttrs{
|
||||
@ -1112,7 +1105,7 @@ func (s *Sandbox) generateNetInfo(inf *types.Interface) (NetworkInfo, error) {
|
||||
HardwareAddr: hw,
|
||||
MTU: int(inf.Mtu),
|
||||
},
|
||||
Type: ifaceType,
|
||||
Type: inf.LinkType,
|
||||
},
|
||||
Addrs: addrs,
|
||||
}, nil
|
||||
|
Loading…
Reference in New Issue
Block a user