From abd415da086c2c06489bd7f744d82c09fd4f09eb Mon Sep 17 00:00:00 2001 From: ceclinux Date: Thu, 24 Feb 2022 10:26:41 +0800 Subject: [PATCH] [Multicast] Add Multicast statistics API and controlplane stats API This PR adds a field MulticastStats for control-plane API NodeStatsSummary and field MulticastGroupMember for public statistics API group. Signed-off-by: ceclinux --- pkg/apis/controlplane/types.go | 10 + pkg/apis/controlplane/v1beta2/generated.pb.go | 566 +++++++++--- pkg/apis/controlplane/v1beta2/generated.proto | 11 + pkg/apis/controlplane/v1beta2/types.go | 10 + .../v1beta2/zz_generated.conversion.go | 34 + .../v1beta2/zz_generated.deepcopy.go | 39 + .../controlplane/zz_generated.deepcopy.go | 39 + pkg/apis/stats/register.go | 2 + pkg/apis/stats/types.go | 32 + pkg/apis/stats/v1alpha1/generated.pb.go | 804 ++++++++++++++++-- pkg/apis/stats/v1alpha1/generated.proto | 28 + pkg/apis/stats/v1alpha1/register.go | 2 + pkg/apis/stats/v1alpha1/types.go | 36 + .../stats/v1alpha1/zz_generated.conversion.go | 98 +++ .../stats/v1alpha1/zz_generated.deepcopy.go | 80 ++ pkg/apis/stats/zz_generated.deepcopy.go | 80 ++ pkg/apiserver/openapi/zz_generated.openapi.go | 188 +++- .../fake/fake_multicastgroupmember.go | 74 ++ .../stats/v1alpha1/fake/fake_stats_client.go | 4 + .../stats/v1alpha1/generated_expansion.go | 2 + .../stats/v1alpha1/multicastgroupmember.go | 96 +++ .../typed/stats/v1alpha1/stats_client.go | 5 + 22 files changed, 2047 insertions(+), 193 deletions(-) create mode 100644 pkg/client/clientset/versioned/typed/stats/v1alpha1/fake/fake_multicastgroupmember.go create mode 100644 pkg/client/clientset/versioned/typed/stats/v1alpha1/multicastgroupmember.go diff --git a/pkg/apis/controlplane/types.go b/pkg/apis/controlplane/types.go index 93b33cfd165..721aaddfa40 100644 --- a/pkg/apis/controlplane/types.go +++ b/pkg/apis/controlplane/types.go @@ -324,6 +324,16 @@ type NodeStatsSummary struct { AntreaClusterNetworkPolicies []NetworkPolicyStats // The TrafficStats of Antrea NetworkPolicies collected from the Node. AntreaNetworkPolicies []NetworkPolicyStats + // The stats related to multicast collected from the Node. + MulticastStats []MulticastStats +} + +// MulticastStats contains the multicast groups that a Pod has joined. +type MulticastStats struct { + Pod *PodReference + + // List of multicast IPs that the pod has joined. + GroupJoinedList []IPAddress } // NetworkPolicyStats contains the information and traffic stats of a NetworkPolicy. diff --git a/pkg/apis/controlplane/v1beta2/generated.pb.go b/pkg/apis/controlplane/v1beta2/generated.pb.go index 447d2f8beea..a57958a7b37 100644 --- a/pkg/apis/controlplane/v1beta2/generated.pb.go +++ b/pkg/apis/controlplane/v1beta2/generated.pb.go @@ -495,10 +495,38 @@ func (m *IPNet) XXX_DiscardUnknown() { var xxx_messageInfo_IPNet proto.InternalMessageInfo +func (m *MulticastStats) Reset() { *m = MulticastStats{} } +func (*MulticastStats) ProtoMessage() {} +func (*MulticastStats) Descriptor() ([]byte, []int) { + return fileDescriptor_fbaa7d016762fa1d, []int{16} +} +func (m *MulticastStats) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MulticastStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil +} +func (m *MulticastStats) XXX_Merge(src proto.Message) { + xxx_messageInfo_MulticastStats.Merge(m, src) +} +func (m *MulticastStats) XXX_Size() int { + return m.Size() +} +func (m *MulticastStats) XXX_DiscardUnknown() { + xxx_messageInfo_MulticastStats.DiscardUnknown(m) +} + +var xxx_messageInfo_MulticastStats proto.InternalMessageInfo + func (m *NamedPort) Reset() { *m = NamedPort{} } func (*NamedPort) ProtoMessage() {} func (*NamedPort) Descriptor() ([]byte, []int) { - return fileDescriptor_fbaa7d016762fa1d, []int{16} + return fileDescriptor_fbaa7d016762fa1d, []int{17} } func (m *NamedPort) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -526,7 +554,7 @@ var xxx_messageInfo_NamedPort proto.InternalMessageInfo func (m *NetworkPolicy) Reset() { *m = NetworkPolicy{} } func (*NetworkPolicy) ProtoMessage() {} func (*NetworkPolicy) Descriptor() ([]byte, []int) { - return fileDescriptor_fbaa7d016762fa1d, []int{17} + return fileDescriptor_fbaa7d016762fa1d, []int{18} } func (m *NetworkPolicy) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -554,7 +582,7 @@ var xxx_messageInfo_NetworkPolicy proto.InternalMessageInfo func (m *NetworkPolicyList) Reset() { *m = NetworkPolicyList{} } func (*NetworkPolicyList) ProtoMessage() {} func (*NetworkPolicyList) Descriptor() ([]byte, []int) { - return fileDescriptor_fbaa7d016762fa1d, []int{18} + return fileDescriptor_fbaa7d016762fa1d, []int{19} } func (m *NetworkPolicyList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -582,7 +610,7 @@ var xxx_messageInfo_NetworkPolicyList proto.InternalMessageInfo func (m *NetworkPolicyNodeStatus) Reset() { *m = NetworkPolicyNodeStatus{} } func (*NetworkPolicyNodeStatus) ProtoMessage() {} func (*NetworkPolicyNodeStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_fbaa7d016762fa1d, []int{19} + return fileDescriptor_fbaa7d016762fa1d, []int{20} } func (m *NetworkPolicyNodeStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -610,7 +638,7 @@ var xxx_messageInfo_NetworkPolicyNodeStatus proto.InternalMessageInfo func (m *NetworkPolicyPeer) Reset() { *m = NetworkPolicyPeer{} } func (*NetworkPolicyPeer) ProtoMessage() {} func (*NetworkPolicyPeer) Descriptor() ([]byte, []int) { - return fileDescriptor_fbaa7d016762fa1d, []int{20} + return fileDescriptor_fbaa7d016762fa1d, []int{21} } func (m *NetworkPolicyPeer) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -638,7 +666,7 @@ var xxx_messageInfo_NetworkPolicyPeer proto.InternalMessageInfo func (m *NetworkPolicyReference) Reset() { *m = NetworkPolicyReference{} } func (*NetworkPolicyReference) ProtoMessage() {} func (*NetworkPolicyReference) Descriptor() ([]byte, []int) { - return fileDescriptor_fbaa7d016762fa1d, []int{21} + return fileDescriptor_fbaa7d016762fa1d, []int{22} } func (m *NetworkPolicyReference) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -666,7 +694,7 @@ var xxx_messageInfo_NetworkPolicyReference proto.InternalMessageInfo func (m *NetworkPolicyRule) Reset() { *m = NetworkPolicyRule{} } func (*NetworkPolicyRule) ProtoMessage() {} func (*NetworkPolicyRule) Descriptor() ([]byte, []int) { - return fileDescriptor_fbaa7d016762fa1d, []int{22} + return fileDescriptor_fbaa7d016762fa1d, []int{23} } func (m *NetworkPolicyRule) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -694,7 +722,7 @@ var xxx_messageInfo_NetworkPolicyRule proto.InternalMessageInfo func (m *NetworkPolicyStats) Reset() { *m = NetworkPolicyStats{} } func (*NetworkPolicyStats) ProtoMessage() {} func (*NetworkPolicyStats) Descriptor() ([]byte, []int) { - return fileDescriptor_fbaa7d016762fa1d, []int{23} + return fileDescriptor_fbaa7d016762fa1d, []int{24} } func (m *NetworkPolicyStats) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -722,7 +750,7 @@ var xxx_messageInfo_NetworkPolicyStats proto.InternalMessageInfo func (m *NetworkPolicyStatus) Reset() { *m = NetworkPolicyStatus{} } func (*NetworkPolicyStatus) ProtoMessage() {} func (*NetworkPolicyStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_fbaa7d016762fa1d, []int{24} + return fileDescriptor_fbaa7d016762fa1d, []int{25} } func (m *NetworkPolicyStatus) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -750,7 +778,7 @@ var xxx_messageInfo_NetworkPolicyStatus proto.InternalMessageInfo func (m *NodeStatsSummary) Reset() { *m = NodeStatsSummary{} } func (*NodeStatsSummary) ProtoMessage() {} func (*NodeStatsSummary) Descriptor() ([]byte, []int) { - return fileDescriptor_fbaa7d016762fa1d, []int{25} + return fileDescriptor_fbaa7d016762fa1d, []int{26} } func (m *NodeStatsSummary) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -778,7 +806,7 @@ var xxx_messageInfo_NodeStatsSummary proto.InternalMessageInfo func (m *PaginationGetOptions) Reset() { *m = PaginationGetOptions{} } func (*PaginationGetOptions) ProtoMessage() {} func (*PaginationGetOptions) Descriptor() ([]byte, []int) { - return fileDescriptor_fbaa7d016762fa1d, []int{26} + return fileDescriptor_fbaa7d016762fa1d, []int{27} } func (m *PaginationGetOptions) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -806,7 +834,7 @@ var xxx_messageInfo_PaginationGetOptions proto.InternalMessageInfo func (m *PodReference) Reset() { *m = PodReference{} } func (*PodReference) ProtoMessage() {} func (*PodReference) Descriptor() ([]byte, []int) { - return fileDescriptor_fbaa7d016762fa1d, []int{27} + return fileDescriptor_fbaa7d016762fa1d, []int{28} } func (m *PodReference) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -834,7 +862,7 @@ var xxx_messageInfo_PodReference proto.InternalMessageInfo func (m *Service) Reset() { *m = Service{} } func (*Service) ProtoMessage() {} func (*Service) Descriptor() ([]byte, []int) { - return fileDescriptor_fbaa7d016762fa1d, []int{28} + return fileDescriptor_fbaa7d016762fa1d, []int{29} } func (m *Service) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -862,7 +890,7 @@ var xxx_messageInfo_Service proto.InternalMessageInfo func (m *ServiceReference) Reset() { *m = ServiceReference{} } func (*ServiceReference) ProtoMessage() {} func (*ServiceReference) Descriptor() ([]byte, []int) { - return fileDescriptor_fbaa7d016762fa1d, []int{29} + return fileDescriptor_fbaa7d016762fa1d, []int{30} } func (m *ServiceReference) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -904,6 +932,7 @@ func init() { proto.RegisterType((*GroupReference)(nil), "antrea_io.antrea.pkg.apis.controlplane.v1beta2.GroupReference") proto.RegisterType((*IPBlock)(nil), "antrea_io.antrea.pkg.apis.controlplane.v1beta2.IPBlock") proto.RegisterType((*IPNet)(nil), "antrea_io.antrea.pkg.apis.controlplane.v1beta2.IPNet") + proto.RegisterType((*MulticastStats)(nil), "antrea_io.antrea.pkg.apis.controlplane.v1beta2.MulticastStats") proto.RegisterType((*NamedPort)(nil), "antrea_io.antrea.pkg.apis.controlplane.v1beta2.NamedPort") proto.RegisterType((*NetworkPolicy)(nil), "antrea_io.antrea.pkg.apis.controlplane.v1beta2.NetworkPolicy") proto.RegisterType((*NetworkPolicyList)(nil), "antrea_io.antrea.pkg.apis.controlplane.v1beta2.NetworkPolicyList") @@ -925,132 +954,137 @@ func init() { } var fileDescriptor_fbaa7d016762fa1d = []byte{ - // 1999 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0x4d, 0x6c, 0x23, 0x49, - 0x15, 0x4e, 0xfb, 0x27, 0x89, 0x5f, 0x9c, 0xc4, 0xa9, 0xec, 0x30, 0x66, 0x19, 0xec, 0x6c, 0x2f, - 0xa0, 0x1c, 0x58, 0x7b, 0x13, 0x66, 0x76, 0x06, 0xf6, 0x07, 0xe2, 0x49, 0x26, 0xb2, 0x34, 0xeb, - 0x31, 0x95, 0xac, 0x46, 0x42, 0x0c, 0x6c, 0xa5, 0xbb, 0xec, 0x14, 0xb1, 0xbb, 0x9b, 0xee, 0x72, - 0x98, 0x08, 0x09, 0x2d, 0x02, 0x0e, 0x0b, 0x48, 0x70, 0xe3, 0x0a, 0x27, 0x2e, 0x9c, 0xb9, 0x73, - 0x40, 0x1a, 0x71, 0x5a, 0x84, 0x10, 0x7b, 0xb2, 0x18, 0x23, 0x40, 0x1c, 0xb8, 0x71, 0x0a, 0x17, - 0x54, 0xd5, 0xd5, 0xbf, 0x4e, 0x26, 0xe3, 0x49, 0x26, 0x48, 0xb0, 0x27, 0x77, 0x57, 0xbd, 0xf7, - 0xbe, 0xf7, 0xea, 0xbd, 0x7a, 0x3f, 0x6d, 0x78, 0x8b, 0x58, 0xdc, 0xa5, 0xa4, 0xc6, 0xec, 0xba, - 0xff, 0x54, 0x77, 0x0e, 0xba, 0x75, 0xe2, 0x30, 0xaf, 0x6e, 0xd8, 0x16, 0x77, 0xed, 0x9e, 0xd3, - 0x23, 0x16, 0xad, 0x1f, 0xae, 0xed, 0x51, 0x4e, 0xd6, 0xeb, 0x5d, 0x6a, 0x51, 0x97, 0x70, 0x6a, - 0xd6, 0x1c, 0xd7, 0xe6, 0x36, 0xaa, 0xf9, 0x5c, 0x5f, 0x67, 0xb6, 0x7a, 0xaa, 0x39, 0x07, 0xdd, - 0x9a, 0xe0, 0xaf, 0xc5, 0xf9, 0x6b, 0x8a, 0xff, 0xc5, 0x5b, 0xa7, 0xe3, 0x79, 0x9c, 0x70, 0xaf, - 0x7e, 0xb8, 0x46, 0x7a, 0xce, 0x3e, 0x59, 0x4b, 0x23, 0xbd, 0xf8, 0x4a, 0x97, 0xf1, 0xfd, 0xc1, - 0x5e, 0xcd, 0xb0, 0xfb, 0xf5, 0xae, 0xdd, 0xb5, 0xeb, 0x72, 0x79, 0x6f, 0xd0, 0x91, 0x6f, 0xf2, - 0x45, 0x3e, 0x29, 0xf2, 0xeb, 0x07, 0xb7, 0x3c, 0x89, 0xe2, 0xb0, 0x3e, 0x31, 0xf6, 0x99, 0x45, - 0xdd, 0xa3, 0x08, 0xab, 0x4f, 0x39, 0xa9, 0x1f, 0x8e, 0x83, 0xd4, 0x4f, 0xe3, 0x72, 0x07, 0x16, - 0x67, 0x7d, 0x3a, 0xc6, 0xf0, 0xda, 0x59, 0x0c, 0x9e, 0xb1, 0x4f, 0xfb, 0x64, 0x8c, 0xef, 0x73, - 0xa7, 0xf1, 0x0d, 0x38, 0xeb, 0xd5, 0x99, 0xc5, 0x3d, 0xee, 0xa6, 0x99, 0xf4, 0xbf, 0x6b, 0x50, - 0xdc, 0x30, 0x4d, 0x97, 0x7a, 0xde, 0xb6, 0x6b, 0x0f, 0x1c, 0xf4, 0x2e, 0xcc, 0x0a, 0x4b, 0x4c, - 0xc2, 0x49, 0x59, 0x5b, 0xd1, 0x56, 0xe7, 0xd6, 0x5f, 0xad, 0xf9, 0x82, 0x6b, 0x71, 0xc1, 0x91, - 0x4f, 0x04, 0x75, 0xed, 0x70, 0xad, 0x76, 0x6f, 0xef, 0x1b, 0xd4, 0xe0, 0x6f, 0x53, 0x4e, 0x1a, - 0xe8, 0xd1, 0xb0, 0x3a, 0x35, 0x1a, 0x56, 0x21, 0x5a, 0xc3, 0xa1, 0x54, 0x34, 0x80, 0x62, 0x57, - 0x40, 0xbd, 0x4d, 0xfb, 0x7b, 0xd4, 0xf5, 0xca, 0x99, 0x95, 0xec, 0xea, 0xdc, 0xfa, 0xeb, 0x13, - 0xba, 0xbd, 0xb6, 0x1d, 0xc9, 0x68, 0xbc, 0xa0, 0x00, 0x8b, 0xb1, 0x45, 0x0f, 0x27, 0x60, 0xf4, - 0x3f, 0x68, 0x50, 0x8a, 0x5b, 0x7a, 0x97, 0x79, 0x1c, 0x7d, 0x75, 0xcc, 0xda, 0xda, 0xd3, 0x59, - 0x2b, 0xb8, 0xa5, 0xad, 0x25, 0x05, 0x3d, 0x1b, 0xac, 0xc4, 0x2c, 0x25, 0x90, 0x67, 0x9c, 0xf6, - 0x03, 0x13, 0xdf, 0x98, 0xd4, 0xc4, 0xb8, 0xba, 0x8d, 0x79, 0x05, 0x94, 0x6f, 0x0a, 0x91, 0xd8, - 0x97, 0xac, 0xbf, 0x9f, 0x85, 0xa5, 0x38, 0x59, 0x9b, 0x70, 0x63, 0xff, 0x12, 0x9c, 0xf8, 0x7d, - 0x0d, 0x96, 0x88, 0x69, 0x52, 0x73, 0xfb, 0x82, 0x5d, 0xf9, 0x71, 0x05, 0x2b, 0xac, 0x4a, 0x4a, - 0xc7, 0xe3, 0x80, 0xe8, 0x87, 0x1a, 0x2c, 0xbb, 0xb4, 0x6f, 0x1f, 0xa6, 0x14, 0xc9, 0x9e, 0x5f, - 0x91, 0x4f, 0x28, 0x45, 0x96, 0xf1, 0xb8, 0x7c, 0x7c, 0x12, 0xa8, 0xfe, 0x0f, 0x0d, 0x16, 0x36, - 0x1c, 0xa7, 0xc7, 0xa8, 0xb9, 0x6b, 0xff, 0x8f, 0xdf, 0xa6, 0x3f, 0x69, 0x80, 0x92, 0xb6, 0x5e, - 0xc2, 0x7d, 0x32, 0x92, 0xf7, 0xe9, 0xad, 0x89, 0xef, 0x53, 0x42, 0xe1, 0x53, 0x6e, 0xd4, 0x8f, - 0xb2, 0xb0, 0x9c, 0x24, 0xfc, 0xe8, 0x4e, 0xfd, 0xf7, 0xee, 0xd4, 0xcf, 0x73, 0xb0, 0x7c, 0xbb, - 0x37, 0xf0, 0x38, 0x75, 0x13, 0x4a, 0x3e, 0x7f, 0x6f, 0x7c, 0x57, 0x83, 0x12, 0xed, 0x74, 0xa8, - 0xc1, 0xd9, 0x21, 0xbd, 0x40, 0x67, 0x94, 0x15, 0x6a, 0x69, 0x2b, 0x25, 0x1c, 0x8f, 0xc1, 0xa1, - 0xef, 0xc0, 0x52, 0xb8, 0xd6, 0x6c, 0x37, 0x7a, 0xb6, 0x71, 0x10, 0xf8, 0xe1, 0xc6, 0xa4, 0x3a, - 0x34, 0xdb, 0x2d, 0xca, 0xa3, 0x50, 0xd8, 0x4a, 0xcb, 0xc5, 0xe3, 0x50, 0xe8, 0x16, 0x14, 0xb9, - 0xcd, 0x49, 0x2f, 0x30, 0x3f, 0xb7, 0xa2, 0xad, 0x66, 0xa3, 0xfc, 0xb0, 0x1b, 0xdb, 0xc3, 0x09, - 0x4a, 0xb4, 0x0e, 0x20, 0xdf, 0xdb, 0xa4, 0x4b, 0xbd, 0x72, 0x5e, 0xf2, 0x85, 0xe7, 0xbd, 0x1b, - 0xee, 0xe0, 0x18, 0x15, 0xba, 0x01, 0x73, 0xc6, 0xc0, 0x75, 0xa9, 0xc5, 0xc5, 0x7b, 0x79, 0x5a, - 0x32, 0x2d, 0x2b, 0xa6, 0xb9, 0xdb, 0xd1, 0x16, 0x8e, 0xd3, 0xe9, 0x7f, 0xd3, 0x60, 0x6e, 0xab, - 0xfb, 0x7f, 0xd0, 0xc1, 0xfc, 0x5e, 0x83, 0xc5, 0x98, 0xa1, 0x97, 0x90, 0x70, 0xdf, 0x4d, 0x26, - 0xdc, 0x89, 0x2d, 0x8c, 0x69, 0x7b, 0x4a, 0xb6, 0xfd, 0x71, 0x16, 0x4a, 0x31, 0x2a, 0x3f, 0xd5, - 0x9a, 0x00, 0x76, 0x78, 0xee, 0x17, 0xea, 0xc3, 0x98, 0xdc, 0x8f, 0xd2, 0xed, 0x09, 0xe9, 0xb6, - 0x07, 0x57, 0xb7, 0x1e, 0x72, 0xea, 0x5a, 0xa4, 0xb7, 0x65, 0x71, 0xc6, 0x8f, 0x30, 0xed, 0x50, - 0x97, 0x5a, 0x06, 0x45, 0x2b, 0x90, 0xb3, 0x48, 0x9f, 0x4a, 0x77, 0x14, 0x1a, 0x45, 0x25, 0x3a, - 0xd7, 0x22, 0x7d, 0x8a, 0xe5, 0x0e, 0xaa, 0x43, 0x41, 0xfc, 0x7a, 0x0e, 0x31, 0x68, 0x39, 0x23, - 0xc9, 0x96, 0x14, 0x59, 0xa1, 0x15, 0x6c, 0xe0, 0x88, 0x46, 0xff, 0xb7, 0x06, 0x25, 0x09, 0xbf, - 0xe1, 0x79, 0xb6, 0xc1, 0x08, 0x67, 0xb6, 0x75, 0x39, 0x75, 0xb6, 0x44, 0x14, 0xa2, 0xb2, 0xff, - 0x99, 0x5b, 0x0a, 0xc9, 0x1d, 0x1e, 0x52, 0x94, 0xdc, 0x37, 0x52, 0xf2, 0xf1, 0x18, 0xa2, 0xfe, - 0xaf, 0x0c, 0xcc, 0xc5, 0x0e, 0x1f, 0xdd, 0x87, 0xac, 0x63, 0x9b, 0xca, 0xe6, 0x89, 0x67, 0x85, - 0xb6, 0x6d, 0x46, 0x6a, 0xcc, 0x8c, 0x86, 0xd5, 0xac, 0x58, 0x11, 0x12, 0xd1, 0xf7, 0x34, 0x58, - 0xa0, 0x09, 0xaf, 0x4a, 0xef, 0xcc, 0xad, 0x6f, 0x4f, 0x7c, 0x9f, 0x4f, 0x8e, 0x8d, 0x06, 0x1a, - 0x0d, 0xab, 0x0b, 0xa9, 0xcd, 0x14, 0x24, 0xfa, 0x0c, 0x64, 0x99, 0xe3, 0x87, 0x75, 0xb1, 0xf1, - 0x82, 0x50, 0xb0, 0xd9, 0xf6, 0x8e, 0x87, 0xd5, 0x42, 0xb3, 0xad, 0x06, 0x18, 0x2c, 0x08, 0xd0, - 0xd7, 0x20, 0xef, 0xd8, 0x2e, 0x17, 0xc5, 0x46, 0x78, 0xe4, 0xf3, 0x93, 0xea, 0x28, 0x22, 0xcd, - 0x6c, 0xdb, 0x2e, 0x8f, 0x32, 0x8e, 0x78, 0xf3, 0xb0, 0x2f, 0x56, 0xff, 0xa5, 0x06, 0x0b, 0x49, - 0xaf, 0x25, 0x03, 0x57, 0x3b, 0x3b, 0x70, 0xc3, 0xbb, 0x90, 0x39, 0xf5, 0x2e, 0x34, 0x20, 0x3b, - 0x60, 0x66, 0x39, 0x2b, 0x09, 0x5e, 0x55, 0x04, 0xd9, 0x77, 0x9a, 0x9b, 0xc7, 0xc3, 0xea, 0x4b, - 0xa7, 0x0d, 0xea, 0xfc, 0xc8, 0xa1, 0x5e, 0xed, 0x9d, 0xe6, 0x26, 0x16, 0xcc, 0xfa, 0x6f, 0x34, - 0x98, 0x51, 0xa5, 0x18, 0xdd, 0x87, 0x9c, 0xc1, 0x4c, 0x57, 0x45, 0xc7, 0x33, 0x16, 0xff, 0x50, - 0xd1, 0xdb, 0xcd, 0x4d, 0x8c, 0xa5, 0x40, 0xf4, 0x00, 0xa6, 0xe9, 0x43, 0x83, 0x3a, 0x5c, 0xdd, - 0x80, 0x67, 0x14, 0xbd, 0xa0, 0x44, 0x4f, 0x6f, 0x49, 0x61, 0x58, 0x09, 0xd5, 0x3b, 0x90, 0x97, - 0x04, 0xe8, 0x65, 0xc8, 0x30, 0x47, 0xaa, 0x5f, 0x6c, 0x2c, 0x8f, 0x86, 0xd5, 0x4c, 0xb3, 0x9d, - 0x74, 0x7e, 0x86, 0x39, 0xa2, 0xdf, 0x70, 0x5c, 0xda, 0x61, 0x0f, 0xef, 0x52, 0xab, 0xcb, 0xf7, - 0xe5, 0xf9, 0xe6, 0xa3, 0xda, 0xd8, 0x8e, 0xed, 0xe1, 0x04, 0xa5, 0xfe, 0xbe, 0x06, 0x85, 0xd0, - 0xf3, 0xc2, 0x3f, 0xc2, 0xd9, 0x12, 0x2e, 0x1f, 0x99, 0x2d, 0xf6, 0xb0, 0xdc, 0x79, 0x0a, 0x0f, - 0xde, 0x82, 0x59, 0xf9, 0x89, 0xc4, 0xb0, 0x7b, 0xca, 0x8d, 0xd7, 0x82, 0x4a, 0xd9, 0x56, 0xeb, - 0xc7, 0xb1, 0x67, 0x1c, 0x52, 0xeb, 0xff, 0xcc, 0xc2, 0x7c, 0x8b, 0xf2, 0x6f, 0xd9, 0xee, 0x41, - 0xdb, 0xee, 0x31, 0xe3, 0xe8, 0x12, 0x72, 0x5a, 0x07, 0xf2, 0xee, 0xa0, 0x47, 0x83, 0x3c, 0xb6, - 0x31, 0xf1, 0xad, 0x89, 0xeb, 0x8b, 0x07, 0x3d, 0x1a, 0xdd, 0x1e, 0xf1, 0xe6, 0x61, 0x5f, 0x3c, - 0x7a, 0x13, 0x16, 0x49, 0x62, 0x38, 0xf2, 0x6f, 0x74, 0x41, 0xfa, 0x74, 0x31, 0x39, 0x37, 0x79, - 0x38, 0x4d, 0x8b, 0x56, 0xc5, 0xa1, 0x32, 0xdb, 0x15, 0x39, 0x48, 0x34, 0x93, 0x5a, 0xa3, 0xe8, - 0x1f, 0xa8, 0xbf, 0x86, 0xc3, 0x5d, 0x74, 0x1d, 0x8a, 0x9c, 0x51, 0x37, 0xd8, 0x91, 0x2d, 0x64, - 0xbe, 0x51, 0x92, 0x6d, 0x67, 0x6c, 0x1d, 0x27, 0xa8, 0x90, 0x07, 0x05, 0xcf, 0x1e, 0xb8, 0x06, - 0xc5, 0xb4, 0x23, 0x1b, 0xc8, 0xb9, 0xf5, 0x3b, 0xe7, 0x3b, 0x8a, 0x30, 0xc7, 0xcd, 0x8b, 0x6c, - 0xb0, 0x13, 0x08, 0xc7, 0x11, 0x8e, 0xfe, 0x47, 0x0d, 0x96, 0x12, 0x4c, 0x97, 0xd0, 0x99, 0xed, - 0x25, 0x3b, 0xb3, 0x37, 0xcf, 0x65, 0xe4, 0x29, 0xbd, 0xd9, 0xb7, 0xe1, 0x6a, 0x82, 0xac, 0x65, - 0x9b, 0x74, 0x87, 0x13, 0x3e, 0xf0, 0xd0, 0x67, 0x61, 0xd6, 0xb2, 0x4d, 0xda, 0x8a, 0x1a, 0x82, - 0x50, 0xd9, 0x96, 0x5a, 0xc7, 0x21, 0x85, 0x18, 0x06, 0xd4, 0x77, 0x47, 0x66, 0x5b, 0xf2, 0xca, - 0xc5, 0x86, 0x81, 0xed, 0x70, 0x07, 0xc7, 0xa8, 0xf4, 0xdf, 0x65, 0x52, 0x87, 0xda, 0xa6, 0xd4, - 0x45, 0x37, 0x61, 0x9e, 0xc4, 0xbe, 0x76, 0x79, 0x65, 0x4d, 0x06, 0xdf, 0xd2, 0x68, 0x58, 0x9d, - 0x8f, 0x7f, 0x06, 0xf3, 0x70, 0x92, 0x0e, 0x51, 0x98, 0x65, 0x8e, 0x1a, 0xa0, 0xfc, 0x23, 0xbb, - 0x39, 0x79, 0xa2, 0x93, 0xfc, 0x91, 0xa5, 0xe1, 0xe4, 0x14, 0x8a, 0x46, 0x55, 0xc8, 0x77, 0xbe, - 0x69, 0x5a, 0xc1, 0xa5, 0x28, 0x88, 0x33, 0xbd, 0xf3, 0xe5, 0xcd, 0x96, 0x87, 0xfd, 0x75, 0xc4, - 0xc5, 0x5c, 0xb4, 0x43, 0xdd, 0x43, 0x66, 0xd0, 0xa0, 0xc4, 0x7d, 0x69, 0x52, 0x4d, 0x14, 0x7f, - 0xac, 0xfe, 0x46, 0x93, 0x55, 0x20, 0x1b, 0xc7, 0x70, 0xc4, 0x88, 0xf4, 0xb1, 0x93, 0xc3, 0x1a, - 0xdd, 0x80, 0x9c, 0x28, 0x3b, 0xca, 0x8b, 0x2f, 0x05, 0x89, 0x70, 0xf7, 0xc8, 0xa1, 0xc7, 0xc3, - 0x6a, 0xd2, 0x05, 0x62, 0x11, 0x4b, 0xf2, 0x89, 0x7b, 0xbd, 0x30, 0xe1, 0x66, 0xcf, 0x2a, 0x99, - 0xb9, 0xf3, 0x94, 0xcc, 0x5f, 0xe4, 0x53, 0x51, 0x23, 0x92, 0x17, 0x7a, 0x03, 0x0a, 0x26, 0x73, - 0xc5, 0x6c, 0x6b, 0x5b, 0xca, 0xd0, 0x4a, 0xa0, 0xec, 0x66, 0xb0, 0x71, 0x1c, 0x7f, 0xc1, 0x11, - 0x03, 0x32, 0x20, 0xd7, 0x71, 0xed, 0xbe, 0xea, 0x99, 0xce, 0x97, 0x59, 0x45, 0x10, 0x47, 0xc6, - 0xdf, 0x71, 0xed, 0x3e, 0x96, 0xc2, 0xd1, 0x03, 0xc8, 0x70, 0x5b, 0x1e, 0xce, 0x85, 0x40, 0x80, - 0x82, 0xc8, 0xec, 0xda, 0x38, 0xc3, 0x6d, 0x11, 0xfe, 0x5e, 0x32, 0xe8, 0x6e, 0x3e, 0x63, 0xd0, - 0x45, 0xe1, 0x1f, 0x46, 0x5a, 0x28, 0x5a, 0xa4, 0x05, 0x27, 0x95, 0xb0, 0xa3, 0x9a, 0x39, 0x96, - 0xe2, 0xef, 0xc3, 0x34, 0xf1, 0x7d, 0x32, 0x2d, 0x7d, 0xf2, 0x45, 0xd1, 0x3f, 0x6c, 0x04, 0xce, - 0x58, 0x7b, 0xc2, 0xdf, 0x48, 0xae, 0x19, 0xfe, 0xa9, 0x53, 0x13, 0x1e, 0xf6, 0x99, 0xb0, 0x12, - 0x87, 0x5e, 0x87, 0x79, 0x6a, 0x91, 0xbd, 0x1e, 0xbd, 0x6b, 0x77, 0xbb, 0xcc, 0xea, 0x96, 0x67, - 0x56, 0xb4, 0xd5, 0xd9, 0xc6, 0x15, 0xa5, 0xcb, 0xfc, 0x56, 0x7c, 0x13, 0x27, 0x69, 0x4f, 0xaa, - 0x70, 0xb3, 0x13, 0x54, 0xb8, 0x20, 0xce, 0x0b, 0xa7, 0xc5, 0xb9, 0xfe, 0x93, 0x2c, 0xa0, 0x84, - 0xc7, 0x44, 0x4e, 0xf5, 0x44, 0x97, 0x3e, 0x6f, 0xc5, 0x97, 0x55, 0xd5, 0xb8, 0xa8, 0xfa, 0x15, - 0x5a, 0x9f, 0xdc, 0x4f, 0x62, 0x22, 0x07, 0x8a, 0xdc, 0x25, 0x9d, 0x0e, 0x33, 0xa4, 0x56, 0x2a, - 0xe8, 0x5f, 0x7b, 0x82, 0x0e, 0xf2, 0x3f, 0xb6, 0x5a, 0xe8, 0x8e, 0xdd, 0x18, 0x77, 0xec, 0x4b, - 0x51, 0x6c, 0x15, 0x27, 0x10, 0xd0, 0x7b, 0x1a, 0x94, 0x44, 0x6f, 0x11, 0x27, 0x51, 0xc3, 0xef, - 0x17, 0x9e, 0x1e, 0x16, 0xa7, 0x24, 0x44, 0x93, 0x58, 0x7a, 0x07, 0x8f, 0xa1, 0xe9, 0x7f, 0xd5, - 0x60, 0x79, 0xcc, 0x23, 0x83, 0xcb, 0xf8, 0xc8, 0xd8, 0x83, 0xbc, 0xa8, 0x92, 0x41, 0x4d, 0xda, - 0x3e, 0x97, 0xaf, 0xa3, 0xfa, 0x1c, 0x15, 0x74, 0xb1, 0xe6, 0x61, 0x1f, 0x44, 0xff, 0x6d, 0x0e, - 0x4a, 0x01, 0x91, 0xb7, 0x33, 0xe8, 0xf7, 0x89, 0x7b, 0x19, 0xbd, 0xe9, 0x0f, 0x34, 0x58, 0x8c, - 0x47, 0x19, 0x0b, 0xed, 0x6d, 0x9c, 0xcb, 0x5e, 0xdf, 0xd1, 0x57, 0x15, 0xf6, 0x62, 0x2b, 0x09, - 0x81, 0xd3, 0x98, 0xe8, 0x57, 0x1a, 0x5c, 0xf3, 0x51, 0xd4, 0x17, 0xe5, 0x14, 0x87, 0x8a, 0xba, - 0x8b, 0x50, 0xea, 0x53, 0x4a, 0xa9, 0x6b, 0x1b, 0x4f, 0xc0, 0xc3, 0x4f, 0xd4, 0x06, 0xfd, 0x4c, - 0x83, 0x2b, 0x3e, 0x41, 0x5a, 0xcf, 0xdc, 0x85, 0xe9, 0xf9, 0x49, 0xa5, 0xe7, 0x95, 0x8d, 0x93, - 0x80, 0xf0, 0xc9, 0xf8, 0xfa, 0x03, 0x78, 0xa1, 0x4d, 0xba, 0xcc, 0x92, 0x9d, 0xda, 0x36, 0xe5, - 0xf7, 0x1c, 0xf1, 0x20, 0x73, 0x9f, 0x43, 0xba, 0x7e, 0x2f, 0x91, 0x8d, 0x8d, 0x5d, 0xa4, 0x4b, - 0xb1, 0xdc, 0x41, 0x2f, 0x43, 0xbe, 0xc7, 0xfa, 0x8c, 0xab, 0x26, 0x30, 0x0c, 0xd3, 0xbb, 0x62, - 0x11, 0xfb, 0x7b, 0x3a, 0x81, 0x62, 0xfc, 0x6b, 0xc6, 0xf3, 0xf8, 0xf2, 0xf4, 0x6b, 0x0d, 0x66, - 0x54, 0xfd, 0x42, 0xd7, 0x63, 0x83, 0x9e, 0x0f, 0x51, 0x3e, 0x7b, 0xc8, 0x43, 0x2d, 0x35, 0x62, - 0x66, 0xce, 0xb8, 0x32, 0x03, 0xce, 0x7a, 0x35, 0xff, 0xcf, 0xf7, 0x5a, 0xd3, 0xe2, 0xf7, 0xdc, - 0x1d, 0xee, 0x32, 0xab, 0xdb, 0x98, 0x4d, 0x0d, 0xa4, 0x9f, 0x86, 0x19, 0x6a, 0xc9, 0xe9, 0x55, - 0x76, 0x01, 0xf9, 0xc6, 0xdc, 0x68, 0x58, 0x9d, 0xd9, 0xf2, 0x97, 0x70, 0xb0, 0xa7, 0x53, 0x28, - 0xa5, 0xbb, 0xbf, 0xe7, 0x70, 0x3e, 0x8d, 0x57, 0x1e, 0x3d, 0xae, 0x4c, 0x7d, 0xf0, 0xb8, 0x32, - 0xf5, 0xe1, 0xe3, 0xca, 0xd4, 0x7b, 0xa3, 0x8a, 0xf6, 0x68, 0x54, 0xd1, 0x3e, 0x18, 0x55, 0xb4, - 0x0f, 0x47, 0x15, 0xed, 0xcf, 0xa3, 0x8a, 0xf6, 0xd3, 0xbf, 0x54, 0xa6, 0xbe, 0x32, 0xa3, 0x22, - 0xeb, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xa7, 0xff, 0xff, 0xd7, 0xf3, 0x21, 0x00, 0x00, + // 2071 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0x4d, 0x6c, 0x23, 0x49, + 0x15, 0x9e, 0xb6, 0xe3, 0x24, 0x7e, 0x71, 0x12, 0xa7, 0xb2, 0xb3, 0x63, 0x96, 0xc1, 0xce, 0xf6, + 0x02, 0xca, 0x81, 0xb5, 0x37, 0x61, 0x66, 0x67, 0x60, 0x7f, 0x20, 0x9e, 0x64, 0x22, 0xaf, 0x66, + 0x3c, 0xa6, 0x92, 0xd5, 0x48, 0x88, 0x81, 0xad, 0x74, 0x97, 0x9d, 0x22, 0x76, 0x77, 0xd3, 0x5d, + 0x0e, 0x13, 0x21, 0xad, 0x16, 0x2d, 0x1c, 0x16, 0x90, 0xe0, 0xc6, 0x15, 0x4e, 0x5c, 0xb8, 0xc2, + 0x9d, 0x03, 0xd2, 0x88, 0xd3, 0x22, 0x84, 0xd8, 0x93, 0xc5, 0x18, 0x01, 0xe2, 0xc0, 0x8d, 0x53, + 0xb8, 0xa0, 0xaa, 0xae, 0xfe, 0x75, 0x32, 0x19, 0x27, 0x99, 0x20, 0xc1, 0x9e, 0xd2, 0x5d, 0xf5, + 0xde, 0xfb, 0xde, 0xab, 0xf7, 0xea, 0xfd, 0xb4, 0x03, 0x6f, 0x12, 0x8b, 0xbb, 0x94, 0x54, 0x99, + 0x5d, 0xf3, 0x9f, 0x6a, 0xce, 0x5e, 0xa7, 0x46, 0x1c, 0xe6, 0xd5, 0x0c, 0xdb, 0xe2, 0xae, 0xdd, + 0x75, 0xba, 0xc4, 0xa2, 0xb5, 0xfd, 0x95, 0x1d, 0xca, 0xc9, 0x6a, 0xad, 0x43, 0x2d, 0xea, 0x12, + 0x4e, 0xcd, 0xaa, 0xe3, 0xda, 0xdc, 0x46, 0x55, 0x9f, 0xeb, 0x1b, 0xcc, 0x56, 0x4f, 0x55, 0x67, + 0xaf, 0x53, 0x15, 0xfc, 0xd5, 0x38, 0x7f, 0x55, 0xf1, 0xbf, 0x70, 0xf3, 0x78, 0x3c, 0x8f, 0x13, + 0xee, 0xd5, 0xf6, 0x57, 0x48, 0xd7, 0xd9, 0x25, 0x2b, 0x69, 0xa4, 0x17, 0x5e, 0xee, 0x30, 0xbe, + 0xdb, 0xdf, 0xa9, 0x1a, 0x76, 0xaf, 0xd6, 0xb1, 0x3b, 0x76, 0x4d, 0x2e, 0xef, 0xf4, 0xdb, 0xf2, + 0x4d, 0xbe, 0xc8, 0x27, 0x45, 0x7e, 0x6d, 0xef, 0xa6, 0x27, 0x51, 0x1c, 0xd6, 0x23, 0xc6, 0x2e, + 0xb3, 0xa8, 0x7b, 0x10, 0x61, 0xf5, 0x28, 0x27, 0xb5, 0xfd, 0x51, 0x90, 0xda, 0x71, 0x5c, 0x6e, + 0xdf, 0xe2, 0xac, 0x47, 0x47, 0x18, 0x5e, 0x3d, 0x89, 0xc1, 0x33, 0x76, 0x69, 0x8f, 0x8c, 0xf0, + 0x7d, 0xfe, 0x38, 0xbe, 0x3e, 0x67, 0xdd, 0x1a, 0xb3, 0xb8, 0xc7, 0xdd, 0x34, 0x93, 0xfe, 0x77, + 0x0d, 0x0a, 0x6b, 0xa6, 0xe9, 0x52, 0xcf, 0xdb, 0x74, 0xed, 0xbe, 0x83, 0xde, 0x81, 0x69, 0x61, + 0x89, 0x49, 0x38, 0x29, 0x69, 0x4b, 0xda, 0xf2, 0xcc, 0xea, 0x2b, 0x55, 0x5f, 0x70, 0x35, 0x2e, + 0x38, 0xf2, 0x89, 0xa0, 0xae, 0xee, 0xaf, 0x54, 0xef, 0xed, 0x7c, 0x93, 0x1a, 0xfc, 0x2e, 0xe5, + 0xa4, 0x8e, 0x1e, 0x0d, 0x2a, 0x97, 0x86, 0x83, 0x0a, 0x44, 0x6b, 0x38, 0x94, 0x8a, 0xfa, 0x50, + 0xe8, 0x08, 0xa8, 0xbb, 0xb4, 0xb7, 0x43, 0x5d, 0xaf, 0x94, 0x59, 0xca, 0x2e, 0xcf, 0xac, 0xbe, + 0x36, 0xa6, 0xdb, 0xab, 0x9b, 0x91, 0x8c, 0xfa, 0x73, 0x0a, 0xb0, 0x10, 0x5b, 0xf4, 0x70, 0x02, + 0x46, 0xff, 0x83, 0x06, 0xc5, 0xb8, 0xa5, 0x77, 0x98, 0xc7, 0xd1, 0xd7, 0x46, 0xac, 0xad, 0x3e, + 0x9d, 0xb5, 0x82, 0x5b, 0xda, 0x5a, 0x54, 0xd0, 0xd3, 0xc1, 0x4a, 0xcc, 0x52, 0x02, 0x39, 0xc6, + 0x69, 0x2f, 0x30, 0xf1, 0xf5, 0x71, 0x4d, 0x8c, 0xab, 0x5b, 0x9f, 0x55, 0x40, 0xb9, 0x86, 0x10, + 0x89, 0x7d, 0xc9, 0xfa, 0x07, 0x59, 0x58, 0x88, 0x93, 0xb5, 0x08, 0x37, 0x76, 0x2f, 0xc0, 0x89, + 0xdf, 0xd3, 0x60, 0x81, 0x98, 0x26, 0x35, 0x37, 0xcf, 0xd9, 0x95, 0x9f, 0x50, 0xb0, 0xc2, 0xaa, + 0xa4, 0x74, 0x3c, 0x0a, 0x88, 0x7e, 0xa0, 0xc1, 0xa2, 0x4b, 0x7b, 0xf6, 0x7e, 0x4a, 0x91, 0xec, + 0xd9, 0x15, 0xf9, 0xa4, 0x52, 0x64, 0x11, 0x8f, 0xca, 0xc7, 0x47, 0x81, 0xea, 0xff, 0xd0, 0x60, + 0x6e, 0xcd, 0x71, 0xba, 0x8c, 0x9a, 0xdb, 0xf6, 0xff, 0xf8, 0x6d, 0xfa, 0x93, 0x06, 0x28, 0x69, + 0xeb, 0x05, 0xdc, 0x27, 0x23, 0x79, 0x9f, 0xde, 0x1c, 0xfb, 0x3e, 0x25, 0x14, 0x3e, 0xe6, 0x46, + 0xfd, 0x30, 0x0b, 0x8b, 0x49, 0xc2, 0x8f, 0xef, 0xd4, 0x7f, 0xef, 0x4e, 0xfd, 0x6c, 0x02, 0x16, + 0x6f, 0x75, 0xfb, 0x1e, 0xa7, 0x6e, 0x42, 0xc9, 0x67, 0xef, 0x8d, 0xef, 0x6a, 0x50, 0xa4, 0xed, + 0x36, 0x35, 0x38, 0xdb, 0xa7, 0xe7, 0xe8, 0x8c, 0x92, 0x42, 0x2d, 0x6e, 0xa4, 0x84, 0xe3, 0x11, + 0x38, 0xf4, 0x2e, 0x2c, 0x84, 0x6b, 0x8d, 0x56, 0xbd, 0x6b, 0x1b, 0x7b, 0x81, 0x1f, 0xae, 0x8f, + 0xab, 0x43, 0xa3, 0xd5, 0xa4, 0x3c, 0x0a, 0x85, 0x8d, 0xb4, 0x5c, 0x3c, 0x0a, 0x85, 0x6e, 0x42, + 0x81, 0xdb, 0x9c, 0x74, 0x03, 0xf3, 0x27, 0x96, 0xb4, 0xe5, 0x6c, 0x94, 0x1f, 0xb6, 0x63, 0x7b, + 0x38, 0x41, 0x89, 0x56, 0x01, 0xe4, 0x7b, 0x8b, 0x74, 0xa8, 0x57, 0xca, 0x49, 0xbe, 0xf0, 0xbc, + 0xb7, 0xc3, 0x1d, 0x1c, 0xa3, 0x42, 0xd7, 0x61, 0xc6, 0xe8, 0xbb, 0x2e, 0xb5, 0xb8, 0x78, 0x2f, + 0x4d, 0x4a, 0xa6, 0x45, 0xc5, 0x34, 0x73, 0x2b, 0xda, 0xc2, 0x71, 0x3a, 0xfd, 0x6f, 0x1a, 0xcc, + 0x6c, 0x74, 0xfe, 0x0f, 0x3a, 0x98, 0xdf, 0x6b, 0x30, 0x1f, 0x33, 0xf4, 0x02, 0x12, 0xee, 0x3b, + 0xc9, 0x84, 0x3b, 0xb6, 0x85, 0x31, 0x6d, 0x8f, 0xc9, 0xb6, 0x3f, 0xca, 0x42, 0x31, 0x46, 0xe5, + 0xa7, 0x5a, 0x13, 0xc0, 0x0e, 0xcf, 0xfd, 0x5c, 0x7d, 0x18, 0x93, 0xfb, 0x71, 0xba, 0x3d, 0x22, + 0xdd, 0x76, 0xe1, 0xca, 0xc6, 0x43, 0x4e, 0x5d, 0x8b, 0x74, 0x37, 0x2c, 0xce, 0xf8, 0x01, 0xa6, + 0x6d, 0xea, 0x52, 0xcb, 0xa0, 0x68, 0x09, 0x26, 0x2c, 0xd2, 0xa3, 0xd2, 0x1d, 0xf9, 0x7a, 0x41, + 0x89, 0x9e, 0x68, 0x92, 0x1e, 0xc5, 0x72, 0x07, 0xd5, 0x20, 0x2f, 0xfe, 0x7a, 0x0e, 0x31, 0x68, + 0x29, 0x23, 0xc9, 0x16, 0x14, 0x59, 0xbe, 0x19, 0x6c, 0xe0, 0x88, 0x46, 0xff, 0xb7, 0x06, 0x45, + 0x09, 0xbf, 0xe6, 0x79, 0xb6, 0xc1, 0x08, 0x67, 0xb6, 0x75, 0x31, 0x75, 0xb6, 0x48, 0x14, 0xa2, + 0xb2, 0xff, 0xd4, 0x2d, 0x85, 0xe4, 0x0e, 0x0f, 0x29, 0x4a, 0xee, 0x6b, 0x29, 0xf9, 0x78, 0x04, + 0x51, 0xff, 0x57, 0x06, 0x66, 0x62, 0x87, 0x8f, 0xee, 0x43, 0xd6, 0xb1, 0x4d, 0x65, 0xf3, 0xd8, + 0xb3, 0x42, 0xcb, 0x36, 0x23, 0x35, 0xa6, 0x86, 0x83, 0x4a, 0x56, 0xac, 0x08, 0x89, 0xe8, 0x7d, + 0x0d, 0xe6, 0x68, 0xc2, 0xab, 0xd2, 0x3b, 0x33, 0xab, 0x9b, 0x63, 0xdf, 0xe7, 0xa3, 0x63, 0xa3, + 0x8e, 0x86, 0x83, 0xca, 0x5c, 0x6a, 0x33, 0x05, 0x89, 0x3e, 0x0b, 0x59, 0xe6, 0xf8, 0x61, 0x5d, + 0xa8, 0x3f, 0x27, 0x14, 0x6c, 0xb4, 0xbc, 0xc3, 0x41, 0x25, 0xdf, 0x68, 0xa9, 0x01, 0x06, 0x0b, + 0x02, 0xf4, 0x75, 0xc8, 0x39, 0xb6, 0xcb, 0x45, 0xb1, 0x11, 0x1e, 0xf9, 0xc2, 0xb8, 0x3a, 0x8a, + 0x48, 0x33, 0x5b, 0xb6, 0xcb, 0xa3, 0x8c, 0x23, 0xde, 0x3c, 0xec, 0x8b, 0xd5, 0x7f, 0xa1, 0xc1, + 0x5c, 0xd2, 0x6b, 0xc9, 0xc0, 0xd5, 0x4e, 0x0e, 0xdc, 0xf0, 0x2e, 0x64, 0x8e, 0xbd, 0x0b, 0x75, + 0xc8, 0xf6, 0x99, 0x59, 0xca, 0x4a, 0x82, 0x57, 0x14, 0x41, 0xf6, 0xed, 0xc6, 0xfa, 0xe1, 0xa0, + 0xf2, 0xe2, 0x71, 0x83, 0x3a, 0x3f, 0x70, 0xa8, 0x57, 0x7d, 0xbb, 0xb1, 0x8e, 0x05, 0xb3, 0xfe, + 0x1b, 0x0d, 0xa6, 0x54, 0x29, 0x46, 0xf7, 0x61, 0xc2, 0x60, 0xa6, 0xab, 0xa2, 0xe3, 0x94, 0xc5, + 0x3f, 0x54, 0xf4, 0x56, 0x63, 0x1d, 0x63, 0x29, 0x10, 0x3d, 0x80, 0x49, 0xfa, 0xd0, 0xa0, 0x0e, + 0x57, 0x37, 0xe0, 0x94, 0xa2, 0xe7, 0x94, 0xe8, 0xc9, 0x0d, 0x29, 0x0c, 0x2b, 0xa1, 0x7a, 0x1b, + 0x72, 0x92, 0x00, 0xbd, 0x04, 0x19, 0xe6, 0x48, 0xf5, 0x0b, 0xf5, 0xc5, 0xe1, 0xa0, 0x92, 0x69, + 0xb4, 0x92, 0xce, 0xcf, 0x30, 0x47, 0xf4, 0x1b, 0x8e, 0x4b, 0xdb, 0xec, 0xe1, 0x1d, 0x6a, 0x75, + 0xf8, 0xae, 0x3c, 0xdf, 0x5c, 0x54, 0x1b, 0x5b, 0xb1, 0x3d, 0x9c, 0xa0, 0xd4, 0x7f, 0xa5, 0xc1, + 0xdc, 0xdd, 0x7e, 0x97, 0x33, 0x83, 0x78, 0x7c, 0x8b, 0x13, 0xee, 0x3d, 0xbb, 0xfb, 0xf4, 0x16, + 0xcc, 0xcb, 0xba, 0xfc, 0x96, 0xcd, 0x2c, 0x6a, 0x8a, 0xb2, 0x29, 0xcf, 0xae, 0x50, 0x5f, 0x1a, + 0x0e, 0x2a, 0xf3, 0x9b, 0xc9, 0xad, 0xa4, 0x91, 0x69, 0x46, 0xfd, 0x03, 0x0d, 0xf2, 0x61, 0xc4, + 0x8a, 0xb8, 0x12, 0x41, 0x2a, 0x75, 0xce, 0x45, 0xee, 0x12, 0x7b, 0x58, 0xee, 0x3c, 0x45, 0xe4, + 0xdd, 0x84, 0x69, 0xf9, 0x69, 0xc7, 0xb0, 0xbb, 0x2a, 0xfc, 0xae, 0x06, 0x15, 0xbe, 0xa5, 0xd6, + 0x0f, 0x63, 0xcf, 0x38, 0xa4, 0xd6, 0xff, 0x99, 0x85, 0xd9, 0x26, 0xe5, 0xdf, 0xb6, 0xdd, 0xbd, + 0x96, 0xdd, 0x65, 0xc6, 0xc1, 0x05, 0xe4, 0xe2, 0x36, 0xe4, 0xdc, 0x7e, 0x97, 0x06, 0xf9, 0x77, + 0x6d, 0xec, 0xdb, 0x1e, 0xd7, 0x17, 0xf7, 0xbb, 0x34, 0xba, 0xf5, 0xe2, 0xcd, 0xc3, 0xbe, 0x78, + 0xf4, 0x06, 0xcc, 0x93, 0xc4, 0x50, 0xe7, 0x67, 0xa2, 0xbc, 0x8c, 0xc5, 0xf9, 0xe4, 0xbc, 0xe7, + 0xe1, 0x34, 0x2d, 0x5a, 0x16, 0x87, 0xca, 0x6c, 0x57, 0xe4, 0x4e, 0xd1, 0x04, 0x6b, 0xf5, 0x82, + 0x7f, 0xa0, 0xfe, 0x1a, 0x0e, 0x77, 0xd1, 0x35, 0x28, 0x70, 0x46, 0xdd, 0x60, 0x47, 0xb6, 0xbe, + 0xb9, 0x7a, 0x51, 0xb6, 0xcb, 0xb1, 0x75, 0x9c, 0xa0, 0x42, 0x1e, 0xe4, 0x3d, 0xbb, 0xef, 0x1a, + 0x14, 0xd3, 0xb6, 0x6c, 0x7c, 0x67, 0x56, 0x6f, 0x9f, 0xed, 0x28, 0xc2, 0xd8, 0x9d, 0x15, 0x59, + 0x6c, 0x2b, 0x10, 0x8e, 0x23, 0x1c, 0xfd, 0x8f, 0x1a, 0x2c, 0x24, 0x98, 0x2e, 0xa0, 0xa3, 0xdc, + 0x49, 0x76, 0x94, 0x6f, 0x9c, 0xc9, 0xc8, 0x63, 0x7a, 0xca, 0xef, 0xc0, 0x95, 0x04, 0x59, 0xd3, + 0x36, 0xa9, 0x48, 0x09, 0x7d, 0x0f, 0x7d, 0x0e, 0xa6, 0x2d, 0xdb, 0xa4, 0xcd, 0xa8, 0x91, 0x09, + 0x95, 0x6d, 0xaa, 0x75, 0x1c, 0x52, 0x88, 0x21, 0x46, 0x7d, 0x2f, 0x65, 0xb6, 0x25, 0xaf, 0x5c, + 0x6c, 0x88, 0xd9, 0x0c, 0x77, 0x70, 0x8c, 0x4a, 0xff, 0x5d, 0x26, 0x75, 0xa8, 0x2d, 0x4a, 0x5d, + 0x74, 0x03, 0x66, 0x49, 0xec, 0x2b, 0x9d, 0x57, 0xd2, 0x64, 0xf0, 0x2d, 0x0c, 0x07, 0x95, 0xd9, + 0xf8, 0xe7, 0x3b, 0x0f, 0x27, 0xe9, 0x10, 0x85, 0x69, 0xe6, 0xa8, 0xc1, 0xcf, 0x3f, 0xb2, 0x1b, + 0xe3, 0x27, 0x68, 0xc9, 0x1f, 0x59, 0x1a, 0x4e, 0x7c, 0xa1, 0x68, 0x54, 0x81, 0x5c, 0xfb, 0x5b, + 0xa6, 0x15, 0x5c, 0x8a, 0xbc, 0x38, 0xd3, 0xdb, 0x5f, 0x59, 0x6f, 0x7a, 0xd8, 0x5f, 0x47, 0x5c, + 0xcc, 0x73, 0x5b, 0xd4, 0xdd, 0x67, 0x06, 0x0d, 0x4a, 0xf3, 0x97, 0xc7, 0xd5, 0x44, 0xf1, 0xc7, + 0xfa, 0x86, 0x68, 0x22, 0x0c, 0x64, 0xe3, 0x18, 0x8e, 0x18, 0xed, 0x9e, 0x3f, 0x3a, 0xac, 0xd1, + 0x75, 0x98, 0x10, 0xe5, 0x52, 0x79, 0xf1, 0xc5, 0x20, 0x11, 0x6e, 0x1f, 0x38, 0xf4, 0x70, 0x50, + 0x49, 0xba, 0x40, 0x2c, 0x62, 0x49, 0x3e, 0x76, 0x8f, 0x1a, 0x26, 0xdc, 0xec, 0x49, 0xa5, 0x7e, + 0xe2, 0x2c, 0xa5, 0xfe, 0xe7, 0xb9, 0x54, 0xd4, 0x88, 0xe4, 0x85, 0x5e, 0x87, 0xbc, 0xc9, 0x5c, + 0x31, 0x93, 0xdb, 0x96, 0x32, 0xb4, 0x1c, 0x28, 0xbb, 0x1e, 0x6c, 0x1c, 0xc6, 0x5f, 0x70, 0xc4, + 0x80, 0x0c, 0x98, 0x68, 0xbb, 0x76, 0x4f, 0xf5, 0x7a, 0x67, 0xcb, 0xac, 0x22, 0x88, 0x23, 0xe3, + 0x6f, 0xbb, 0x76, 0x0f, 0x4b, 0xe1, 0xe8, 0x01, 0x64, 0xb8, 0x2d, 0x0f, 0xe7, 0x5c, 0x20, 0x40, + 0x41, 0x64, 0xb6, 0x6d, 0x9c, 0xe1, 0xb6, 0x08, 0x7f, 0x2f, 0x19, 0x74, 0x37, 0x4e, 0x19, 0x74, + 0x51, 0xf8, 0x87, 0x91, 0x16, 0x8a, 0x16, 0x69, 0xc1, 0x49, 0x25, 0xec, 0xa8, 0x66, 0x8e, 0xa4, + 0xf8, 0xfb, 0x30, 0x49, 0x7c, 0x9f, 0x4c, 0x4a, 0x9f, 0x7c, 0x49, 0xf4, 0x3d, 0x6b, 0x81, 0x33, + 0x56, 0x9e, 0xf0, 0xf3, 0x97, 0x6b, 0x86, 0x3f, 0x46, 0x55, 0x85, 0x87, 0x7d, 0x26, 0xac, 0xc4, + 0xa1, 0xd7, 0x60, 0x96, 0x5a, 0x64, 0xa7, 0x4b, 0xef, 0xd8, 0x9d, 0x0e, 0xb3, 0x3a, 0xa5, 0xa9, + 0x25, 0x6d, 0x79, 0xba, 0x7e, 0x59, 0xe9, 0x32, 0xbb, 0x11, 0xdf, 0xc4, 0x49, 0xda, 0xa3, 0x2a, + 0xdc, 0xf4, 0x18, 0x15, 0x2e, 0x88, 0xf3, 0xfc, 0x71, 0x71, 0xae, 0xff, 0x38, 0x0b, 0x28, 0xe1, + 0x31, 0xbf, 0xcd, 0x7a, 0x5f, 0x83, 0x59, 0x2b, 0xbe, 0xac, 0xaa, 0xc6, 0x79, 0xd5, 0xaf, 0xd0, + 0xfa, 0xe4, 0x7e, 0x12, 0x13, 0x39, 0x50, 0xe0, 0x2e, 0x69, 0xb7, 0x99, 0x21, 0xb5, 0x52, 0x41, + 0xff, 0xea, 0x13, 0x74, 0x90, 0xbf, 0x0d, 0x56, 0x43, 0x77, 0x6c, 0xc7, 0xb8, 0x63, 0x5f, 0xb8, + 0x62, 0xab, 0x38, 0x81, 0x80, 0xde, 0xd3, 0xa0, 0x28, 0x7a, 0x8b, 0x38, 0x89, 0x1a, 0xda, 0xbf, + 0xf8, 0xf4, 0xb0, 0x38, 0x25, 0x21, 0x9a, 0x20, 0xd3, 0x3b, 0x78, 0x04, 0x4d, 0xff, 0xab, 0x06, + 0x8b, 0x23, 0x1e, 0xe9, 0x5f, 0xc4, 0xc7, 0xd1, 0x2e, 0xe4, 0x44, 0x95, 0x0c, 0x6a, 0xd2, 0xe6, + 0x99, 0x7c, 0x1d, 0xd5, 0xe7, 0xa8, 0xa0, 0x8b, 0x35, 0x0f, 0xfb, 0x20, 0xfa, 0x6f, 0x73, 0x50, + 0x0c, 0x88, 0xbc, 0xad, 0x7e, 0xaf, 0x47, 0xdc, 0x8b, 0xe8, 0x4d, 0xbf, 0xaf, 0xc1, 0x7c, 0x3c, + 0xca, 0x58, 0x68, 0x6f, 0xfd, 0x4c, 0xf6, 0xfa, 0x8e, 0xbe, 0xa2, 0xb0, 0xe7, 0x9b, 0x49, 0x08, + 0x9c, 0xc6, 0x44, 0xbf, 0xd4, 0xe0, 0xaa, 0x8f, 0xa2, 0xbe, 0x84, 0xa7, 0x38, 0x54, 0xd4, 0x9d, + 0x87, 0x52, 0x9f, 0x56, 0x4a, 0x5d, 0x5d, 0x7b, 0x02, 0x1e, 0x7e, 0xa2, 0x36, 0xe8, 0xa7, 0x1a, + 0x5c, 0xf6, 0x09, 0xd2, 0x7a, 0x4e, 0x9c, 0x9b, 0x9e, 0x9f, 0x52, 0x7a, 0x5e, 0x5e, 0x3b, 0x0a, + 0x08, 0x1f, 0x8d, 0x8f, 0xde, 0x85, 0xb9, 0x5e, 0x62, 0x46, 0x2c, 0xe5, 0x4e, 0xf7, 0xd5, 0x27, + 0x39, 0x69, 0xd6, 0x9f, 0x57, 0xda, 0xa4, 0x26, 0x50, 0x9c, 0x42, 0xd3, 0x1f, 0xc0, 0x73, 0x2d, + 0xd2, 0x61, 0x96, 0xec, 0x14, 0x37, 0x29, 0xbf, 0xe7, 0x88, 0x07, 0x99, 0x7b, 0x1d, 0xd2, 0xf1, + 0x7b, 0x99, 0x6c, 0x6c, 0xec, 0x23, 0x1d, 0x8a, 0xe5, 0x0e, 0x7a, 0x09, 0x72, 0x5d, 0xd6, 0x63, + 0x5c, 0x35, 0xa1, 0xe1, 0x35, 0xb9, 0x23, 0x16, 0xb1, 0xbf, 0xa7, 0x13, 0x28, 0xc4, 0xa7, 0xd6, + 0x67, 0xf1, 0xc5, 0xee, 0xd7, 0x1a, 0x4c, 0xa9, 0xfa, 0x89, 0xae, 0xc5, 0x06, 0x4d, 0x1f, 0xa2, + 0x74, 0xf2, 0x90, 0x89, 0x9a, 0x6a, 0xc4, 0xcd, 0x9c, 0x70, 0x65, 0xfb, 0x9c, 0x75, 0xab, 0xfe, + 0x3f, 0x2d, 0x54, 0x1b, 0x16, 0xbf, 0xe7, 0x6e, 0x71, 0x97, 0x59, 0x9d, 0xfa, 0x74, 0x6a, 0x20, + 0xfe, 0x0c, 0x4c, 0x51, 0x4b, 0x4e, 0xcf, 0xb2, 0x0b, 0xc9, 0xd5, 0x67, 0x86, 0x83, 0xca, 0xd4, + 0x86, 0xbf, 0x84, 0x83, 0x3d, 0x9d, 0x42, 0x31, 0xdd, 0x7d, 0x3e, 0x83, 0xf3, 0xa9, 0xbf, 0xfc, + 0xe8, 0x71, 0xf9, 0xd2, 0x87, 0x8f, 0xcb, 0x97, 0x3e, 0x7a, 0x5c, 0xbe, 0xf4, 0xde, 0xb0, 0xac, + 0x3d, 0x1a, 0x96, 0xb5, 0x0f, 0x87, 0x65, 0xed, 0xa3, 0x61, 0x59, 0xfb, 0xf3, 0xb0, 0xac, 0xfd, + 0xe4, 0x2f, 0xe5, 0x4b, 0x5f, 0x9d, 0x52, 0x71, 0xf4, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x46, + 0xb3, 0x71, 0xae, 0x2b, 0x23, 0x00, 0x00, } func (m *AddressGroup) Marshal() (dAtA []byte, err error) { @@ -1856,6 +1890,50 @@ func (m *IPNet) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *MulticastStats) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MulticastStats) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MulticastStats) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.GroupJoinedList) > 0 { + for iNdEx := len(m.GroupJoinedList) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.GroupJoinedList[iNdEx]) + copy(dAtA[i:], m.GroupJoinedList[iNdEx]) + i = encodeVarintGenerated(dAtA, i, uint64(len(m.GroupJoinedList[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } + if m.Pod != nil { + { + size, err := m.Pod.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *NamedPort) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -2379,6 +2457,20 @@ func (m *NodeStatsSummary) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if len(m.MulticastStats) > 0 { + for iNdEx := len(m.MulticastStats) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.MulticastStats[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + } + } if len(m.AntreaNetworkPolicies) > 0 { for iNdEx := len(m.AntreaNetworkPolicies) - 1; iNdEx >= 0; iNdEx-- { { @@ -2889,6 +2981,25 @@ func (m *IPNet) Size() (n int) { return n } +func (m *MulticastStats) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Pod != nil { + l = m.Pod.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if len(m.GroupJoinedList) > 0 { + for _, b := range m.GroupJoinedList { + l = len(b) + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + func (m *NamedPort) Size() (n int) { if m == nil { return 0 @@ -3112,6 +3223,12 @@ func (m *NodeStatsSummary) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } + if len(m.MulticastStats) > 0 { + for _, e := range m.MulticastStats { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } return n } @@ -3449,6 +3566,17 @@ func (this *IPNet) String() string { }, "") return s } +func (this *MulticastStats) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&MulticastStats{`, + `Pod:` + strings.Replace(this.Pod.String(), "PodReference", "PodReference", 1) + `,`, + `GroupJoinedList:` + fmt.Sprintf("%v", this.GroupJoinedList) + `,`, + `}`, + }, "") + return s +} func (this *NamedPort) String() string { if this == nil { return "nil" @@ -3619,11 +3747,17 @@ func (this *NodeStatsSummary) String() string { repeatedStringForAntreaNetworkPolicies += strings.Replace(strings.Replace(f.String(), "NetworkPolicyStats", "NetworkPolicyStats", 1), `&`, ``, 1) + "," } repeatedStringForAntreaNetworkPolicies += "}" + repeatedStringForMulticastStats := "[]MulticastStats{" + for _, f := range this.MulticastStats { + repeatedStringForMulticastStats += strings.Replace(strings.Replace(f.String(), "MulticastStats", "MulticastStats", 1), `&`, ``, 1) + "," + } + repeatedStringForMulticastStats += "}" s := strings.Join([]string{`&NodeStatsSummary{`, `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`, `NetworkPolicies:` + repeatedStringForNetworkPolicies + `,`, `AntreaClusterNetworkPolicies:` + repeatedStringForAntreaClusterNetworkPolicies + `,`, `AntreaNetworkPolicies:` + repeatedStringForAntreaNetworkPolicies + `,`, + `MulticastStats:` + repeatedStringForMulticastStats + `,`, `}`, }, "") return s @@ -5829,6 +5963,124 @@ func (m *IPNet) Unmarshal(dAtA []byte) error { } return nil } +func (m *MulticastStats) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MulticastStats: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MulticastStats: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pod", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pod == nil { + m.Pod = &PodReference{} + } + if err := m.Pod.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field GroupJoinedList", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.GroupJoinedList = append(m.GroupJoinedList, make([]byte, postIndex-iNdEx)) + copy(m.GroupJoinedList[len(m.GroupJoinedList)-1], dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *NamedPort) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -7506,6 +7758,40 @@ func (m *NodeStatsSummary) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MulticastStats", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.MulticastStats = append(m.MulticastStats, MulticastStats{}) + if err := m.MulticastStats[len(m.MulticastStats)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) diff --git a/pkg/apis/controlplane/v1beta2/generated.proto b/pkg/apis/controlplane/v1beta2/generated.proto index a381b11379c..f12f15f3844 100644 --- a/pkg/apis/controlplane/v1beta2/generated.proto +++ b/pkg/apis/controlplane/v1beta2/generated.proto @@ -175,6 +175,14 @@ message IPNet { optional int32 prefixLength = 2; } +// MulticastStats contains the multicast groups that a Pod has joined. +message MulticastStats { + optional PodReference pod = 1; + + // List of multicast IPs that the pod has joined. + repeated bytes groupJoinedList = 2; +} + // NamedPort represents a Port with a name on Pod. message NamedPort { // Port represents the Port number. @@ -328,6 +336,9 @@ message NodeStatsSummary { // The TrafficStats of Antrea NetworkPolicies collected from the Node. repeated NetworkPolicyStats antreaNetworkPolicies = 4; + + // List of PodMulticast statistics collected from the Node. + repeated MulticastStats multicastStats = 5; } message PaginationGetOptions { diff --git a/pkg/apis/controlplane/v1beta2/types.go b/pkg/apis/controlplane/v1beta2/types.go index b690fbb0d38..d5e6fc7fb72 100644 --- a/pkg/apis/controlplane/v1beta2/types.go +++ b/pkg/apis/controlplane/v1beta2/types.go @@ -325,6 +325,16 @@ type NodeStatsSummary struct { AntreaClusterNetworkPolicies []NetworkPolicyStats `json:"antreaClusterNetworkPolicies,omitempty" protobuf:"bytes,3,rep,name=antreaClusterNetworkPolicies"` // The TrafficStats of Antrea NetworkPolicies collected from the Node. AntreaNetworkPolicies []NetworkPolicyStats `json:"antreaNetworkPolicies,omitempty" protobuf:"bytes,4,rep,name=antreaNetworkPolicies"` + // List of PodMulticast statistics collected from the Node. + MulticastStats []MulticastStats `json:"multicastStats,omitempty" protobuf:"bytes,5,rep,name=multicastStats"` +} + +// MulticastStats contains the multicast groups that a Pod has joined. +type MulticastStats struct { + Pod *PodReference `json:"pod,omitempty" protobuf:"bytes,1,opt,name=pod"` + + // List of multicast IPs that the pod has joined. + GroupJoinedList []IPAddress `json:"groupJoinedList,omitempty" protobuf:"bytes,2,rep,name=groupJoinedList"` } // NetworkPolicyStats contains the information and traffic stats of a NetworkPolicy. diff --git a/pkg/apis/controlplane/v1beta2/zz_generated.conversion.go b/pkg/apis/controlplane/v1beta2/zz_generated.conversion.go index 2a31710fa68..8f6b4524e61 100644 --- a/pkg/apis/controlplane/v1beta2/zz_generated.conversion.go +++ b/pkg/apis/controlplane/v1beta2/zz_generated.conversion.go @@ -199,6 +199,16 @@ func RegisterConversions(s *runtime.Scheme) error { }); err != nil { return err } + if err := s.AddGeneratedConversionFunc((*MulticastStats)(nil), (*controlplane.MulticastStats)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_v1beta2_MulticastStats_To_controlplane_MulticastStats(a.(*MulticastStats), b.(*controlplane.MulticastStats), scope) + }); err != nil { + return err + } + if err := s.AddGeneratedConversionFunc((*controlplane.MulticastStats)(nil), (*MulticastStats)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_controlplane_MulticastStats_To_v1beta2_MulticastStats(a.(*controlplane.MulticastStats), b.(*MulticastStats), scope) + }); err != nil { + return err + } if err := s.AddGeneratedConversionFunc((*NamedPort)(nil), (*controlplane.NamedPort)(nil), func(a, b interface{}, scope conversion.Scope) error { return Convert_v1beta2_NamedPort_To_controlplane_NamedPort(a.(*NamedPort), b.(*controlplane.NamedPort), scope) }); err != nil { @@ -723,6 +733,28 @@ func Convert_controlplane_IPNet_To_v1beta2_IPNet(in *controlplane.IPNet, out *IP return autoConvert_controlplane_IPNet_To_v1beta2_IPNet(in, out, s) } +func autoConvert_v1beta2_MulticastStats_To_controlplane_MulticastStats(in *MulticastStats, out *controlplane.MulticastStats, s conversion.Scope) error { + out.Pod = (*controlplane.PodReference)(unsafe.Pointer(in.Pod)) + out.GroupJoinedList = *(*[]controlplane.IPAddress)(unsafe.Pointer(&in.GroupJoinedList)) + return nil +} + +// Convert_v1beta2_MulticastStats_To_controlplane_MulticastStats is an autogenerated conversion function. +func Convert_v1beta2_MulticastStats_To_controlplane_MulticastStats(in *MulticastStats, out *controlplane.MulticastStats, s conversion.Scope) error { + return autoConvert_v1beta2_MulticastStats_To_controlplane_MulticastStats(in, out, s) +} + +func autoConvert_controlplane_MulticastStats_To_v1beta2_MulticastStats(in *controlplane.MulticastStats, out *MulticastStats, s conversion.Scope) error { + out.Pod = (*PodReference)(unsafe.Pointer(in.Pod)) + out.GroupJoinedList = *(*[]IPAddress)(unsafe.Pointer(&in.GroupJoinedList)) + return nil +} + +// Convert_controlplane_MulticastStats_To_v1beta2_MulticastStats is an autogenerated conversion function. +func Convert_controlplane_MulticastStats_To_v1beta2_MulticastStats(in *controlplane.MulticastStats, out *MulticastStats, s conversion.Scope) error { + return autoConvert_controlplane_MulticastStats_To_v1beta2_MulticastStats(in, out, s) +} + func autoConvert_v1beta2_NamedPort_To_controlplane_NamedPort(in *NamedPort, out *controlplane.NamedPort, s conversion.Scope) error { out.Port = in.Port out.Name = in.Name @@ -1012,6 +1044,7 @@ func autoConvert_v1beta2_NodeStatsSummary_To_controlplane_NodeStatsSummary(in *N out.NetworkPolicies = *(*[]controlplane.NetworkPolicyStats)(unsafe.Pointer(&in.NetworkPolicies)) out.AntreaClusterNetworkPolicies = *(*[]controlplane.NetworkPolicyStats)(unsafe.Pointer(&in.AntreaClusterNetworkPolicies)) out.AntreaNetworkPolicies = *(*[]controlplane.NetworkPolicyStats)(unsafe.Pointer(&in.AntreaNetworkPolicies)) + out.MulticastStats = *(*[]controlplane.MulticastStats)(unsafe.Pointer(&in.MulticastStats)) return nil } @@ -1025,6 +1058,7 @@ func autoConvert_controlplane_NodeStatsSummary_To_v1beta2_NodeStatsSummary(in *c out.NetworkPolicies = *(*[]NetworkPolicyStats)(unsafe.Pointer(&in.NetworkPolicies)) out.AntreaClusterNetworkPolicies = *(*[]NetworkPolicyStats)(unsafe.Pointer(&in.AntreaClusterNetworkPolicies)) out.AntreaNetworkPolicies = *(*[]NetworkPolicyStats)(unsafe.Pointer(&in.AntreaNetworkPolicies)) + out.MulticastStats = *(*[]MulticastStats)(unsafe.Pointer(&in.MulticastStats)) return nil } diff --git a/pkg/apis/controlplane/v1beta2/zz_generated.deepcopy.go b/pkg/apis/controlplane/v1beta2/zz_generated.deepcopy.go index 3e151ddb5eb..531c91871ce 100644 --- a/pkg/apis/controlplane/v1beta2/zz_generated.deepcopy.go +++ b/pkg/apis/controlplane/v1beta2/zz_generated.deepcopy.go @@ -554,6 +554,38 @@ func (in *IPNet) DeepCopy() *IPNet { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MulticastStats) DeepCopyInto(out *MulticastStats) { + *out = *in + if in.Pod != nil { + in, out := &in.Pod, &out.Pod + *out = new(PodReference) + **out = **in + } + if in.GroupJoinedList != nil { + in, out := &in.GroupJoinedList, &out.GroupJoinedList + *out = make([]IPAddress, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = make(IPAddress, len(*in)) + copy(*out, *in) + } + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MulticastStats. +func (in *MulticastStats) DeepCopy() *MulticastStats { + if in == nil { + return nil + } + out := new(MulticastStats) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NamedPort) DeepCopyInto(out *NamedPort) { *out = *in @@ -841,6 +873,13 @@ func (in *NodeStatsSummary) DeepCopyInto(out *NodeStatsSummary) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.MulticastStats != nil { + in, out := &in.MulticastStats, &out.MulticastStats + *out = make([]MulticastStats, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } return } diff --git a/pkg/apis/controlplane/zz_generated.deepcopy.go b/pkg/apis/controlplane/zz_generated.deepcopy.go index 890787ae596..ca5e31b0900 100644 --- a/pkg/apis/controlplane/zz_generated.deepcopy.go +++ b/pkg/apis/controlplane/zz_generated.deepcopy.go @@ -554,6 +554,38 @@ func (in *IPNet) DeepCopy() *IPNet { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MulticastStats) DeepCopyInto(out *MulticastStats) { + *out = *in + if in.Pod != nil { + in, out := &in.Pod, &out.Pod + *out = new(PodReference) + **out = **in + } + if in.GroupJoinedList != nil { + in, out := &in.GroupJoinedList, &out.GroupJoinedList + *out = make([]IPAddress, len(*in)) + for i := range *in { + if (*in)[i] != nil { + in, out := &(*in)[i], &(*out)[i] + *out = make(IPAddress, len(*in)) + copy(*out, *in) + } + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MulticastStats. +func (in *MulticastStats) DeepCopy() *MulticastStats { + if in == nil { + return nil + } + out := new(MulticastStats) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NamedPort) DeepCopyInto(out *NamedPort) { *out = *in @@ -841,6 +873,13 @@ func (in *NodeStatsSummary) DeepCopyInto(out *NodeStatsSummary) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.MulticastStats != nil { + in, out := &in.MulticastStats, &out.MulticastStats + *out = make([]MulticastStats, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } return } diff --git a/pkg/apis/stats/register.go b/pkg/apis/stats/register.go index 5f60829f1c2..fbbf59d57bb 100644 --- a/pkg/apis/stats/register.go +++ b/pkg/apis/stats/register.go @@ -50,6 +50,8 @@ func addKnownTypes(scheme *runtime.Scheme) error { &AntreaNetworkPolicyStatsList{}, &NetworkPolicyStats{}, &NetworkPolicyStatsList{}, + &MulticastGroupMember{}, + &MulticastGroupMemberList{}, ) return nil } diff --git a/pkg/apis/stats/types.go b/pkg/apis/stats/types.go index f99886e1ae5..970146ddcdd 100644 --- a/pkg/apis/stats/types.go +++ b/pkg/apis/stats/types.go @@ -65,6 +65,38 @@ type AntreaNetworkPolicyStatsList struct { Items []AntreaNetworkPolicyStats } +// PodReference represents a Pod Reference. +type PodReference struct { + // The name of this Pod. + Name string + // The Namespace of this Pod. + Namespace string +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// MulticastGroupMember contains the mapping between Multicast Group and Pods. +type MulticastGroupMember struct { + metav1.TypeMeta + metav1.ObjectMeta + + // Group is the IP of Multicast Group. + Group string + // Pods is the list of Pods that has joined the multicast group. + Pods []PodReference +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// MulticastGroupMemberList is a list of MulticastGroupMember. +type MulticastGroupMemberList struct { + metav1.TypeMeta + metav1.ListMeta + + // List of MulticastGroupPodsMember. + Items []MulticastGroupMember +} + // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // NetworkPolicyStats is the statistics of a K8s NetworkPolicy. diff --git a/pkg/apis/stats/v1alpha1/generated.pb.go b/pkg/apis/stats/v1alpha1/generated.pb.go index 01089d5c0bb..090058538c4 100644 --- a/pkg/apis/stats/v1alpha1/generated.pb.go +++ b/pkg/apis/stats/v1alpha1/generated.pb.go @@ -152,10 +152,66 @@ func (m *AntreaNetworkPolicyStatsList) XXX_DiscardUnknown() { var xxx_messageInfo_AntreaNetworkPolicyStatsList proto.InternalMessageInfo +func (m *MulticastGroupMember) Reset() { *m = MulticastGroupMember{} } +func (*MulticastGroupMember) ProtoMessage() {} +func (*MulticastGroupMember) Descriptor() ([]byte, []int) { + return fileDescriptor_91b517c6fa558473, []int{4} +} +func (m *MulticastGroupMember) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MulticastGroupMember) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil +} +func (m *MulticastGroupMember) XXX_Merge(src proto.Message) { + xxx_messageInfo_MulticastGroupMember.Merge(m, src) +} +func (m *MulticastGroupMember) XXX_Size() int { + return m.Size() +} +func (m *MulticastGroupMember) XXX_DiscardUnknown() { + xxx_messageInfo_MulticastGroupMember.DiscardUnknown(m) +} + +var xxx_messageInfo_MulticastGroupMember proto.InternalMessageInfo + +func (m *MulticastGroupMemberList) Reset() { *m = MulticastGroupMemberList{} } +func (*MulticastGroupMemberList) ProtoMessage() {} +func (*MulticastGroupMemberList) Descriptor() ([]byte, []int) { + return fileDescriptor_91b517c6fa558473, []int{5} +} +func (m *MulticastGroupMemberList) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MulticastGroupMemberList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil +} +func (m *MulticastGroupMemberList) XXX_Merge(src proto.Message) { + xxx_messageInfo_MulticastGroupMemberList.Merge(m, src) +} +func (m *MulticastGroupMemberList) XXX_Size() int { + return m.Size() +} +func (m *MulticastGroupMemberList) XXX_DiscardUnknown() { + xxx_messageInfo_MulticastGroupMemberList.DiscardUnknown(m) +} + +var xxx_messageInfo_MulticastGroupMemberList proto.InternalMessageInfo + func (m *NetworkPolicyStats) Reset() { *m = NetworkPolicyStats{} } func (*NetworkPolicyStats) ProtoMessage() {} func (*NetworkPolicyStats) Descriptor() ([]byte, []int) { - return fileDescriptor_91b517c6fa558473, []int{4} + return fileDescriptor_91b517c6fa558473, []int{6} } func (m *NetworkPolicyStats) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -183,7 +239,7 @@ var xxx_messageInfo_NetworkPolicyStats proto.InternalMessageInfo func (m *NetworkPolicyStatsList) Reset() { *m = NetworkPolicyStatsList{} } func (*NetworkPolicyStatsList) ProtoMessage() {} func (*NetworkPolicyStatsList) Descriptor() ([]byte, []int) { - return fileDescriptor_91b517c6fa558473, []int{5} + return fileDescriptor_91b517c6fa558473, []int{7} } func (m *NetworkPolicyStatsList) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -208,10 +264,38 @@ func (m *NetworkPolicyStatsList) XXX_DiscardUnknown() { var xxx_messageInfo_NetworkPolicyStatsList proto.InternalMessageInfo +func (m *PodReference) Reset() { *m = PodReference{} } +func (*PodReference) ProtoMessage() {} +func (*PodReference) Descriptor() ([]byte, []int) { + return fileDescriptor_91b517c6fa558473, []int{8} +} +func (m *PodReference) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *PodReference) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil +} +func (m *PodReference) XXX_Merge(src proto.Message) { + xxx_messageInfo_PodReference.Merge(m, src) +} +func (m *PodReference) XXX_Size() int { + return m.Size() +} +func (m *PodReference) XXX_DiscardUnknown() { + xxx_messageInfo_PodReference.DiscardUnknown(m) +} + +var xxx_messageInfo_PodReference proto.InternalMessageInfo + func (m *RuleTrafficStats) Reset() { *m = RuleTrafficStats{} } func (*RuleTrafficStats) ProtoMessage() {} func (*RuleTrafficStats) Descriptor() ([]byte, []int) { - return fileDescriptor_91b517c6fa558473, []int{6} + return fileDescriptor_91b517c6fa558473, []int{9} } func (m *RuleTrafficStats) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -239,7 +323,7 @@ var xxx_messageInfo_RuleTrafficStats proto.InternalMessageInfo func (m *TrafficStats) Reset() { *m = TrafficStats{} } func (*TrafficStats) ProtoMessage() {} func (*TrafficStats) Descriptor() ([]byte, []int) { - return fileDescriptor_91b517c6fa558473, []int{7} + return fileDescriptor_91b517c6fa558473, []int{10} } func (m *TrafficStats) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -269,8 +353,11 @@ func init() { proto.RegisterType((*AntreaClusterNetworkPolicyStatsList)(nil), "antrea_io.antrea.pkg.apis.stats.v1alpha1.AntreaClusterNetworkPolicyStatsList") proto.RegisterType((*AntreaNetworkPolicyStats)(nil), "antrea_io.antrea.pkg.apis.stats.v1alpha1.AntreaNetworkPolicyStats") proto.RegisterType((*AntreaNetworkPolicyStatsList)(nil), "antrea_io.antrea.pkg.apis.stats.v1alpha1.AntreaNetworkPolicyStatsList") + proto.RegisterType((*MulticastGroupMember)(nil), "antrea_io.antrea.pkg.apis.stats.v1alpha1.MulticastGroupMember") + proto.RegisterType((*MulticastGroupMemberList)(nil), "antrea_io.antrea.pkg.apis.stats.v1alpha1.MulticastGroupMemberList") proto.RegisterType((*NetworkPolicyStats)(nil), "antrea_io.antrea.pkg.apis.stats.v1alpha1.NetworkPolicyStats") proto.RegisterType((*NetworkPolicyStatsList)(nil), "antrea_io.antrea.pkg.apis.stats.v1alpha1.NetworkPolicyStatsList") + proto.RegisterType((*PodReference)(nil), "antrea_io.antrea.pkg.apis.stats.v1alpha1.PodReference") proto.RegisterType((*RuleTrafficStats)(nil), "antrea_io.antrea.pkg.apis.stats.v1alpha1.RuleTrafficStats") proto.RegisterType((*TrafficStats)(nil), "antrea_io.antrea.pkg.apis.stats.v1alpha1.TrafficStats") } @@ -280,44 +367,52 @@ func init() { } var fileDescriptor_91b517c6fa558473 = []byte{ - // 591 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x54, 0xcf, 0x6b, 0x13, 0x41, - 0x14, 0xce, 0x34, 0x0d, 0x8d, 0xd3, 0x88, 0x61, 0x10, 0x09, 0x41, 0x36, 0x21, 0xbd, 0x44, 0xd0, - 0x59, 0x53, 0xa4, 0x14, 0xf1, 0xe2, 0x7a, 0x2a, 0x68, 0x2d, 0x5b, 0x4f, 0x22, 0xe8, 0x64, 0x3b, - 0xd9, 0x8c, 0xc9, 0xee, 0x2c, 0x3b, 0x93, 0x48, 0x6e, 0xfd, 0x03, 0x3c, 0xf8, 0x57, 0xf8, 0xb7, - 0xe4, 0xd8, 0x63, 0xbd, 0x14, 0xb3, 0x22, 0x78, 0x15, 0x2f, 0x1e, 0x65, 0x66, 0x37, 0x3f, 0x97, - 0x92, 0xf5, 0xd2, 0x1e, 0xf4, 0xb6, 0xf3, 0xde, 0xfb, 0xde, 0xf7, 0xde, 0xf7, 0x3e, 0x16, 0xee, - 0x13, 0x5f, 0x86, 0x94, 0x60, 0xc6, 0xcd, 0xf8, 0xcb, 0x0c, 0x7a, 0xae, 0x49, 0x02, 0x26, 0x4c, - 0x21, 0x89, 0x14, 0xe6, 0xb0, 0x45, 0xfa, 0x41, 0x97, 0xb4, 0x4c, 0x97, 0xfa, 0x34, 0x24, 0x92, - 0x9e, 0xe0, 0x20, 0xe4, 0x92, 0xa3, 0x66, 0x5c, 0xff, 0x96, 0x71, 0x9c, 0xf4, 0x08, 0x7a, 0x2e, - 0x56, 0x48, 0xac, 0x91, 0x78, 0x8a, 0xac, 0x3e, 0x70, 0x99, 0xec, 0x0e, 0xda, 0xd8, 0xe1, 0x9e, - 0xe9, 0x72, 0x97, 0x9b, 0xba, 0x41, 0x7b, 0xd0, 0xd1, 0x2f, 0xfd, 0xd0, 0x5f, 0x71, 0xe3, 0xea, - 0xa3, 0xde, 0xbe, 0xd0, 0xf3, 0x04, 0xcc, 0x23, 0x4e, 0x97, 0xf9, 0x34, 0x1c, 0xcd, 0xa7, 0xf2, - 0xa8, 0x24, 0xe6, 0x30, 0x35, 0x4e, 0xd5, 0xbc, 0x0c, 0x15, 0x0e, 0x7c, 0xc9, 0x3c, 0x9a, 0x02, - 0xec, 0xad, 0x03, 0x08, 0xa7, 0x4b, 0x3d, 0xb2, 0x8a, 0x6b, 0xfc, 0xde, 0x80, 0xb5, 0xa7, 0x7a, - 0xe1, 0x67, 0xfd, 0x81, 0x90, 0x34, 0x3c, 0xa4, 0xf2, 0x03, 0x0f, 0x7b, 0x47, 0xbc, 0xcf, 0x9c, - 0xd1, 0xb1, 0x5a, 0x1d, 0xbd, 0x83, 0x45, 0x35, 0xe7, 0x09, 0x91, 0xa4, 0x02, 0xea, 0xa0, 0xb9, - 0xbd, 0xfb, 0x10, 0xc7, 0x74, 0x78, 0x91, 0x6e, 0xae, 0x98, 0xaa, 0xc6, 0xc3, 0x16, 0x7e, 0xd9, - 0x7e, 0x4f, 0x1d, 0xf9, 0x82, 0x4a, 0x62, 0xa1, 0xf1, 0x45, 0x2d, 0x17, 0x5d, 0xd4, 0xe0, 0x3c, - 0x66, 0xcf, 0xba, 0xa2, 0x00, 0x96, 0x64, 0x48, 0x3a, 0x1d, 0xe6, 0x68, 0xc6, 0xca, 0x86, 0x66, - 0xd9, 0xc3, 0x59, 0x8f, 0x82, 0x5f, 0x2d, 0xa0, 0xad, 0xdb, 0x09, 0x57, 0x69, 0x31, 0x6a, 0x2f, - 0x31, 0xa0, 0x53, 0x00, 0xcb, 0xe1, 0xa0, 0x4f, 0x17, 0x4b, 0x2a, 0xf9, 0x7a, 0xbe, 0xb9, 0xbd, - 0xfb, 0x38, 0x3b, 0xad, 0xbd, 0xd2, 0xc1, 0xaa, 0x24, 0xd4, 0xe5, 0xd5, 0x8c, 0x9d, 0x62, 0x6b, - 0xfc, 0x02, 0x70, 0x67, 0x8d, 0xf4, 0xcf, 0x99, 0x90, 0xe8, 0x4d, 0x4a, 0x7e, 0x9c, 0x4d, 0x7e, - 0x85, 0xd6, 0xe2, 0x97, 0x93, 0xa9, 0x8a, 0xd3, 0xc8, 0x82, 0xf4, 0x3e, 0x2c, 0x30, 0x49, 0x3d, - 0xa5, 0xb9, 0x5a, 0xfe, 0x20, 0xfb, 0xf2, 0x6b, 0x66, 0xb7, 0x6e, 0x26, 0xac, 0x85, 0x03, 0xd5, - 0xdf, 0x8e, 0x69, 0x1a, 0x3f, 0x37, 0x60, 0x25, 0x46, 0xfe, 0x77, 0xda, 0x55, 0x39, 0xed, 0x3b, - 0x80, 0x77, 0x2f, 0xd3, 0xfc, 0x0a, 0x2c, 0xe6, 0x2e, 0x5b, 0xcc, 0xfa, 0x5b, 0x8b, 0x65, 0xf6, - 0xd6, 0x0f, 0x00, 0xd1, 0xbf, 0xe1, 0xaa, 0xc6, 0x17, 0x00, 0xef, 0x5c, 0xcb, 0x31, 0xc9, 0xf2, - 0x31, 0x9f, 0x64, 0xdf, 0x31, 0xf3, 0x19, 0x3f, 0x03, 0x98, 0x72, 0x35, 0xaa, 0xc3, 0x4d, 0x9f, - 0x78, 0x54, 0x6f, 0x74, 0xc3, 0x2a, 0x25, 0xc0, 0xcd, 0x43, 0xe2, 0x51, 0x5b, 0x67, 0xae, 0xe1, - 0x08, 0x1f, 0x01, 0x5c, 0x4a, 0xa3, 0x7b, 0x70, 0x2b, 0x20, 0x4e, 0x8f, 0x4a, 0xa1, 0xe7, 0xcc, - 0x5b, 0xb7, 0x92, 0x2e, 0x5b, 0x47, 0x71, 0xd8, 0x9e, 0xe6, 0xd1, 0x0e, 0x2c, 0xb4, 0x47, 0x92, - 0xc6, 0x63, 0xe6, 0xe7, 0x4a, 0x58, 0x2a, 0x68, 0xc7, 0x39, 0x74, 0x1f, 0x16, 0x05, 0x15, 0x82, - 0x71, 0x5f, 0xfd, 0x32, 0x54, 0xdd, 0xec, 0x34, 0xc7, 0x49, 0xdc, 0x9e, 0x55, 0x58, 0x78, 0x3c, - 0x31, 0x72, 0x67, 0x13, 0x23, 0x77, 0x3e, 0x31, 0x72, 0xa7, 0x91, 0x01, 0xc6, 0x91, 0x01, 0xce, - 0x22, 0x03, 0x9c, 0x47, 0x06, 0xf8, 0x1a, 0x19, 0xe0, 0xd3, 0x37, 0x23, 0xf7, 0xba, 0x38, 0xdd, - 0xf7, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x68, 0x79, 0xc3, 0x5a, 0x2e, 0x09, 0x00, 0x00, + // 708 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x54, 0x4f, 0x6b, 0x13, 0x4f, + 0x18, 0xce, 0x34, 0x2d, 0x4d, 0xa6, 0xf9, 0xf1, 0xab, 0x4b, 0x91, 0x50, 0x64, 0x5b, 0xd2, 0x4b, + 0x05, 0x9d, 0xb5, 0x45, 0x4a, 0x11, 0x11, 0x5c, 0x0f, 0x52, 0xb0, 0x35, 0x6c, 0x3d, 0x88, 0x08, + 0x3a, 0xd9, 0xbc, 0xd9, 0x8c, 0xc9, 0xee, 0x2c, 0x3b, 0xb3, 0x95, 0xde, 0xfa, 0x01, 0x3c, 0xf8, + 0x29, 0xfc, 0x2c, 0x3d, 0xf6, 0x58, 0x0f, 0x16, 0x1b, 0x11, 0xbc, 0x8a, 0x07, 0x3d, 0xca, 0xcc, + 0x6e, 0xba, 0x49, 0xd3, 0x92, 0xed, 0x25, 0x1e, 0xf4, 0xb4, 0x3b, 0xef, 0xbf, 0xe7, 0x79, 0xdf, + 0xf7, 0x99, 0xc1, 0x9b, 0x34, 0x90, 0x11, 0x50, 0xc2, 0xb8, 0x95, 0xfc, 0x59, 0x61, 0xc7, 0xb3, + 0x68, 0xc8, 0x84, 0x25, 0x24, 0x95, 0xc2, 0xda, 0x5b, 0xa3, 0xdd, 0xb0, 0x4d, 0xd7, 0x2c, 0x0f, + 0x02, 0x88, 0xa8, 0x84, 0x26, 0x09, 0x23, 0x2e, 0xb9, 0xb1, 0x9a, 0xc4, 0xbf, 0x62, 0x9c, 0xa4, + 0x35, 0xc2, 0x8e, 0x47, 0x54, 0x26, 0xd1, 0x99, 0xa4, 0x9f, 0xb9, 0x78, 0xdb, 0x63, 0xb2, 0x1d, + 0x37, 0x88, 0xcb, 0x7d, 0xcb, 0xe3, 0x1e, 0xb7, 0x74, 0x81, 0x46, 0xdc, 0xd2, 0x27, 0x7d, 0xd0, + 0x7f, 0x49, 0xe1, 0xc5, 0xbb, 0x9d, 0x4d, 0xa1, 0xf9, 0x84, 0xcc, 0xa7, 0x6e, 0x9b, 0x05, 0x10, + 0xed, 0x67, 0xac, 0x7c, 0x90, 0xd4, 0xda, 0x1b, 0xa1, 0xb3, 0x68, 0x5d, 0x96, 0x15, 0xc5, 0x81, + 0x64, 0x3e, 0x8c, 0x24, 0x6c, 0x8c, 0x4b, 0x10, 0x6e, 0x1b, 0x7c, 0x7a, 0x3e, 0xaf, 0xf6, 0x6b, + 0x0a, 0x2f, 0x3d, 0xd4, 0x0d, 0x3f, 0xea, 0xc6, 0x42, 0x42, 0xb4, 0x03, 0xf2, 0x2d, 0x8f, 0x3a, + 0x75, 0xde, 0x65, 0xee, 0xfe, 0xae, 0x6a, 0xdd, 0x78, 0x8d, 0x4b, 0x8a, 0x67, 0x93, 0x4a, 0x5a, + 0x45, 0xcb, 0x68, 0x75, 0x6e, 0xfd, 0x0e, 0x49, 0xe0, 0xc8, 0x20, 0x5c, 0x36, 0x31, 0x15, 0x4d, + 0xf6, 0xd6, 0xc8, 0xd3, 0xc6, 0x1b, 0x70, 0xe5, 0x36, 0x48, 0x6a, 0x1b, 0x87, 0x27, 0x4b, 0x85, + 0xde, 0xc9, 0x12, 0xce, 0x6c, 0xce, 0x59, 0x55, 0x23, 0xc4, 0x15, 0x19, 0xd1, 0x56, 0x8b, 0xb9, + 0x1a, 0xb1, 0x3a, 0xa5, 0x51, 0x36, 0x48, 0xde, 0xa5, 0x90, 0x67, 0x03, 0xd9, 0xf6, 0x42, 0x8a, + 0x55, 0x19, 0xb4, 0x3a, 0x43, 0x08, 0xc6, 0x01, 0xc2, 0xf3, 0x51, 0xdc, 0x85, 0xc1, 0x90, 0x6a, + 0x71, 0xb9, 0xb8, 0x3a, 0xb7, 0x7e, 0x2f, 0x3f, 0xac, 0x73, 0xae, 0x82, 0x5d, 0x4d, 0xa1, 0xe7, + 0xcf, 0x7b, 0x9c, 0x11, 0xb4, 0xda, 0x0f, 0x84, 0x57, 0xc6, 0x8c, 0xfe, 0x09, 0x13, 0xd2, 0x78, + 0x39, 0x32, 0x7e, 0x92, 0x6f, 0xfc, 0x2a, 0x5b, 0x0f, 0x7f, 0x3e, 0x65, 0x55, 0xea, 0x5b, 0x06, + 0x46, 0x1f, 0xe0, 0x19, 0x26, 0xc1, 0x57, 0x33, 0x57, 0xcd, 0x6f, 0xe5, 0x6f, 0x7e, 0x0c, 0x77, + 0xfb, 0xbf, 0x14, 0x75, 0x66, 0x4b, 0xd5, 0x77, 0x12, 0x98, 0xda, 0xf7, 0x29, 0x5c, 0x4d, 0x32, + 0xff, 0x29, 0x6d, 0x52, 0x4a, 0xfb, 0x8a, 0xf0, 0x8d, 0xcb, 0x66, 0x3e, 0x01, 0x89, 0x79, 0xc3, + 0x12, 0xb3, 0xaf, 0x2a, 0xb1, 0xdc, 0xda, 0xfa, 0x89, 0xf0, 0xc2, 0x76, 0xdc, 0x95, 0xcc, 0xa5, + 0x42, 0x3e, 0x8e, 0x78, 0x1c, 0x6e, 0x83, 0xdf, 0x80, 0x68, 0x02, 0xba, 0x5a, 0xc1, 0x33, 0x9e, + 0x02, 0xd4, 0x82, 0x2a, 0x67, 0xfc, 0x34, 0x0b, 0x27, 0xf1, 0x19, 0xcf, 0xf1, 0x74, 0xc8, 0x9b, + 0xfd, 0xed, 0x5f, 0x41, 0x74, 0x75, 0xde, 0x74, 0xa0, 0x05, 0x11, 0x04, 0x2e, 0xd8, 0x95, 0xb4, + 0xf6, 0x74, 0x9d, 0x37, 0x85, 0xa3, 0x2b, 0xd6, 0x3e, 0x21, 0x5c, 0xbd, 0xa8, 0xf3, 0x09, 0x6c, + 0xd7, 0x1d, 0xde, 0xee, 0x83, 0xfc, 0x5d, 0x5d, 0x44, 0xf8, 0x92, 0xcd, 0x7e, 0x43, 0xd8, 0xf8, + 0x3b, 0xde, 0x8b, 0xda, 0x47, 0x84, 0xaf, 0xff, 0x91, 0x6b, 0x4a, 0x87, 0x17, 0x79, 0x3f, 0x7f, + 0x8f, 0xb9, 0x2f, 0x28, 0xc5, 0x95, 0x41, 0x29, 0x1b, 0xcb, 0x78, 0x3a, 0xa0, 0x3e, 0xe8, 0x66, + 0xca, 0x99, 0xb0, 0x77, 0xa8, 0x0f, 0x8e, 0xf6, 0x18, 0x16, 0x2e, 0xab, 0xaf, 0x08, 0xa9, 0x0b, + 0xe9, 0xdd, 0xba, 0x96, 0x86, 0x95, 0x77, 0xfa, 0x0e, 0x27, 0x8b, 0xa9, 0x7d, 0x40, 0x78, 0xe4, + 0x49, 0xcc, 0x81, 0x33, 0xf9, 0x3d, 0xbf, 0x43, 0x78, 0xc8, 0x6d, 0xdc, 0xc4, 0xb3, 0x21, 0x75, + 0x3b, 0x20, 0x85, 0xe6, 0x59, 0xb4, 0xff, 0x4f, 0xab, 0xcc, 0xd6, 0x13, 0xb3, 0xd3, 0xf7, 0xab, + 0xd7, 0xa6, 0xb1, 0x2f, 0x21, 0xa1, 0x59, 0xcc, 0x86, 0x6d, 0x2b, 0xa3, 0x93, 0xf8, 0x8c, 0x5b, + 0xb8, 0x24, 0x40, 0x08, 0xc6, 0x03, 0xf5, 0xe2, 0xa8, 0xb8, 0xb3, 0xed, 0xef, 0xa6, 0x76, 0xe7, + 0x2c, 0xc2, 0x26, 0x87, 0xa7, 0x66, 0xe1, 0xe8, 0xd4, 0x2c, 0x1c, 0x9f, 0x9a, 0x85, 0x83, 0x9e, + 0x89, 0x0e, 0x7b, 0x26, 0x3a, 0xea, 0x99, 0xe8, 0xb8, 0x67, 0xa2, 0xcf, 0x3d, 0x13, 0xbd, 0xff, + 0x62, 0x16, 0x5e, 0x94, 0xfa, 0xfd, 0xfe, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x78, 0x62, 0xc1, 0x39, + 0x6b, 0x0b, 0x00, 0x00, } func (m *AntreaClusterNetworkPolicyStats) Marshal() (dAtA []byte, err error) { @@ -528,6 +623,105 @@ func (m *AntreaNetworkPolicyStatsList) MarshalToSizedBuffer(dAtA []byte) (int, e return len(dAtA) - i, nil } +func (m *MulticastGroupMember) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MulticastGroupMember) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MulticastGroupMember) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Pods) > 0 { + for iNdEx := len(m.Pods) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Pods[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + } + i -= len(m.Group) + copy(dAtA[i:], m.Group) + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Group))) + i-- + dAtA[i] = 0x12 + { + size, err := m.ObjectMeta.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + +func (m *MulticastGroupMemberList) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MulticastGroupMemberList) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MulticastGroupMemberList) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Items) > 0 { + for iNdEx := len(m.Items) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Items[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + } + { + size, err := m.ListMeta.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + func (m *NetworkPolicyStats) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -618,6 +812,39 @@ func (m *NetworkPolicyStatsList) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } +func (m *PodReference) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PodReference) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *PodReference) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + i -= len(m.Namespace) + copy(dAtA[i:], m.Namespace) + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Namespace))) + i-- + dAtA[i] = 0x12 + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} + func (m *RuleTrafficStats) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -771,6 +998,42 @@ func (m *AntreaNetworkPolicyStatsList) Size() (n int) { return n } +func (m *MulticastGroupMember) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.ObjectMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Group) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Pods) > 0 { + for _, e := range m.Pods { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + +func (m *MulticastGroupMemberList) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = m.ListMeta.Size() + n += 1 + l + sovGenerated(uint64(l)) + if len(m.Items) > 0 { + for _, e := range m.Items { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + return n +} + func (m *NetworkPolicyStats) Size() (n int) { if m == nil { return 0 @@ -801,6 +1064,19 @@ func (m *NetworkPolicyStatsList) Size() (n int) { return n } +func (m *PodReference) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Name) + n += 1 + l + sovGenerated(uint64(l)) + l = len(m.Namespace) + n += 1 + l + sovGenerated(uint64(l)) + return n +} + func (m *RuleTrafficStats) Size() (n int) { if m == nil { return 0 @@ -898,6 +1174,39 @@ func (this *AntreaNetworkPolicyStatsList) String() string { }, "") return s } +func (this *MulticastGroupMember) String() string { + if this == nil { + return "nil" + } + repeatedStringForPods := "[]PodReference{" + for _, f := range this.Pods { + repeatedStringForPods += strings.Replace(strings.Replace(f.String(), "PodReference", "PodReference", 1), `&`, ``, 1) + "," + } + repeatedStringForPods += "}" + s := strings.Join([]string{`&MulticastGroupMember{`, + `ObjectMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ObjectMeta), "ObjectMeta", "v1.ObjectMeta", 1), `&`, ``, 1) + `,`, + `Group:` + fmt.Sprintf("%v", this.Group) + `,`, + `Pods:` + repeatedStringForPods + `,`, + `}`, + }, "") + return s +} +func (this *MulticastGroupMemberList) String() string { + if this == nil { + return "nil" + } + repeatedStringForItems := "[]MulticastGroupMember{" + for _, f := range this.Items { + repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "MulticastGroupMember", "MulticastGroupMember", 1), `&`, ``, 1) + "," + } + repeatedStringForItems += "}" + s := strings.Join([]string{`&MulticastGroupMemberList{`, + `ListMeta:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ListMeta), "ListMeta", "v1.ListMeta", 1), `&`, ``, 1) + `,`, + `Items:` + repeatedStringForItems + `,`, + `}`, + }, "") + return s +} func (this *NetworkPolicyStats) String() string { if this == nil { return "nil" @@ -925,6 +1234,17 @@ func (this *NetworkPolicyStatsList) String() string { }, "") return s } +func (this *PodReference) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&PodReference{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `Namespace:` + fmt.Sprintf("%v", this.Namespace) + `,`, + `}`, + }, "") + return s +} func (this *RuleTrafficStats) String() string { if this == nil { return "nil" @@ -1490,7 +1810,7 @@ func (m *AntreaNetworkPolicyStatsList) Unmarshal(dAtA []byte) error { } return nil } -func (m *NetworkPolicyStats) Unmarshal(dAtA []byte) error { +func (m *MulticastGroupMember) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1513,10 +1833,10 @@ func (m *NetworkPolicyStats) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: NetworkPolicyStats: wiretype end group for non-group") + return fmt.Errorf("proto: MulticastGroupMember: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: NetworkPolicyStats: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MulticastGroupMember: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -1554,9 +1874,9 @@ func (m *NetworkPolicyStats) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TrafficStats", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Group", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowGenerated @@ -1566,23 +1886,289 @@ func (m *NetworkPolicyStats) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return ErrInvalidLengthGenerated } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return ErrInvalidLengthGenerated } if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.TrafficStats.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err + m.Group = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pods", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Pods = append(m.Pods, PodReference{}) + if err := m.Pods[len(m.Pods)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MulticastGroupMemberList) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MulticastGroupMemberList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MulticastGroupMemberList: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ListMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ListMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Items", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Items = append(m.Items, MulticastGroupMember{}) + if err := m.Items[len(m.Items)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *NetworkPolicyStats) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: NetworkPolicyStats: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: NetworkPolicyStats: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ObjectMeta", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ObjectMeta.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TrafficStats", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.TrafficStats.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex default: @@ -1723,6 +2309,120 @@ func (m *NetworkPolicyStatsList) Unmarshal(dAtA []byte) error { } return nil } +func (m *PodReference) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PodReference: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PodReference: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Namespace", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Namespace = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *RuleTrafficStats) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/pkg/apis/stats/v1alpha1/generated.proto b/pkg/apis/stats/v1alpha1/generated.proto index 2fbf6432e2b..f09fb10f71f 100644 --- a/pkg/apis/stats/v1alpha1/generated.proto +++ b/pkg/apis/stats/v1alpha1/generated.proto @@ -63,6 +63,25 @@ message AntreaNetworkPolicyStatsList { repeated AntreaNetworkPolicyStats items = 2; } +// MulticastGroupMember contains the mapping between Multicast Group and Pods. +message MulticastGroupMember { + optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; + + // Group is the IP of Multicast Group. + optional string group = 2; + + // Pods is the list of Pods that has joined the multicast group. + repeated PodReference pods = 3; +} + +// MulticastGroupMemberList is a list of MulticastGroupMember. +message MulticastGroupMemberList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // List of MulticastGroupPodsMember. + repeated MulticastGroupMember items = 2; +} + // NetworkPolicyStats is the statistics of a K8s NetworkPolicy. message NetworkPolicyStats { optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; @@ -79,6 +98,15 @@ message NetworkPolicyStatsList { repeated NetworkPolicyStats items = 2; } +// PodReference represents a Pod Reference. +message PodReference { + // The name of this Pod. + optional string name = 1; + + // The Namespace of this Pod. + optional string namespace = 2; +} + // RuleTrafficStats contains TrafficStats of single rule inside a NetworkPolicy. message RuleTrafficStats { optional string name = 1; diff --git a/pkg/apis/stats/v1alpha1/register.go b/pkg/apis/stats/v1alpha1/register.go index 30c40f47fe5..e4c26b40fe6 100644 --- a/pkg/apis/stats/v1alpha1/register.go +++ b/pkg/apis/stats/v1alpha1/register.go @@ -47,6 +47,8 @@ func addKnownTypes(scheme *runtime.Scheme) error { &AntreaNetworkPolicyStatsList{}, &NetworkPolicyStats{}, &NetworkPolicyStatsList{}, + &MulticastGroupMember{}, + &MulticastGroupMemberList{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil diff --git a/pkg/apis/stats/v1alpha1/types.go b/pkg/apis/stats/v1alpha1/types.go index 4189f56f8b7..abae30eabdb 100644 --- a/pkg/apis/stats/v1alpha1/types.go +++ b/pkg/apis/stats/v1alpha1/types.go @@ -85,6 +85,34 @@ type NetworkPolicyStats struct { TrafficStats TrafficStats `json:"trafficStats,omitempty" protobuf:"bytes,2,opt,name=trafficStats"` } +// +genclient +// +resourceName=multicastgroupmembers +// +genclient:readonly +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// MulticastGroupMember contains the mapping between Multicast Group and Pods. +type MulticastGroupMember struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // Group is the IP of Multicast Group. + Group string `json:"group,omitempty" protobuf:"bytes,2,opt,name=group"` + // Pods is the list of Pods that has joined the multicast group. + Pods []PodReference `json:"pods" protobuf:"bytes,3,rep,name=pods"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// MulticastGroupMemberList is a list of MulticastGroupMember. +type MulticastGroupMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // List of MulticastGroupPodsMember. + Items []MulticastGroupMember `json:"items" protobuf:"bytes,2,rep,name=items"` +} + // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // NetworkPolicyStatsList is a list of NetworkPolicyStats. @@ -96,6 +124,14 @@ type NetworkPolicyStatsList struct { Items []NetworkPolicyStats `json:"items" protobuf:"bytes,2,rep,name=items"` } +// PodReference represents a Pod Reference. +type PodReference struct { + // The name of this Pod. + Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"` + // The Namespace of this Pod. + Namespace string `json:"namespace,omitempty" protobuf:"bytes,2,opt,name=namespace"` +} + // TrafficStats contains the traffic stats of a NetworkPolicy. type TrafficStats struct { // Packets is the packets count hit by the NetworkPolicy. diff --git a/pkg/apis/stats/v1alpha1/zz_generated.conversion.go b/pkg/apis/stats/v1alpha1/zz_generated.conversion.go index f2ba8f55d9c..b047fdfe0a1 100644 --- a/pkg/apis/stats/v1alpha1/zz_generated.conversion.go +++ b/pkg/apis/stats/v1alpha1/zz_generated.conversion.go @@ -74,6 +74,26 @@ func RegisterConversions(s *runtime.Scheme) error { }); err != nil { return err } + if err := s.AddGeneratedConversionFunc((*MulticastGroupMember)(nil), (*stats.MulticastGroupMember)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_v1alpha1_MulticastGroupMember_To_stats_MulticastGroupMember(a.(*MulticastGroupMember), b.(*stats.MulticastGroupMember), scope) + }); err != nil { + return err + } + if err := s.AddGeneratedConversionFunc((*stats.MulticastGroupMember)(nil), (*MulticastGroupMember)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_stats_MulticastGroupMember_To_v1alpha1_MulticastGroupMember(a.(*stats.MulticastGroupMember), b.(*MulticastGroupMember), scope) + }); err != nil { + return err + } + if err := s.AddGeneratedConversionFunc((*MulticastGroupMemberList)(nil), (*stats.MulticastGroupMemberList)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_v1alpha1_MulticastGroupMemberList_To_stats_MulticastGroupMemberList(a.(*MulticastGroupMemberList), b.(*stats.MulticastGroupMemberList), scope) + }); err != nil { + return err + } + if err := s.AddGeneratedConversionFunc((*stats.MulticastGroupMemberList)(nil), (*MulticastGroupMemberList)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_stats_MulticastGroupMemberList_To_v1alpha1_MulticastGroupMemberList(a.(*stats.MulticastGroupMemberList), b.(*MulticastGroupMemberList), scope) + }); err != nil { + return err + } if err := s.AddGeneratedConversionFunc((*NetworkPolicyStats)(nil), (*stats.NetworkPolicyStats)(nil), func(a, b interface{}, scope conversion.Scope) error { return Convert_v1alpha1_NetworkPolicyStats_To_stats_NetworkPolicyStats(a.(*NetworkPolicyStats), b.(*stats.NetworkPolicyStats), scope) }); err != nil { @@ -94,6 +114,16 @@ func RegisterConversions(s *runtime.Scheme) error { }); err != nil { return err } + if err := s.AddGeneratedConversionFunc((*PodReference)(nil), (*stats.PodReference)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_v1alpha1_PodReference_To_stats_PodReference(a.(*PodReference), b.(*stats.PodReference), scope) + }); err != nil { + return err + } + if err := s.AddGeneratedConversionFunc((*stats.PodReference)(nil), (*PodReference)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_stats_PodReference_To_v1alpha1_PodReference(a.(*stats.PodReference), b.(*PodReference), scope) + }); err != nil { + return err + } if err := s.AddGeneratedConversionFunc((*RuleTrafficStats)(nil), (*stats.RuleTrafficStats)(nil), func(a, b interface{}, scope conversion.Scope) error { return Convert_v1alpha1_RuleTrafficStats_To_stats_RuleTrafficStats(a.(*RuleTrafficStats), b.(*stats.RuleTrafficStats), scope) }); err != nil { @@ -217,6 +247,52 @@ func Convert_stats_AntreaNetworkPolicyStatsList_To_v1alpha1_AntreaNetworkPolicyS return autoConvert_stats_AntreaNetworkPolicyStatsList_To_v1alpha1_AntreaNetworkPolicyStatsList(in, out, s) } +func autoConvert_v1alpha1_MulticastGroupMember_To_stats_MulticastGroupMember(in *MulticastGroupMember, out *stats.MulticastGroupMember, s conversion.Scope) error { + out.ObjectMeta = in.ObjectMeta + out.Group = in.Group + out.Pods = *(*[]stats.PodReference)(unsafe.Pointer(&in.Pods)) + return nil +} + +// Convert_v1alpha1_MulticastGroupMember_To_stats_MulticastGroupMember is an autogenerated conversion function. +func Convert_v1alpha1_MulticastGroupMember_To_stats_MulticastGroupMember(in *MulticastGroupMember, out *stats.MulticastGroupMember, s conversion.Scope) error { + return autoConvert_v1alpha1_MulticastGroupMember_To_stats_MulticastGroupMember(in, out, s) +} + +func autoConvert_stats_MulticastGroupMember_To_v1alpha1_MulticastGroupMember(in *stats.MulticastGroupMember, out *MulticastGroupMember, s conversion.Scope) error { + out.ObjectMeta = in.ObjectMeta + out.Group = in.Group + out.Pods = *(*[]PodReference)(unsafe.Pointer(&in.Pods)) + return nil +} + +// Convert_stats_MulticastGroupMember_To_v1alpha1_MulticastGroupMember is an autogenerated conversion function. +func Convert_stats_MulticastGroupMember_To_v1alpha1_MulticastGroupMember(in *stats.MulticastGroupMember, out *MulticastGroupMember, s conversion.Scope) error { + return autoConvert_stats_MulticastGroupMember_To_v1alpha1_MulticastGroupMember(in, out, s) +} + +func autoConvert_v1alpha1_MulticastGroupMemberList_To_stats_MulticastGroupMemberList(in *MulticastGroupMemberList, out *stats.MulticastGroupMemberList, s conversion.Scope) error { + out.ListMeta = in.ListMeta + out.Items = *(*[]stats.MulticastGroupMember)(unsafe.Pointer(&in.Items)) + return nil +} + +// Convert_v1alpha1_MulticastGroupMemberList_To_stats_MulticastGroupMemberList is an autogenerated conversion function. +func Convert_v1alpha1_MulticastGroupMemberList_To_stats_MulticastGroupMemberList(in *MulticastGroupMemberList, out *stats.MulticastGroupMemberList, s conversion.Scope) error { + return autoConvert_v1alpha1_MulticastGroupMemberList_To_stats_MulticastGroupMemberList(in, out, s) +} + +func autoConvert_stats_MulticastGroupMemberList_To_v1alpha1_MulticastGroupMemberList(in *stats.MulticastGroupMemberList, out *MulticastGroupMemberList, s conversion.Scope) error { + out.ListMeta = in.ListMeta + out.Items = *(*[]MulticastGroupMember)(unsafe.Pointer(&in.Items)) + return nil +} + +// Convert_stats_MulticastGroupMemberList_To_v1alpha1_MulticastGroupMemberList is an autogenerated conversion function. +func Convert_stats_MulticastGroupMemberList_To_v1alpha1_MulticastGroupMemberList(in *stats.MulticastGroupMemberList, out *MulticastGroupMemberList, s conversion.Scope) error { + return autoConvert_stats_MulticastGroupMemberList_To_v1alpha1_MulticastGroupMemberList(in, out, s) +} + func autoConvert_v1alpha1_NetworkPolicyStats_To_stats_NetworkPolicyStats(in *NetworkPolicyStats, out *stats.NetworkPolicyStats, s conversion.Scope) error { out.ObjectMeta = in.ObjectMeta if err := Convert_v1alpha1_TrafficStats_To_stats_TrafficStats(&in.TrafficStats, &out.TrafficStats, s); err != nil { @@ -265,6 +341,28 @@ func Convert_stats_NetworkPolicyStatsList_To_v1alpha1_NetworkPolicyStatsList(in return autoConvert_stats_NetworkPolicyStatsList_To_v1alpha1_NetworkPolicyStatsList(in, out, s) } +func autoConvert_v1alpha1_PodReference_To_stats_PodReference(in *PodReference, out *stats.PodReference, s conversion.Scope) error { + out.Name = in.Name + out.Namespace = in.Namespace + return nil +} + +// Convert_v1alpha1_PodReference_To_stats_PodReference is an autogenerated conversion function. +func Convert_v1alpha1_PodReference_To_stats_PodReference(in *PodReference, out *stats.PodReference, s conversion.Scope) error { + return autoConvert_v1alpha1_PodReference_To_stats_PodReference(in, out, s) +} + +func autoConvert_stats_PodReference_To_v1alpha1_PodReference(in *stats.PodReference, out *PodReference, s conversion.Scope) error { + out.Name = in.Name + out.Namespace = in.Namespace + return nil +} + +// Convert_stats_PodReference_To_v1alpha1_PodReference is an autogenerated conversion function. +func Convert_stats_PodReference_To_v1alpha1_PodReference(in *stats.PodReference, out *PodReference, s conversion.Scope) error { + return autoConvert_stats_PodReference_To_v1alpha1_PodReference(in, out, s) +} + func autoConvert_v1alpha1_RuleTrafficStats_To_stats_RuleTrafficStats(in *RuleTrafficStats, out *stats.RuleTrafficStats, s conversion.Scope) error { out.Name = in.Name if err := Convert_v1alpha1_TrafficStats_To_stats_TrafficStats(&in.TrafficStats, &out.TrafficStats, s); err != nil { diff --git a/pkg/apis/stats/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/stats/v1alpha1/zz_generated.deepcopy.go index c5684b4d825..36d69b056c8 100644 --- a/pkg/apis/stats/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/stats/v1alpha1/zz_generated.deepcopy.go @@ -153,6 +153,70 @@ func (in *AntreaNetworkPolicyStatsList) DeepCopyObject() runtime.Object { return nil } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MulticastGroupMember) DeepCopyInto(out *MulticastGroupMember) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + if in.Pods != nil { + in, out := &in.Pods, &out.Pods + *out = make([]PodReference, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MulticastGroupMember. +func (in *MulticastGroupMember) DeepCopy() *MulticastGroupMember { + if in == nil { + return nil + } + out := new(MulticastGroupMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MulticastGroupMember) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MulticastGroupMemberList) DeepCopyInto(out *MulticastGroupMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]MulticastGroupMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MulticastGroupMemberList. +func (in *MulticastGroupMemberList) DeepCopy() *MulticastGroupMemberList { + if in == nil { + return nil + } + out := new(MulticastGroupMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MulticastGroupMemberList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NetworkPolicyStats) DeepCopyInto(out *NetworkPolicyStats) { *out = *in @@ -213,6 +277,22 @@ func (in *NetworkPolicyStatsList) DeepCopyObject() runtime.Object { return nil } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PodReference) DeepCopyInto(out *PodReference) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodReference. +func (in *PodReference) DeepCopy() *PodReference { + if in == nil { + return nil + } + out := new(PodReference) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *RuleTrafficStats) DeepCopyInto(out *RuleTrafficStats) { *out = *in diff --git a/pkg/apis/stats/zz_generated.deepcopy.go b/pkg/apis/stats/zz_generated.deepcopy.go index 79273b68231..78b1d2528ed 100644 --- a/pkg/apis/stats/zz_generated.deepcopy.go +++ b/pkg/apis/stats/zz_generated.deepcopy.go @@ -153,6 +153,70 @@ func (in *AntreaNetworkPolicyStatsList) DeepCopyObject() runtime.Object { return nil } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MulticastGroupMember) DeepCopyInto(out *MulticastGroupMember) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + if in.Pods != nil { + in, out := &in.Pods, &out.Pods + *out = make([]PodReference, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MulticastGroupMember. +func (in *MulticastGroupMember) DeepCopy() *MulticastGroupMember { + if in == nil { + return nil + } + out := new(MulticastGroupMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MulticastGroupMember) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MulticastGroupMemberList) DeepCopyInto(out *MulticastGroupMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]MulticastGroupMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MulticastGroupMemberList. +func (in *MulticastGroupMemberList) DeepCopy() *MulticastGroupMemberList { + if in == nil { + return nil + } + out := new(MulticastGroupMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MulticastGroupMemberList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NetworkPolicyStats) DeepCopyInto(out *NetworkPolicyStats) { *out = *in @@ -213,6 +277,22 @@ func (in *NetworkPolicyStatsList) DeepCopyObject() runtime.Object { return nil } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PodReference) DeepCopyInto(out *PodReference) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PodReference. +func (in *PodReference) DeepCopy() *PodReference { + if in == nil { + return nil + } + out := new(PodReference) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *RuleTrafficStats) DeepCopyInto(out *RuleTrafficStats) { *out = *in diff --git a/pkg/apiserver/openapi/zz_generated.openapi.go b/pkg/apiserver/openapi/zz_generated.openapi.go index f6091f7daf0..1d31b0c8136 100644 --- a/pkg/apiserver/openapi/zz_generated.openapi.go +++ b/pkg/apiserver/openapi/zz_generated.openapi.go @@ -46,6 +46,7 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "antrea.io/antrea/pkg/apis/controlplane/v1beta2.GroupReference": schema_pkg_apis_controlplane_v1beta2_GroupReference(ref), "antrea.io/antrea/pkg/apis/controlplane/v1beta2.IPBlock": schema_pkg_apis_controlplane_v1beta2_IPBlock(ref), "antrea.io/antrea/pkg/apis/controlplane/v1beta2.IPNet": schema_pkg_apis_controlplane_v1beta2_IPNet(ref), + "antrea.io/antrea/pkg/apis/controlplane/v1beta2.MulticastStats": schema_pkg_apis_controlplane_v1beta2_MulticastStats(ref), "antrea.io/antrea/pkg/apis/controlplane/v1beta2.NamedPort": schema_pkg_apis_controlplane_v1beta2_NamedPort(ref), "antrea.io/antrea/pkg/apis/controlplane/v1beta2.NetworkPolicy": schema_pkg_apis_controlplane_v1beta2_NetworkPolicy(ref), "antrea.io/antrea/pkg/apis/controlplane/v1beta2.NetworkPolicyList": schema_pkg_apis_controlplane_v1beta2_NetworkPolicyList(ref), @@ -72,8 +73,11 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "antrea.io/antrea/pkg/apis/stats/v1alpha1.AntreaClusterNetworkPolicyStatsList": schema_pkg_apis_stats_v1alpha1_AntreaClusterNetworkPolicyStatsList(ref), "antrea.io/antrea/pkg/apis/stats/v1alpha1.AntreaNetworkPolicyStats": schema_pkg_apis_stats_v1alpha1_AntreaNetworkPolicyStats(ref), "antrea.io/antrea/pkg/apis/stats/v1alpha1.AntreaNetworkPolicyStatsList": schema_pkg_apis_stats_v1alpha1_AntreaNetworkPolicyStatsList(ref), + "antrea.io/antrea/pkg/apis/stats/v1alpha1.MulticastGroupMember": schema_pkg_apis_stats_v1alpha1_MulticastGroupMember(ref), + "antrea.io/antrea/pkg/apis/stats/v1alpha1.MulticastGroupMemberList": schema_pkg_apis_stats_v1alpha1_MulticastGroupMemberList(ref), "antrea.io/antrea/pkg/apis/stats/v1alpha1.NetworkPolicyStats": schema_pkg_apis_stats_v1alpha1_NetworkPolicyStats(ref), "antrea.io/antrea/pkg/apis/stats/v1alpha1.NetworkPolicyStatsList": schema_pkg_apis_stats_v1alpha1_NetworkPolicyStatsList(ref), + "antrea.io/antrea/pkg/apis/stats/v1alpha1.PodReference": schema_pkg_apis_stats_v1alpha1_PodReference(ref), "antrea.io/antrea/pkg/apis/stats/v1alpha1.RuleTrafficStats": schema_pkg_apis_stats_v1alpha1_RuleTrafficStats(ref), "antrea.io/antrea/pkg/apis/stats/v1alpha1.TrafficStats": schema_pkg_apis_stats_v1alpha1_TrafficStats(ref), "antrea.io/antrea/pkg/apis/system/v1beta1.SupportBundle": schema_pkg_apis_system_v1beta1_SupportBundle(ref), @@ -1117,6 +1121,40 @@ func schema_pkg_apis_controlplane_v1beta2_IPNet(ref common.ReferenceCallback) co } } +func schema_pkg_apis_controlplane_v1beta2_MulticastStats(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "MulticastStats contains the multicast groups that a Pod has joined.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "pod": { + SchemaProps: spec.SchemaProps{ + Ref: ref("antrea.io/antrea/pkg/apis/controlplane/v1beta2.PodReference"), + }, + }, + "groupJoinedList": { + SchemaProps: spec.SchemaProps{ + Description: "List of multicast IPs that the pod has joined.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"string"}, + Format: "byte", + }, + }, + }, + }, + }, + }, + }, + }, + Dependencies: []string{ + "antrea.io/antrea/pkg/apis/controlplane/v1beta2.PodReference"}, + } +} + func schema_pkg_apis_controlplane_v1beta2_NamedPort(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -1680,11 +1718,25 @@ func schema_pkg_apis_controlplane_v1beta2_NodeStatsSummary(ref common.ReferenceC }, }, }, + "multicastStats": { + SchemaProps: spec.SchemaProps{ + Description: "List of PodMulticast statistics collected from the Node.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("antrea.io/antrea/pkg/apis/controlplane/v1beta2.MulticastStats"), + }, + }, + }, + }, + }, }, }, }, Dependencies: []string{ - "antrea.io/antrea/pkg/apis/controlplane/v1beta2.NetworkPolicyStats", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + "antrea.io/antrea/pkg/apis/controlplane/v1beta2.MulticastStats", "antrea.io/antrea/pkg/apis/controlplane/v1beta2.NetworkPolicyStats", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, } } @@ -2504,6 +2556,113 @@ func schema_pkg_apis_stats_v1alpha1_AntreaNetworkPolicyStatsList(ref common.Refe } } +func schema_pkg_apis_stats_v1alpha1_MulticastGroupMember(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "MulticastGroupMember contains the mapping between Multicast Group and Pods.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "group": { + SchemaProps: spec.SchemaProps{ + Description: "Group is the IP of Multicast Group.", + Type: []string{"string"}, + Format: "", + }, + }, + "pods": { + SchemaProps: spec.SchemaProps{ + Description: "Pods is the list of Pods that has joined the multicast group.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("antrea.io/antrea/pkg/apis/stats/v1alpha1.PodReference"), + }, + }, + }, + }, + }, + }, + Required: []string{"pods"}, + }, + }, + Dependencies: []string{ + "antrea.io/antrea/pkg/apis/stats/v1alpha1.PodReference", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + } +} + +func schema_pkg_apis_stats_v1alpha1_MulticastGroupMemberList(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "MulticastGroupMemberList is a list of MulticastGroupMember.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + }, + }, + "items": { + SchemaProps: spec.SchemaProps{ + Description: "List of MulticastGroupPodsMember.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("antrea.io/antrea/pkg/apis/stats/v1alpha1.MulticastGroupMember"), + }, + }, + }, + }, + }, + }, + Required: []string{"items"}, + }, + }, + Dependencies: []string{ + "antrea.io/antrea/pkg/apis/stats/v1alpha1.MulticastGroupMember", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + } +} + func schema_pkg_apis_stats_v1alpha1_NetworkPolicyStats(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -2596,6 +2755,33 @@ func schema_pkg_apis_stats_v1alpha1_NetworkPolicyStatsList(ref common.ReferenceC } } +func schema_pkg_apis_stats_v1alpha1_PodReference(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "PodReference represents a Pod Reference.", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "name": { + SchemaProps: spec.SchemaProps{ + Description: "The name of this Pod.", + Type: []string{"string"}, + Format: "", + }, + }, + "namespace": { + SchemaProps: spec.SchemaProps{ + Description: "The Namespace of this Pod.", + Type: []string{"string"}, + Format: "", + }, + }, + }, + }, + }, + } +} + func schema_pkg_apis_stats_v1alpha1_RuleTrafficStats(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ diff --git a/pkg/client/clientset/versioned/typed/stats/v1alpha1/fake/fake_multicastgroupmember.go b/pkg/client/clientset/versioned/typed/stats/v1alpha1/fake/fake_multicastgroupmember.go new file mode 100644 index 00000000000..894394f4732 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/stats/v1alpha1/fake/fake_multicastgroupmember.go @@ -0,0 +1,74 @@ +// Copyright 2022 Antrea Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by client-gen. DO NOT EDIT. + +package fake + +import ( + "context" + + v1alpha1 "antrea.io/antrea/pkg/apis/stats/v1alpha1" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + labels "k8s.io/apimachinery/pkg/labels" + schema "k8s.io/apimachinery/pkg/runtime/schema" + watch "k8s.io/apimachinery/pkg/watch" + testing "k8s.io/client-go/testing" +) + +// FakeMulticastGroupMembers implements MulticastGroupMemberInterface +type FakeMulticastGroupMembers struct { + Fake *FakeStatsV1alpha1 +} + +var multicastgroupmembersResource = schema.GroupVersionResource{Group: "stats.antrea.io", Version: "v1alpha1", Resource: "multicastgroupmembers"} + +var multicastgroupmembersKind = schema.GroupVersionKind{Group: "stats.antrea.io", Version: "v1alpha1", Kind: "MulticastGroupMember"} + +// Get takes name of the multicastGroupMember, and returns the corresponding multicastGroupMember object, and an error if there is any. +func (c *FakeMulticastGroupMembers) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1alpha1.MulticastGroupMember, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootGetAction(multicastgroupmembersResource, name), &v1alpha1.MulticastGroupMember{}) + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.MulticastGroupMember), err +} + +// List takes label and field selectors, and returns the list of MulticastGroupMembers that match those selectors. +func (c *FakeMulticastGroupMembers) List(ctx context.Context, opts v1.ListOptions) (result *v1alpha1.MulticastGroupMemberList, err error) { + obj, err := c.Fake. + Invokes(testing.NewRootListAction(multicastgroupmembersResource, multicastgroupmembersKind, opts), &v1alpha1.MulticastGroupMemberList{}) + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &v1alpha1.MulticastGroupMemberList{ListMeta: obj.(*v1alpha1.MulticastGroupMemberList).ListMeta} + for _, item := range obj.(*v1alpha1.MulticastGroupMemberList).Items { + if label.Matches(labels.Set(item.Labels)) { + list.Items = append(list.Items, item) + } + } + return list, err +} + +// Watch returns a watch.Interface that watches the requested multicastGroupMembers. +func (c *FakeMulticastGroupMembers) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewRootWatchAction(multicastgroupmembersResource, opts)) +} diff --git a/pkg/client/clientset/versioned/typed/stats/v1alpha1/fake/fake_stats_client.go b/pkg/client/clientset/versioned/typed/stats/v1alpha1/fake/fake_stats_client.go index 07158ff9e2e..33e3d7cd70b 100644 --- a/pkg/client/clientset/versioned/typed/stats/v1alpha1/fake/fake_stats_client.go +++ b/pkg/client/clientset/versioned/typed/stats/v1alpha1/fake/fake_stats_client.go @@ -34,6 +34,10 @@ func (c *FakeStatsV1alpha1) AntreaNetworkPolicyStats(namespace string) v1alpha1. return &FakeAntreaNetworkPolicyStats{c, namespace} } +func (c *FakeStatsV1alpha1) MulticastGroupMembers() v1alpha1.MulticastGroupMemberInterface { + return &FakeMulticastGroupMembers{c} +} + func (c *FakeStatsV1alpha1) NetworkPolicyStats(namespace string) v1alpha1.NetworkPolicyStatsInterface { return &FakeNetworkPolicyStats{c, namespace} } diff --git a/pkg/client/clientset/versioned/typed/stats/v1alpha1/generated_expansion.go b/pkg/client/clientset/versioned/typed/stats/v1alpha1/generated_expansion.go index 293e0ee75db..07df3f47843 100644 --- a/pkg/client/clientset/versioned/typed/stats/v1alpha1/generated_expansion.go +++ b/pkg/client/clientset/versioned/typed/stats/v1alpha1/generated_expansion.go @@ -20,4 +20,6 @@ type AntreaClusterNetworkPolicyStatsExpansion interface{} type AntreaNetworkPolicyStatsExpansion interface{} +type MulticastGroupMemberExpansion interface{} + type NetworkPolicyStatsExpansion interface{} diff --git a/pkg/client/clientset/versioned/typed/stats/v1alpha1/multicastgroupmember.go b/pkg/client/clientset/versioned/typed/stats/v1alpha1/multicastgroupmember.go new file mode 100644 index 00000000000..9c06544ed6e --- /dev/null +++ b/pkg/client/clientset/versioned/typed/stats/v1alpha1/multicastgroupmember.go @@ -0,0 +1,96 @@ +// Copyright 2022 Antrea Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by client-gen. DO NOT EDIT. + +package v1alpha1 + +import ( + "context" + "time" + + v1alpha1 "antrea.io/antrea/pkg/apis/stats/v1alpha1" + scheme "antrea.io/antrea/pkg/client/clientset/versioned/scheme" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + watch "k8s.io/apimachinery/pkg/watch" + rest "k8s.io/client-go/rest" +) + +// MulticastGroupMembersGetter has a method to return a MulticastGroupMemberInterface. +// A group's client should implement this interface. +type MulticastGroupMembersGetter interface { + MulticastGroupMembers() MulticastGroupMemberInterface +} + +// MulticastGroupMemberInterface has methods to work with MulticastGroupMember resources. +type MulticastGroupMemberInterface interface { + Get(ctx context.Context, name string, opts v1.GetOptions) (*v1alpha1.MulticastGroupMember, error) + List(ctx context.Context, opts v1.ListOptions) (*v1alpha1.MulticastGroupMemberList, error) + Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) + MulticastGroupMemberExpansion +} + +// multicastGroupMembers implements MulticastGroupMemberInterface +type multicastGroupMembers struct { + client rest.Interface +} + +// newMulticastGroupMembers returns a MulticastGroupMembers +func newMulticastGroupMembers(c *StatsV1alpha1Client) *multicastGroupMembers { + return &multicastGroupMembers{ + client: c.RESTClient(), + } +} + +// Get takes name of the multicastGroupMember, and returns the corresponding multicastGroupMember object, and an error if there is any. +func (c *multicastGroupMembers) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1alpha1.MulticastGroupMember, err error) { + result = &v1alpha1.MulticastGroupMember{} + err = c.client.Get(). + Resource("multicastgroupmembers"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(ctx). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of MulticastGroupMembers that match those selectors. +func (c *multicastGroupMembers) List(ctx context.Context, opts v1.ListOptions) (result *v1alpha1.MulticastGroupMemberList, err error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + result = &v1alpha1.MulticastGroupMemberList{} + err = c.client.Get(). + Resource("multicastgroupmembers"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Do(ctx). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested multicastGroupMembers. +func (c *multicastGroupMembers) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + opts.Watch = true + return c.client.Get(). + Resource("multicastgroupmembers"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Watch(ctx) +} diff --git a/pkg/client/clientset/versioned/typed/stats/v1alpha1/stats_client.go b/pkg/client/clientset/versioned/typed/stats/v1alpha1/stats_client.go index 99f985c82b6..53e9a9614b1 100644 --- a/pkg/client/clientset/versioned/typed/stats/v1alpha1/stats_client.go +++ b/pkg/client/clientset/versioned/typed/stats/v1alpha1/stats_client.go @@ -26,6 +26,7 @@ type StatsV1alpha1Interface interface { RESTClient() rest.Interface AntreaClusterNetworkPolicyStatsGetter AntreaNetworkPolicyStatsGetter + MulticastGroupMembersGetter NetworkPolicyStatsGetter } @@ -42,6 +43,10 @@ func (c *StatsV1alpha1Client) AntreaNetworkPolicyStats(namespace string) AntreaN return newAntreaNetworkPolicyStats(c, namespace) } +func (c *StatsV1alpha1Client) MulticastGroupMembers() MulticastGroupMemberInterface { + return newMulticastGroupMembers(c) +} + func (c *StatsV1alpha1Client) NetworkPolicyStats(namespace string) NetworkPolicyStatsInterface { return newNetworkPolicyStats(c, namespace) }