mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-06-29 08:47:56 +00:00
network: pass network interface RawFlags to agent
In order to support NOARP in ipvlan interface, the runtime will pass the rawflags to agent, which also apply to other network interfaces, not just ipvlan. Fixes: #1391 Signed-off-by: Zha Bin <zhabin@linux.alibaba.com>
This commit is contained in:
parent
74fb9ff570
commit
dd0808ae54
8
Gopkg.lock
generated
8
Gopkg.lock
generated
@ -395,7 +395,7 @@
|
||||
revision = "35a8fd3ca9a36461b7dcf24e3b292f6e1ea4e71a"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:eaa44c90711ae244bae3ef4239edc720bbbd7dfc754bfdbd12407bdaf14d6777"
|
||||
digest = "1:36dfd4701e98a9d8371dd3053e32d4f29e82b07bcc9e655db82138f9273bcb0f"
|
||||
name = "github.com/kata-containers/agent"
|
||||
packages = [
|
||||
"pkg/types",
|
||||
@ -403,7 +403,7 @@
|
||||
"protocols/grpc",
|
||||
]
|
||||
pruneopts = "NUT"
|
||||
revision = "17192be88b2725b0e7f482a8b7616935e1b1ddf4"
|
||||
revision = "48dd1c031530fce9bf16b0f6a7305979cedd8fc9"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:04054595e5c5a35d1553a7f3464d18577caf597445d643992998643df56d4afd"
|
||||
@ -425,11 +425,11 @@
|
||||
revision = "6243d8e04c3f819e79757e8bc3faa15c3cb27003"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:0159dcdabe50788e5dcfb469521f8f8dcd362db3ab6b465b99a3d33a90726fc0"
|
||||
digest = "1:f3e11773cc8a305f97b42c276f62d92899c9b0c1c3c584a667149b18f18a530a"
|
||||
name = "github.com/mdlayher/vsock"
|
||||
packages = ["."]
|
||||
pruneopts = "NUT"
|
||||
revision = "738c88d6e4cfd60e8124a5344fa10d205fd828b9"
|
||||
revision = "676f733b747cd6406f297a51bd086ee8ec8abdbe"
|
||||
|
||||
[[projects]]
|
||||
digest = "1:6a65dcd0d14fc0595ee982afc3c59deb5b769ca374455c80c649d92f8a152930"
|
||||
|
@ -56,7 +56,7 @@
|
||||
|
||||
[[constraint]]
|
||||
name = "github.com/kata-containers/agent"
|
||||
revision = "17192be88b2725b0e7f482a8b7616935e1b1ddf4"
|
||||
revision = "48dd1c031530fce9bf16b0f6a7305979cedd8fc9"
|
||||
|
||||
[[constraint]]
|
||||
name = "github.com/containerd/cri-containerd"
|
||||
|
82
vendor/github.com/kata-containers/agent/pkg/types/types.pb.go
generated
vendored
82
vendor/github.com/kata-containers/agent/pkg/types/types.pb.go
generated
vendored
@ -98,7 +98,8 @@ type Interface struct {
|
||||
// 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", ...
|
||||
Type string `protobuf:"bytes,7,opt,name=type,proto3" json:"type,omitempty"`
|
||||
Type string `protobuf:"bytes,7,opt,name=type,proto3" json:"type,omitempty"`
|
||||
RawFlags uint32 `protobuf:"varint,8,opt,name=raw_flags,json=rawFlags,proto3" json:"raw_flags,omitempty"`
|
||||
}
|
||||
|
||||
func (m *Interface) Reset() { *m = Interface{} }
|
||||
@ -155,6 +156,13 @@ func (m *Interface) GetType() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (m *Interface) GetRawFlags() uint32 {
|
||||
if m != nil {
|
||||
return m.RawFlags
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type Route struct {
|
||||
Dest string `protobuf:"bytes,1,opt,name=dest,proto3" json:"dest,omitempty"`
|
||||
Gateway string `protobuf:"bytes,2,opt,name=gateway,proto3" json:"gateway,omitempty"`
|
||||
@ -306,6 +314,11 @@ func (m *Interface) MarshalTo(dAtA []byte) (int, error) {
|
||||
i = encodeVarintTypes(dAtA, i, uint64(len(m.Type)))
|
||||
i += copy(dAtA[i:], m.Type)
|
||||
}
|
||||
if m.RawFlags != 0 {
|
||||
dAtA[i] = 0x40
|
||||
i++
|
||||
i = encodeVarintTypes(dAtA, i, uint64(m.RawFlags))
|
||||
}
|
||||
return i, nil
|
||||
}
|
||||
|
||||
@ -414,6 +427,9 @@ func (m *Interface) Size() (n int) {
|
||||
if l > 0 {
|
||||
n += 1 + l + sovTypes(uint64(l))
|
||||
}
|
||||
if m.RawFlags != 0 {
|
||||
n += 1 + sovTypes(uint64(m.RawFlags))
|
||||
}
|
||||
return n
|
||||
}
|
||||
|
||||
@ -806,6 +822,25 @@ func (m *Interface) Unmarshal(dAtA []byte) error {
|
||||
}
|
||||
m.Type = string(dAtA[iNdEx:postIndex])
|
||||
iNdEx = postIndex
|
||||
case 8:
|
||||
if wireType != 0 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field RawFlags", wireType)
|
||||
}
|
||||
m.RawFlags = 0
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
if shift >= 64 {
|
||||
return ErrIntOverflowTypes
|
||||
}
|
||||
if iNdEx >= l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
m.RawFlags |= (uint32(b) & 0x7F) << shift
|
||||
if b < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
default:
|
||||
iNdEx = preIndex
|
||||
skippy, err := skipTypes(dAtA[iNdEx:])
|
||||
@ -1120,26 +1155,27 @@ var (
|
||||
func init() { proto.RegisterFile("pkg/types/types.proto", fileDescriptorTypes) }
|
||||
|
||||
var fileDescriptorTypes = []byte{
|
||||
// 325 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x91, 0x4f, 0x6e, 0xf2, 0x30,
|
||||
0x10, 0xc5, 0x3f, 0x13, 0x12, 0xbe, 0x0c, 0xfd, 0x13, 0x59, 0x2d, 0xb2, 0xba, 0x40, 0x11, 0x9b,
|
||||
0x46, 0x5d, 0x50, 0x89, 0x56, 0xdd, 0xb7, 0x8b, 0x4a, 0xec, 0x90, 0x6f, 0x60, 0x92, 0x81, 0x22,
|
||||
0x1a, 0x12, 0xc5, 0x06, 0x84, 0x7a, 0xbc, 0x6e, 0xba, 0xec, 0x11, 0x2a, 0x4e, 0x52, 0x79, 0x6c,
|
||||
0x10, 0xdd, 0x24, 0xef, 0x79, 0x3c, 0x9e, 0xdf, 0xb3, 0xe1, 0xba, 0x5e, 0xce, 0xef, 0xcd, 0xae,
|
||||
0x46, 0xed, 0xbe, 0xc3, 0xba, 0xa9, 0x4c, 0xc5, 0x43, 0x32, 0x83, 0x29, 0xc4, 0xe3, 0xc9, 0x73,
|
||||
0x51, 0x34, 0xa8, 0x35, 0xbf, 0x85, 0x68, 0xa6, 0xca, 0xc5, 0xfb, 0x4e, 0xb0, 0x94, 0x65, 0x17,
|
||||
0xa3, 0xcb, 0xa1, 0xeb, 0x18, 0x4f, 0x5e, 0x69, 0x59, 0xfa, 0x32, 0x17, 0xd0, 0x51, 0xae, 0x47,
|
||||
0xb4, 0x52, 0x96, 0xc5, 0xf2, 0x60, 0x39, 0x87, 0x76, 0xa9, 0xf4, 0x52, 0x04, 0xb4, 0x4c, 0x7a,
|
||||
0xf0, 0xc9, 0x20, 0x1e, 0xaf, 0x0c, 0x36, 0x33, 0x95, 0x23, 0xef, 0x41, 0x54, 0xe0, 0x66, 0x91,
|
||||
0x23, 0x0d, 0x89, 0xa5, 0x77, 0xb6, 0x73, 0xa5, 0x4a, 0xf4, 0x07, 0x92, 0xe6, 0x23, 0xe8, 0x1e,
|
||||
0xe9, 0x50, 0x8b, 0x20, 0x0d, 0xb2, 0xee, 0x28, 0x39, 0x52, 0xf9, 0x8a, 0x3c, 0xdd, 0xc4, 0x13,
|
||||
0x08, 0x4a, 0xb3, 0x16, 0xed, 0x94, 0x65, 0x6d, 0x69, 0xa5, 0x9d, 0xf8, 0xb6, 0xb5, 0x1b, 0x44,
|
||||
0xe8, 0x26, 0x3a, 0x67, 0x53, 0xd4, 0xf9, 0x82, 0x0a, 0x91, 0x4b, 0xe1, 0xad, 0x65, 0xb1, 0x33,
|
||||
0x44, 0xc7, 0xb1, 0x58, 0x3d, 0xf8, 0x80, 0x50, 0x56, 0x6b, 0x43, 0xa0, 0x05, 0x6a, 0xe3, 0xf1,
|
||||
0x49, 0xdb, 0xa3, 0xe6, 0xca, 0xe0, 0x56, 0xed, 0x0e, 0x17, 0xe2, 0xed, 0x49, 0xdc, 0xe0, 0x4f,
|
||||
0xdc, 0x1e, 0x44, 0xba, 0x5a, 0x37, 0x39, 0x12, 0x69, 0x2c, 0xbd, 0xe3, 0x57, 0x10, 0xea, 0xbc,
|
||||
0xaa, 0x91, 0x58, 0xcf, 0xa5, 0x33, 0x77, 0x37, 0xf0, 0xff, 0xf0, 0x08, 0x3c, 0x82, 0xd6, 0xe6,
|
||||
0x31, 0xf9, 0x47, 0xff, 0xa7, 0x84, 0xbd, 0x9c, 0x7d, 0xed, 0xfb, 0xec, 0x7b, 0xdf, 0x67, 0x3f,
|
||||
0xfb, 0x3e, 0x9b, 0x46, 0xf4, 0xbc, 0x0f, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x13, 0xcc, 0x1c,
|
||||
0xcc, 0xf7, 0x01, 0x00, 0x00,
|
||||
// 345 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x91, 0xd1, 0x6a, 0xfa, 0x30,
|
||||
0x14, 0xc6, 0xff, 0xb1, 0xb6, 0xda, 0xe3, 0xdf, 0xad, 0x84, 0x4d, 0xc2, 0x06, 0x52, 0xbc, 0x59,
|
||||
0xd9, 0x85, 0x03, 0x37, 0x76, 0xbf, 0x5d, 0x08, 0xde, 0x49, 0x5e, 0x60, 0xc4, 0x36, 0x3a, 0xd1,
|
||||
0xda, 0xd2, 0x44, 0x8b, 0xec, 0x05, 0x77, 0xb9, 0x47, 0x10, 0x9f, 0x64, 0xe4, 0x24, 0x8a, 0xbb,
|
||||
0xd1, 0xef, 0x97, 0x93, 0xd3, 0xef, 0x7c, 0x27, 0x70, 0x5b, 0xae, 0x16, 0x4f, 0x7a, 0x5f, 0x4a,
|
||||
0x65, 0x7f, 0x87, 0x65, 0x55, 0xe8, 0x82, 0xfa, 0x08, 0x83, 0x19, 0x84, 0x93, 0xe9, 0x5b, 0x96,
|
||||
0x55, 0x52, 0x29, 0xfa, 0x00, 0xc1, 0x5c, 0xe4, 0xcb, 0xf5, 0x9e, 0x91, 0x98, 0x24, 0x57, 0xa3,
|
||||
0xeb, 0xa1, 0xed, 0x98, 0x4c, 0xc7, 0x78, 0xcc, 0x5d, 0x99, 0x32, 0x68, 0x09, 0xdb, 0xc3, 0x1a,
|
||||
0x31, 0x49, 0x42, 0x7e, 0x42, 0x4a, 0xa1, 0x99, 0x0b, 0xb5, 0x62, 0x1e, 0x1e, 0xa3, 0x1e, 0x1c,
|
||||
0x08, 0x84, 0x93, 0x8d, 0x96, 0xd5, 0x5c, 0xa4, 0x92, 0xf6, 0x20, 0xc8, 0xe4, 0x6e, 0x99, 0x4a,
|
||||
0x34, 0x09, 0xb9, 0x23, 0xd3, 0xb9, 0x11, 0xb9, 0x74, 0x1f, 0x44, 0x4d, 0x47, 0xd0, 0x39, 0x4f,
|
||||
0x27, 0x15, 0xf3, 0x62, 0x2f, 0xe9, 0x8c, 0xa2, 0xf3, 0x54, 0xae, 0xc2, 0x2f, 0x2f, 0xd1, 0x08,
|
||||
0xbc, 0x5c, 0x6f, 0x59, 0x33, 0x26, 0x49, 0x93, 0x1b, 0x69, 0x1c, 0x3f, 0x6b, 0x73, 0x81, 0xf9,
|
||||
0xd6, 0xd1, 0x92, 0x49, 0x51, 0xa6, 0x4b, 0x2c, 0x04, 0x36, 0x85, 0x43, 0x33, 0x8b, 0xf1, 0x60,
|
||||
0x2d, 0x3b, 0x8b, 0xd1, 0xf4, 0x1e, 0xc2, 0x4a, 0xd4, 0x1f, 0xf3, 0xb5, 0x58, 0x28, 0xd6, 0x8e,
|
||||
0x49, 0xd2, 0xe5, 0xed, 0x4a, 0xd4, 0x63, 0xc3, 0x83, 0x2f, 0xf0, 0x79, 0xb1, 0xd5, 0x98, 0x22,
|
||||
0x93, 0x4a, 0xbb, 0x6c, 0xa8, 0x8d, 0xcf, 0x42, 0x68, 0x59, 0x8b, 0xfd, 0x69, 0x5b, 0x0e, 0x2f,
|
||||
0x76, 0xe1, 0xfd, 0xd9, 0x45, 0x0f, 0x02, 0x55, 0x6c, 0xab, 0x54, 0x62, 0x8c, 0x90, 0x3b, 0xa2,
|
||||
0x37, 0xe0, 0xab, 0xb4, 0x28, 0x25, 0x06, 0xe9, 0x72, 0x0b, 0x8f, 0x77, 0xd0, 0x3e, 0xbd, 0x10,
|
||||
0x0d, 0xa0, 0xb1, 0x7b, 0x89, 0xfe, 0xe1, 0xff, 0x6b, 0x44, 0xde, 0xff, 0x7f, 0x1f, 0xfb, 0xe4,
|
||||
0xe7, 0xd8, 0x27, 0x87, 0x63, 0x9f, 0xcc, 0x02, 0x7c, 0xfb, 0xe7, 0xdf, 0x00, 0x00, 0x00, 0xff,
|
||||
0xff, 0xb5, 0x52, 0x37, 0xf2, 0x14, 0x02, 0x00, 0x00,
|
||||
}
|
||||
|
@ -1789,6 +1789,7 @@ func (k *kataAgent) convertToKataAgentInterface(iface *vcTypes.Interface) *aType
|
||||
Name: iface.Name,
|
||||
IPAddresses: k.convertToKataAgentIPAddresses(iface.IPAddresses),
|
||||
Mtu: iface.Mtu,
|
||||
RawFlags: iface.RawFlags,
|
||||
HwAddr: iface.HwAddr,
|
||||
PciAddr: iface.PciAddr,
|
||||
}
|
||||
|
@ -1143,11 +1143,13 @@ func generateInterfacesAndRoutes(networkNS NetworkNamespace) ([]*vcTypes.Interfa
|
||||
}
|
||||
ipAddresses = append(ipAddresses, &ipAddress)
|
||||
}
|
||||
noarp := endpoint.Properties().Iface.RawFlags & unix.IFF_NOARP
|
||||
ifc := vcTypes.Interface{
|
||||
IPAddresses: ipAddresses,
|
||||
Device: endpoint.Name(),
|
||||
Name: endpoint.Name(),
|
||||
Mtu: uint64(endpoint.Properties().Iface.MTU),
|
||||
RawFlags: noarp,
|
||||
HwAddr: endpoint.HardwareAddr(),
|
||||
PciAddr: endpoint.PciAddr(),
|
||||
}
|
||||
|
@ -18,6 +18,7 @@ type Interface struct {
|
||||
Name string
|
||||
IPAddresses []*IPAddress
|
||||
Mtu uint64
|
||||
RawFlags uint32
|
||||
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,
|
||||
|
Loading…
Reference in New Issue
Block a user