diff --git a/pkg/apis/controlplane/types.go b/pkg/apis/controlplane/types.go index a598d860c4e..25f9e7e2382 100644 --- a/pkg/apis/controlplane/types.go +++ b/pkg/apis/controlplane/types.go @@ -311,6 +311,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 information for 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 ea273ba182b..6a284805950 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 *PodReference) Reset() { *m = PodReference{} } func (*PodReference) ProtoMessage() {} func (*PodReference) Descriptor() ([]byte, []int) { - return fileDescriptor_fbaa7d016762fa1d, []int{26} + return fileDescriptor_fbaa7d016762fa1d, []int{27} } func (m *PodReference) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -806,7 +834,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{27} + return fileDescriptor_fbaa7d016762fa1d, []int{28} } func (m *Service) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -834,7 +862,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{28} + return fileDescriptor_fbaa7d016762fa1d, []int{29} } func (m *ServiceReference) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) @@ -876,6 +904,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") @@ -896,126 +925,130 @@ func init() { } var fileDescriptor_fbaa7d016762fa1d = []byte{ - // 1892 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, 0xf3, - 0xa3, 0x1c, 0xd8, 0xf6, 0x26, 0xcc, 0xee, 0x0c, 0xec, 0x0f, 0xc4, 0x9b, 0x4c, 0x64, 0x69, 0xd6, - 0x6b, 0x2a, 0x59, 0x8d, 0x84, 0x58, 0xd8, 0x4e, 0x77, 0xd9, 0x69, 0xd2, 0xee, 0x6a, 0xba, 0xcb, - 0x61, 0x22, 0x24, 0xb4, 0x08, 0x38, 0x2c, 0x20, 0xc1, 0x8d, 0x33, 0x27, 0x2e, 0x9c, 0xb9, 0x73, - 0x40, 0x1a, 0x71, 0x5a, 0x84, 0x10, 0x7b, 0xb2, 0x18, 0x23, 0x40, 0x1c, 0xb8, 0x71, 0xca, 0x5e, - 0x50, 0x55, 0x57, 0xff, 0x3a, 0x9e, 0x8c, 0x27, 0x99, 0x20, 0xb1, 0x7b, 0xb2, 0xbb, 0xea, 0xbd, - 0xf7, 0xbd, 0x57, 0xdf, 0xab, 0xf7, 0xaa, 0xba, 0xe1, 0x35, 0xdd, 0x61, 0x1e, 0xd1, 0x35, 0x8b, - 0x36, 0x82, 0x7f, 0x0d, 0xf7, 0xa8, 0xd7, 0xd0, 0x5d, 0xcb, 0x6f, 0x18, 0xd4, 0x61, 0x1e, 0xb5, - 0x5d, 0x5b, 0x77, 0x48, 0xe3, 0x78, 0xe3, 0x80, 0x30, 0x7d, 0xb3, 0xd1, 0x23, 0x0e, 0xf1, 0x74, - 0x46, 0x4c, 0xcd, 0xf5, 0x28, 0xa3, 0x48, 0x0b, 0xb4, 0xbe, 0x65, 0x51, 0xf9, 0x4f, 0x73, 0x8f, - 0x7a, 0x1a, 0xd7, 0xd7, 0x92, 0xfa, 0x9a, 0xd4, 0x7f, 0xf6, 0xf6, 0x64, 0x3c, 0x9f, 0xe9, 0xcc, - 0x6f, 0x1c, 0x6f, 0xe8, 0xb6, 0x7b, 0xa8, 0x6f, 0x64, 0x91, 0x9e, 0x7d, 0xbe, 0x67, 0xb1, 0xc3, - 0xc1, 0x81, 0x66, 0xd0, 0x7e, 0xa3, 0x47, 0x7b, 0xb4, 0x21, 0x86, 0x0f, 0x06, 0x5d, 0xf1, 0x24, - 0x1e, 0xc4, 0x3f, 0x29, 0x7e, 0xf3, 0xe8, 0xb6, 0x2f, 0x50, 0x5c, 0xab, 0xaf, 0x1b, 0x87, 0x96, - 0x43, 0xbc, 0x93, 0x18, 0xab, 0x4f, 0x98, 0xde, 0x38, 0x1e, 0x07, 0x69, 0x4c, 0xd2, 0xf2, 0x06, - 0x0e, 0xb3, 0xfa, 0x64, 0x4c, 0xe1, 0xa5, 0xf3, 0x14, 0x7c, 0xe3, 0x90, 0xf4, 0xf5, 0x31, 0xbd, - 0x2f, 0x4e, 0xd2, 0x1b, 0x30, 0xcb, 0x6e, 0x58, 0x0e, 0xf3, 0x99, 0x97, 0x55, 0x52, 0xff, 0xa9, - 0x40, 0x79, 0xcb, 0x34, 0x3d, 0xe2, 0xfb, 0xbb, 0x1e, 0x1d, 0xb8, 0xe8, 0x1d, 0x98, 0xe7, 0x91, - 0x98, 0x3a, 0xd3, 0xab, 0xca, 0x9a, 0xb2, 0xbe, 0xb0, 0xf9, 0x82, 0x16, 0x18, 0xd6, 0x92, 0x86, - 0x63, 0x4e, 0xb8, 0xb4, 0x76, 0xbc, 0xa1, 0xbd, 0x79, 0xf0, 0x6d, 0x62, 0xb0, 0x37, 0x08, 0xd3, - 0x9b, 0xe8, 0xc1, 0xb0, 0x3e, 0x33, 0x1a, 0xd6, 0x21, 0x1e, 0xc3, 0x91, 0x55, 0x34, 0x80, 0x72, - 0x8f, 0x43, 0xbd, 0x41, 0xfa, 0x07, 0xc4, 0xf3, 0xab, 0xb9, 0xb5, 0xfc, 0xfa, 0xc2, 0xe6, 0xcb, - 0x53, 0xd2, 0xae, 0xed, 0xc6, 0x36, 0x9a, 0xcf, 0x48, 0xc0, 0x72, 0x62, 0xd0, 0xc7, 0x29, 0x18, - 0xf5, 0x4f, 0x0a, 0x54, 0x92, 0x91, 0xde, 0xb5, 0x7c, 0x86, 0xbe, 0x31, 0x16, 0xad, 0xf6, 0x78, - 0xd1, 0x72, 0x6d, 0x11, 0x6b, 0x45, 0x42, 0xcf, 0x87, 0x23, 0x89, 0x48, 0x75, 0x28, 0x5a, 0x8c, - 0xf4, 0xc3, 0x10, 0x5f, 0x99, 0x36, 0xc4, 0xa4, 0xbb, 0xcd, 0x45, 0x09, 0x54, 0x6c, 0x71, 0x93, - 0x38, 0xb0, 0xac, 0xbe, 0x97, 0x87, 0x95, 0xa4, 0x58, 0x47, 0x67, 0xc6, 0xe1, 0x15, 0x90, 0xf8, - 0x23, 0x05, 0x56, 0x74, 0xd3, 0x24, 0xe6, 0xee, 0x25, 0x53, 0xf9, 0x49, 0x09, 0xcb, 0xa3, 0x4a, - 0x5b, 0xc7, 0xe3, 0x80, 0xe8, 0x27, 0x0a, 0xac, 0x7a, 0xa4, 0x4f, 0x8f, 0x33, 0x8e, 0xe4, 0x2f, - 0xee, 0xc8, 0xa7, 0xa4, 0x23, 0xab, 0x78, 0xdc, 0x3e, 0x3e, 0x0b, 0x54, 0xfd, 0x97, 0x02, 0x4b, - 0x5b, 0xae, 0x6b, 0x5b, 0xc4, 0xdc, 0xa7, 0xff, 0xe7, 0xbb, 0xe9, 0x2f, 0x0a, 0xa0, 0x74, 0xac, - 0x57, 0xb0, 0x9f, 0x8c, 0xf4, 0x7e, 0x7a, 0x6d, 0xea, 0xfd, 0x94, 0x72, 0x78, 0xc2, 0x8e, 0xfa, - 0x69, 0x1e, 0x56, 0xd3, 0x82, 0x1f, 0xef, 0xa9, 0xff, 0xdd, 0x9e, 0xfa, 0x30, 0x07, 0xab, 0xaf, - 0xdb, 0x03, 0x9f, 0x11, 0x2f, 0xe5, 0xe4, 0xd3, 0x67, 0xe3, 0x07, 0x0a, 0x54, 0x48, 0xb7, 0x4b, - 0x0c, 0x66, 0x1d, 0x93, 0x4b, 0x24, 0xa3, 0x2a, 0x51, 0x2b, 0x3b, 0x19, 0xe3, 0x78, 0x0c, 0x0e, - 0x7d, 0x1f, 0x56, 0xa2, 0xb1, 0x56, 0xa7, 0x69, 0x53, 0xe3, 0x28, 0xe4, 0xe1, 0xc5, 0x69, 0x7d, - 0x68, 0x75, 0xda, 0x84, 0xc5, 0xa9, 0xb0, 0x93, 0xb5, 0x8b, 0xc7, 0xa1, 0xd4, 0x7f, 0x28, 0xb0, - 0xb0, 0xd3, 0xfb, 0x08, 0x1c, 0x0e, 0xfe, 0xa8, 0xc0, 0x72, 0x22, 0xd0, 0x2b, 0xa8, 0x65, 0xef, - 0xa4, 0x6b, 0xd9, 0xd4, 0x11, 0x26, 0xbc, 0x9d, 0x50, 0xc8, 0x7e, 0x96, 0x87, 0x4a, 0x42, 0x2a, - 0xa8, 0x62, 0x26, 0x00, 0x8d, 0xd6, 0xfd, 0x52, 0x39, 0x4c, 0xd8, 0xfd, 0xb8, 0x92, 0x9d, 0x51, - 0xc9, 0x6c, 0xb8, 0xbe, 0x73, 0x9f, 0x11, 0xcf, 0xd1, 0xed, 0x1d, 0x87, 0x59, 0xec, 0x04, 0x93, - 0x2e, 0xf1, 0x88, 0x63, 0x10, 0xb4, 0x06, 0x05, 0x47, 0xef, 0x13, 0x41, 0x47, 0xa9, 0x59, 0x96, - 0xa6, 0x0b, 0x6d, 0xbd, 0x4f, 0xb0, 0x98, 0x41, 0x0d, 0x28, 0xf1, 0x5f, 0xdf, 0xd5, 0x0d, 0x52, - 0xcd, 0x09, 0xb1, 0x15, 0x29, 0x56, 0x6a, 0x87, 0x13, 0x38, 0x96, 0x51, 0x3f, 0x54, 0xa0, 0x22, - 0xe0, 0xb7, 0x7c, 0x9f, 0x1a, 0x96, 0xce, 0x2c, 0xea, 0x5c, 0x4d, 0x0b, 0xab, 0xe8, 0x12, 0x51, - 0xc6, 0xff, 0xc4, 0xdd, 0x5a, 0x68, 0x47, 0x8b, 0x14, 0xd7, 0xcd, 0xad, 0x8c, 0x7d, 0x3c, 0x86, - 0xa8, 0xfe, 0x27, 0x07, 0x0b, 0x89, 0xc5, 0x47, 0xf7, 0x20, 0xef, 0x52, 0x53, 0xc6, 0x3c, 0xf5, - 0x31, 0xbc, 0x43, 0xcd, 0xd8, 0x8d, 0xb9, 0xd1, 0xb0, 0x9e, 0xe7, 0x23, 0xdc, 0x22, 0xfa, 0xa1, - 0x02, 0x4b, 0x24, 0xc5, 0xaa, 0x60, 0x67, 0x61, 0x73, 0x77, 0xea, 0xfd, 0x7c, 0x76, 0x6e, 0x34, - 0xd1, 0x68, 0x58, 0x5f, 0xca, 0x4c, 0x66, 0x20, 0xd1, 0xe7, 0x21, 0x6f, 0xb9, 0x41, 0x5a, 0x97, - 0x9b, 0xcf, 0x70, 0x07, 0x5b, 0x1d, 0xff, 0x74, 0x58, 0x2f, 0xb5, 0x3a, 0xf2, 0x6e, 0x80, 0xb9, - 0x00, 0xfa, 0x26, 0x14, 0x5d, 0xea, 0x31, 0xbf, 0x5a, 0x10, 0x8c, 0x7c, 0x69, 0x5a, 0x1f, 0x79, - 0xa6, 0x99, 0x1d, 0xea, 0xb1, 0xb8, 0xe2, 0xf0, 0x27, 0x1f, 0x07, 0x66, 0xd5, 0x5f, 0x2b, 0xb0, - 0x94, 0x66, 0x2d, 0x9d, 0xb8, 0xca, 0xf9, 0x89, 0x1b, 0xed, 0x85, 0xdc, 0xc4, 0xbd, 0xd0, 0x84, - 0xfc, 0xc0, 0x32, 0xab, 0x79, 0x21, 0xf0, 0x82, 0x14, 0xc8, 0xbf, 0xd5, 0xda, 0x3e, 0x1d, 0xd6, - 0x9f, 0x9b, 0x74, 0x07, 0x66, 0x27, 0x2e, 0xf1, 0xb5, 0xb7, 0x5a, 0xdb, 0x98, 0x2b, 0xab, 0xbf, - 0x53, 0x60, 0x4e, 0x76, 0x39, 0x74, 0x0f, 0x0a, 0x86, 0x65, 0x7a, 0x32, 0x3b, 0x9e, 0xb0, 0xaf, - 0x46, 0x8e, 0xbe, 0xde, 0xda, 0xc6, 0x58, 0x18, 0x44, 0x6f, 0xc3, 0x2c, 0xb9, 0x6f, 0x10, 0x97, - 0xc9, 0x1d, 0xf0, 0x84, 0xa6, 0x97, 0xa4, 0xe9, 0xd9, 0x1d, 0x61, 0x0c, 0x4b, 0xa3, 0x6a, 0x17, - 0x8a, 0x42, 0x00, 0x7d, 0x06, 0x72, 0x96, 0x2b, 0xdc, 0x2f, 0x37, 0x57, 0x47, 0xc3, 0x7a, 0xae, - 0xd5, 0x49, 0x93, 0x9f, 0xb3, 0x5c, 0x74, 0x1b, 0xca, 0xae, 0x47, 0xba, 0xd6, 0xfd, 0xbb, 0xc4, - 0xe9, 0xb1, 0x43, 0xb1, 0xbe, 0xc5, 0xb8, 0x37, 0x76, 0x12, 0x73, 0x38, 0x25, 0xa9, 0xbe, 0xa7, - 0x40, 0x29, 0x62, 0x9e, 0xf3, 0xc3, 0xc9, 0x16, 0x70, 0xc5, 0x38, 0x6c, 0x3e, 0x87, 0xc5, 0xcc, - 0x63, 0x30, 0x78, 0x1b, 0xe6, 0xc5, 0xdb, 0x07, 0x83, 0xda, 0x92, 0xc6, 0x1b, 0x61, 0xa7, 0xec, - 0xc8, 0xf1, 0xd3, 0xc4, 0x7f, 0x1c, 0x49, 0xab, 0xff, 0xce, 0xc3, 0x62, 0x9b, 0xb0, 0xef, 0x52, - 0xef, 0xa8, 0x43, 0x6d, 0xcb, 0x38, 0xb9, 0x82, 0x9a, 0xd6, 0x85, 0xa2, 0x37, 0xb0, 0x49, 0x58, - 0xc7, 0xb6, 0xa6, 0xde, 0x35, 0x49, 0x7f, 0xf1, 0xc0, 0x26, 0xf1, 0xee, 0xe1, 0x4f, 0x3e, 0x0e, - 0xcc, 0xa3, 0x57, 0x61, 0x59, 0x4f, 0xdd, 0x3b, 0x82, 0x1d, 0x5d, 0x12, 0x9c, 0x2e, 0xa7, 0xaf, - 0x24, 0x3e, 0xce, 0xca, 0xa2, 0x75, 0xbe, 0xa8, 0x16, 0xf5, 0x78, 0x0d, 0x2a, 0xac, 0x29, 0xeb, - 0x4a, 0xb3, 0x1c, 0x2c, 0x68, 0x30, 0x86, 0xa3, 0x59, 0x74, 0x13, 0xca, 0xcc, 0x22, 0x5e, 0x38, - 0x53, 0x2d, 0x0a, 0x2a, 0x2b, 0x3c, 0x0d, 0xf6, 0x13, 0xe3, 0x38, 0x25, 0x85, 0x7c, 0x28, 0xf9, - 0x74, 0xe0, 0x19, 0x04, 0x93, 0x6e, 0x75, 0x56, 0xac, 0xf4, 0x9d, 0x8b, 0x2d, 0x45, 0x54, 0xe3, - 0x16, 0x79, 0x35, 0xd8, 0x0b, 0x8d, 0xe3, 0x18, 0x47, 0xfd, 0xb3, 0x02, 0x2b, 0x29, 0xa5, 0x2b, - 0x38, 0x99, 0x1d, 0xa4, 0x4f, 0x66, 0xaf, 0x5e, 0x28, 0xc8, 0x09, 0x67, 0xb3, 0xef, 0xc1, 0xf5, - 0x94, 0x58, 0x9b, 0x9a, 0x64, 0x8f, 0xe9, 0x6c, 0xe0, 0xa3, 0x2f, 0xc0, 0xbc, 0x43, 0x4d, 0xd2, - 0x8e, 0x0f, 0x04, 0x91, 0xb3, 0x6d, 0x39, 0x8e, 0x23, 0x09, 0xb4, 0x09, 0x20, 0x5f, 0xe9, 0x59, - 0xd4, 0x11, 0x5b, 0x2e, 0x1f, 0xa7, 0xf3, 0x6e, 0x34, 0x83, 0x13, 0x52, 0xea, 0x1f, 0x72, 0x99, - 0x45, 0xed, 0x10, 0xe2, 0xa1, 0x5b, 0xb0, 0xa8, 0x27, 0x5e, 0x24, 0xf9, 0x55, 0x45, 0x24, 0xdf, - 0xca, 0x68, 0x58, 0x5f, 0x4c, 0xbe, 0x61, 0xf2, 0x71, 0x5a, 0x0e, 0x11, 0x98, 0xb7, 0x5c, 0x79, - 0x37, 0x09, 0x96, 0xec, 0xd6, 0xf4, 0x85, 0x4e, 0xe8, 0xc7, 0x91, 0x46, 0x97, 0x92, 0xc8, 0x34, - 0xaa, 0x43, 0xb1, 0xfb, 0x1d, 0xd3, 0x09, 0x37, 0x45, 0x89, 0xaf, 0xe9, 0x9d, 0xaf, 0x6d, 0xb7, - 0x7d, 0x1c, 0x8c, 0x23, 0x06, 0xc0, 0xe8, 0x1e, 0xf1, 0x8e, 0x2d, 0x83, 0x84, 0x2d, 0xee, 0xab, - 0xd3, 0x7a, 0x22, 0xf5, 0x13, 0xfd, 0x37, 0x5c, 0xcc, 0xfd, 0xc8, 0x36, 0x4e, 0xe0, 0xf0, 0x2b, - 0xd2, 0x27, 0xce, 0x4e, 0x6b, 0xf4, 0x22, 0x14, 0x78, 0xdb, 0x91, 0x2c, 0x3e, 0x17, 0x16, 0xc2, - 0xfd, 0x13, 0x97, 0x9c, 0x0e, 0xeb, 0x69, 0x0a, 0xf8, 0x20, 0x16, 0xe2, 0x53, 0x9f, 0xf5, 0xa2, - 0x82, 0x9b, 0x3f, 0xaf, 0x65, 0x16, 0x2e, 0xd2, 0x32, 0x7f, 0x55, 0xcc, 0x64, 0x0d, 0x2f, 0x5e, - 0xe8, 0x15, 0x28, 0x99, 0x96, 0xc7, 0xaf, 0x8d, 0xd4, 0x91, 0x81, 0xd6, 0x42, 0x67, 0xb7, 0xc3, - 0x89, 0xd3, 0xe4, 0x03, 0x8e, 0x15, 0x90, 0x01, 0x85, 0xae, 0x47, 0xfb, 0xf2, 0xcc, 0x74, 0xb1, - 0xca, 0xca, 0x93, 0x38, 0x0e, 0xfe, 0x8e, 0x47, 0xfb, 0x58, 0x18, 0x47, 0x6f, 0x43, 0x8e, 0x51, - 0xb1, 0x38, 0x97, 0x02, 0x01, 0x12, 0x22, 0xb7, 0x4f, 0x71, 0x8e, 0x51, 0x9e, 0xfe, 0x7e, 0x3a, - 0xe9, 0x6e, 0x3d, 0x61, 0xd2, 0xc5, 0xe9, 0x1f, 0x65, 0x5a, 0x64, 0x9a, 0x97, 0x05, 0x37, 0x53, - 0xb0, 0xe3, 0x9e, 0x39, 0x56, 0xe2, 0xef, 0xc1, 0xac, 0x1e, 0x70, 0x32, 0x2b, 0x38, 0xf9, 0x0a, - 0x3f, 0x3f, 0x6c, 0x85, 0x64, 0x6c, 0x3c, 0xe2, 0x0b, 0x8d, 0x67, 0x46, 0xdf, 0x4b, 0x34, 0xce, - 0x70, 0xa0, 0x84, 0xa5, 0x39, 0xf4, 0x32, 0x2c, 0x12, 0x47, 0x3f, 0xb0, 0xc9, 0x5d, 0xda, 0xeb, - 0x59, 0x4e, 0xaf, 0x3a, 0xb7, 0xa6, 0xac, 0xcf, 0x37, 0xaf, 0x49, 0x5f, 0x16, 0x77, 0x92, 0x93, - 0x38, 0x2d, 0x7b, 0x56, 0x87, 0x9b, 0x9f, 0xa2, 0xc3, 0x85, 0x79, 0x5e, 0x9a, 0x94, 0xe7, 0xea, - 0xcf, 0xf3, 0x80, 0x52, 0x8c, 0xf1, 0x9a, 0xea, 0xf3, 0x53, 0xfa, 0xa2, 0x93, 0x1c, 0x96, 0x5d, - 0xe3, 0xb2, 0xfa, 0x57, 0x14, 0x7d, 0x7a, 0x3e, 0x8d, 0x89, 0x5c, 0x28, 0x33, 0x4f, 0xef, 0x76, - 0x2d, 0x43, 0x78, 0x25, 0x93, 0xfe, 0xa5, 0x47, 0xf8, 0x20, 0x3e, 0x5f, 0x69, 0x11, 0x1d, 0xfb, - 0x09, 0xed, 0xf8, 0xe4, 0x96, 0x1c, 0xc5, 0x29, 0x04, 0xf4, 0xae, 0x02, 0x15, 0x7e, 0xb6, 0x48, - 0x8a, 0xc8, 0xcb, 0xef, 0x97, 0x1f, 0x1f, 0x16, 0x67, 0x2c, 0xc4, 0x37, 0xb1, 0xec, 0x0c, 0x1e, - 0x43, 0x53, 0xff, 0xae, 0xc0, 0xea, 0x18, 0x23, 0x83, 0xab, 0x78, 0x7f, 0x67, 0x43, 0x91, 0x77, - 0xc9, 0xb0, 0x27, 0xed, 0x5e, 0x88, 0xeb, 0xb8, 0x3f, 0xc7, 0x0d, 0x9d, 0x8f, 0xf9, 0x38, 0x00, - 0x51, 0x7f, 0x5f, 0x80, 0x4a, 0x28, 0xe4, 0xef, 0x0d, 0xfa, 0x7d, 0xdd, 0xbb, 0x8a, 0xb3, 0xe9, - 0x8f, 0x15, 0x58, 0x4e, 0x66, 0x99, 0x15, 0xc5, 0xdb, 0xbc, 0x50, 0xbc, 0x01, 0xd1, 0xd7, 0x25, - 0xf6, 0x72, 0x3b, 0x0d, 0x81, 0xb3, 0x98, 0xe8, 0x37, 0x0a, 0xdc, 0x08, 0x50, 0xe4, 0xcb, 0xda, - 0x8c, 0x86, 0xcc, 0xba, 0xcb, 0x70, 0xea, 0xb3, 0xd2, 0xa9, 0x1b, 0x5b, 0x8f, 0xc0, 0xc3, 0x8f, - 0xf4, 0x06, 0xfd, 0x52, 0x81, 0x6b, 0x81, 0x40, 0xd6, 0xcf, 0xc2, 0xa5, 0xf9, 0xf9, 0x69, 0xe9, - 0xe7, 0xb5, 0xad, 0xb3, 0x80, 0xf0, 0xd9, 0xf8, 0xaa, 0x0e, 0xe5, 0xe4, 0xeb, 0x86, 0xa7, 0xf1, - 0x6a, 0xe8, 0xb7, 0x0a, 0xcc, 0xc9, 0x06, 0x83, 0x6e, 0x26, 0x6e, 0x62, 0x01, 0x44, 0xf5, 0xfc, - 0x5b, 0x18, 0x6a, 0xcb, 0x3b, 0x60, 0xee, 0x9c, 0x9c, 0x1e, 0x30, 0xcb, 0xd6, 0x82, 0x0f, 0xcf, - 0x5a, 0xcb, 0x61, 0x6f, 0x7a, 0x7b, 0xcc, 0xb3, 0x9c, 0x5e, 0x73, 0x3e, 0x73, 0x63, 0xfc, 0x1c, - 0xcc, 0x11, 0x47, 0x5c, 0x2f, 0x45, 0x9b, 0x2e, 0x36, 0x17, 0x46, 0xc3, 0xfa, 0xdc, 0x4e, 0x30, - 0x84, 0xc3, 0x39, 0x95, 0x40, 0x25, 0x7b, 0x3c, 0x7b, 0x0a, 0xeb, 0xd3, 0x7c, 0xfe, 0xc1, 0xc3, - 0xda, 0xcc, 0xfb, 0x0f, 0x6b, 0x33, 0x1f, 0x3c, 0xac, 0xcd, 0xbc, 0x3b, 0xaa, 0x29, 0x0f, 0x46, - 0x35, 0xe5, 0xfd, 0x51, 0x4d, 0xf9, 0x60, 0x54, 0x53, 0xfe, 0x3a, 0xaa, 0x29, 0xbf, 0xf8, 0x5b, - 0x6d, 0xe6, 0xeb, 0x73, 0x92, 0xfa, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xbe, 0xe6, 0x40, 0xcb, - 0xef, 0x20, 0x00, 0x00, + // 1961 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0x4d, 0x6c, 0x24, 0x47, + 0x15, 0x76, 0xcf, 0x8f, 0xed, 0x79, 0x1e, 0xdb, 0xe3, 0x72, 0x36, 0x3b, 0x84, 0x65, 0xc6, 0x69, + 0x7e, 0xe4, 0x03, 0xe9, 0x89, 0xcd, 0x26, 0xbb, 0x90, 0x1f, 0xf0, 0xc4, 0x5e, 0x6b, 0xa2, 0xdd, + 0xc9, 0x50, 0x76, 0xb4, 0x12, 0x22, 0x90, 0x76, 0x77, 0xcd, 0xb8, 0xf1, 0x4c, 0x57, 0xd3, 0x5d, + 0x63, 0xd6, 0x42, 0x8a, 0x82, 0x02, 0x87, 0x00, 0x12, 0xdc, 0x38, 0x73, 0xe2, 0xc2, 0x15, 0xee, + 0x1c, 0x90, 0x56, 0x9c, 0x82, 0x10, 0x22, 0xa7, 0x11, 0x3b, 0x08, 0x10, 0x07, 0x6e, 0x9c, 0x9c, + 0x0b, 0xaa, 0xea, 0xea, 0xdf, 0xf1, 0xac, 0x77, 0xfc, 0x87, 0x44, 0x72, 0x9a, 0xe9, 0xaa, 0xf7, + 0xde, 0xf7, 0x5e, 0xbd, 0xbf, 0x7a, 0xdd, 0xf0, 0xaa, 0x6e, 0x33, 0x97, 0xe8, 0x9a, 0x45, 0x6b, + 0xfe, 0xbf, 0x9a, 0x73, 0xd0, 0xa9, 0xe9, 0x8e, 0xe5, 0xd5, 0x0c, 0x6a, 0x33, 0x97, 0x76, 0x9d, + 0xae, 0x6e, 0x93, 0xda, 0xe1, 0xda, 0x1e, 0x61, 0xfa, 0x7a, 0xad, 0x43, 0x6c, 0xe2, 0xea, 0x8c, + 0x98, 0x9a, 0xe3, 0x52, 0x46, 0x91, 0xe6, 0x73, 0x7d, 0xdb, 0xa2, 0xf2, 0x9f, 0xe6, 0x1c, 0x74, + 0x34, 0xce, 0xaf, 0xc5, 0xf9, 0x35, 0xc9, 0xff, 0xcc, 0xed, 0xf1, 0x78, 0x1e, 0xd3, 0x99, 0x57, + 0x3b, 0x5c, 0xd3, 0xbb, 0xce, 0xbe, 0xbe, 0x96, 0x46, 0x7a, 0xe6, 0xb9, 0x8e, 0xc5, 0xf6, 0xfb, + 0x7b, 0x9a, 0x41, 0x7b, 0xb5, 0x0e, 0xed, 0xd0, 0x9a, 0x58, 0xde, 0xeb, 0xb7, 0xc5, 0x93, 0x78, + 0x10, 0xff, 0x24, 0xf9, 0xcd, 0x83, 0xdb, 0x9e, 0x40, 0x71, 0xac, 0x9e, 0x6e, 0xec, 0x5b, 0x36, + 0x71, 0x8f, 0x22, 0xac, 0x1e, 0x61, 0x7a, 0xed, 0x70, 0x14, 0xa4, 0x36, 0x8e, 0xcb, 0xed, 0xdb, + 0xcc, 0xea, 0x91, 0x11, 0x86, 0x17, 0x4f, 0x63, 0xf0, 0x8c, 0x7d, 0xd2, 0xd3, 0x47, 0xf8, 0xbe, + 0x34, 0x8e, 0xaf, 0xcf, 0xac, 0x6e, 0xcd, 0xb2, 0x99, 0xc7, 0xdc, 0x34, 0x93, 0xfa, 0x4f, 0x05, + 0x8a, 0x1b, 0xa6, 0xe9, 0x12, 0xcf, 0xdb, 0x76, 0x69, 0xdf, 0x41, 0x6f, 0xc3, 0x2c, 0xb7, 0xc4, + 0xd4, 0x99, 0x5e, 0x56, 0x56, 0x94, 0xd5, 0xb9, 0xf5, 0xe7, 0x35, 0x5f, 0xb0, 0x16, 0x17, 0x1c, + 0xf9, 0x84, 0x53, 0x6b, 0x87, 0x6b, 0xda, 0x1b, 0x7b, 0xdf, 0x21, 0x06, 0xbb, 0x47, 0x98, 0x5e, + 0x47, 0x0f, 0x07, 0xd5, 0xa9, 0xe1, 0xa0, 0x0a, 0xd1, 0x1a, 0x0e, 0xa5, 0xa2, 0x3e, 0x14, 0x3b, + 0x1c, 0xea, 0x1e, 0xe9, 0xed, 0x11, 0xd7, 0x2b, 0x67, 0x56, 0xb2, 0xab, 0x73, 0xeb, 0x2f, 0x4d, + 0xe8, 0x76, 0x6d, 0x3b, 0x92, 0x51, 0x7f, 0x4a, 0x02, 0x16, 0x63, 0x8b, 0x1e, 0x4e, 0xc0, 0xa8, + 0x7f, 0x52, 0xa0, 0x14, 0xb7, 0xf4, 0xae, 0xe5, 0x31, 0xf4, 0xcd, 0x11, 0x6b, 0xb5, 0x27, 0xb3, + 0x96, 0x73, 0x0b, 0x5b, 0x4b, 0x12, 0x7a, 0x36, 0x58, 0x89, 0x59, 0xaa, 0x43, 0xde, 0x62, 0xa4, + 0x17, 0x98, 0xf8, 0xf2, 0xa4, 0x26, 0xc6, 0xd5, 0xad, 0xcf, 0x4b, 0xa0, 0x7c, 0x83, 0x8b, 0xc4, + 0xbe, 0x64, 0xf5, 0xfd, 0x2c, 0x2c, 0xc5, 0xc9, 0x5a, 0x3a, 0x33, 0xf6, 0xaf, 0xc0, 0x89, 0x3f, + 0x54, 0x60, 0x49, 0x37, 0x4d, 0x62, 0x6e, 0x5f, 0xb0, 0x2b, 0x3f, 0x25, 0x61, 0xb9, 0x55, 0x49, + 0xe9, 0x78, 0x14, 0x10, 0xfd, 0x58, 0x81, 0x65, 0x97, 0xf4, 0xe8, 0x61, 0x4a, 0x91, 0xec, 0xf9, + 0x15, 0xf9, 0xb4, 0x54, 0x64, 0x19, 0x8f, 0xca, 0xc7, 0x27, 0x81, 0xaa, 0xff, 0x52, 0x60, 0x61, + 0xc3, 0x71, 0xba, 0x16, 0x31, 0x77, 0xe9, 0xff, 0x79, 0x36, 0xfd, 0x45, 0x01, 0x94, 0xb4, 0xf5, + 0x0a, 0xf2, 0xc9, 0x48, 0xe6, 0xd3, 0xab, 0x13, 0xe7, 0x53, 0x42, 0xe1, 0x31, 0x19, 0xf5, 0x93, + 0x2c, 0x2c, 0x27, 0x09, 0x3f, 0xc9, 0xa9, 0xff, 0x5d, 0x4e, 0x7d, 0x94, 0x81, 0xe5, 0xd7, 0xba, + 0x7d, 0x8f, 0x11, 0x37, 0xa1, 0xe4, 0xe5, 0x7b, 0xe3, 0x07, 0x0a, 0x94, 0x48, 0xbb, 0x4d, 0x0c, + 0x66, 0x1d, 0x92, 0x0b, 0x74, 0x46, 0x59, 0xa2, 0x96, 0xb6, 0x52, 0xc2, 0xf1, 0x08, 0x1c, 0x7a, + 0x07, 0x96, 0xc2, 0xb5, 0x46, 0xab, 0xde, 0xa5, 0xc6, 0x41, 0xe0, 0x87, 0x17, 0x26, 0xd5, 0xa1, + 0xd1, 0x6a, 0x12, 0x16, 0x85, 0xc2, 0x56, 0x5a, 0x2e, 0x1e, 0x85, 0x52, 0xff, 0xa1, 0xc0, 0xdc, + 0x56, 0xe7, 0x63, 0x70, 0x39, 0xf8, 0xa3, 0x02, 0x8b, 0x31, 0x43, 0xaf, 0xa0, 0x96, 0xbd, 0x9d, + 0xac, 0x65, 0x13, 0x5b, 0x18, 0xd3, 0x76, 0x4c, 0x21, 0xfb, 0x69, 0x16, 0x4a, 0x31, 0x2a, 0xbf, + 0x8a, 0x99, 0x00, 0x34, 0x3c, 0xf7, 0x0b, 0xf5, 0x61, 0x4c, 0xee, 0x27, 0x95, 0xec, 0x84, 0x4a, + 0xd6, 0x85, 0xeb, 0x5b, 0x0f, 0x18, 0x71, 0x6d, 0xbd, 0xbb, 0x65, 0x33, 0x8b, 0x1d, 0x61, 0xd2, + 0x26, 0x2e, 0xb1, 0x0d, 0x82, 0x56, 0x20, 0x67, 0xeb, 0x3d, 0x22, 0xdc, 0x51, 0xa8, 0x17, 0xa5, + 0xe8, 0x5c, 0x53, 0xef, 0x11, 0x2c, 0x76, 0x50, 0x0d, 0x0a, 0xfc, 0xd7, 0x73, 0x74, 0x83, 0x94, + 0x33, 0x82, 0x6c, 0x49, 0x92, 0x15, 0x9a, 0xc1, 0x06, 0x8e, 0x68, 0xd4, 0x8f, 0x14, 0x28, 0x09, + 0xf8, 0x0d, 0xcf, 0xa3, 0x86, 0xa5, 0x33, 0x8b, 0xda, 0x57, 0xd3, 0xc2, 0x4a, 0xba, 0x44, 0x94, + 0xf6, 0x9f, 0xb9, 0x5b, 0x0b, 0xee, 0xf0, 0x90, 0xa2, 0xba, 0xb9, 0x91, 0x92, 0x8f, 0x47, 0x10, + 0xd5, 0xff, 0x64, 0x60, 0x2e, 0x76, 0xf8, 0xe8, 0x3e, 0x64, 0x1d, 0x6a, 0x4a, 0x9b, 0x27, 0xbe, + 0x86, 0xb7, 0xa8, 0x19, 0xa9, 0x31, 0x33, 0x1c, 0x54, 0xb3, 0x7c, 0x85, 0x4b, 0x44, 0xef, 0x29, + 0xb0, 0x40, 0x12, 0x5e, 0x15, 0xde, 0x99, 0x5b, 0xdf, 0x9e, 0x38, 0x9f, 0x4f, 0x8e, 0x8d, 0x3a, + 0x1a, 0x0e, 0xaa, 0x0b, 0xa9, 0xcd, 0x14, 0x24, 0xfa, 0x02, 0x64, 0x2d, 0xc7, 0x0f, 0xeb, 0x62, + 0xfd, 0x29, 0xae, 0x60, 0xa3, 0xe5, 0x1d, 0x0f, 0xaa, 0x85, 0x46, 0x4b, 0xce, 0x06, 0x98, 0x13, + 0xa0, 0x6f, 0x41, 0xde, 0xa1, 0x2e, 0xf3, 0xca, 0x39, 0xe1, 0x91, 0x2f, 0x4f, 0xaa, 0x23, 0x8f, + 0x34, 0xb3, 0x45, 0x5d, 0x16, 0x55, 0x1c, 0xfe, 0xe4, 0x61, 0x5f, 0xac, 0xfa, 0x2b, 0x05, 0x16, + 0x92, 0x5e, 0x4b, 0x06, 0xae, 0x72, 0x7a, 0xe0, 0x86, 0xb9, 0x90, 0x19, 0x9b, 0x0b, 0x75, 0xc8, + 0xf6, 0x2d, 0xb3, 0x9c, 0x15, 0x04, 0xcf, 0x4b, 0x82, 0xec, 0x9b, 0x8d, 0xcd, 0xe3, 0x41, 0xf5, + 0xd9, 0x71, 0x33, 0x30, 0x3b, 0x72, 0x88, 0xa7, 0xbd, 0xd9, 0xd8, 0xc4, 0x9c, 0x59, 0xfd, 0x9d, + 0x02, 0x33, 0xb2, 0xcb, 0xa1, 0xfb, 0x90, 0x33, 0x2c, 0xd3, 0x95, 0xd1, 0x71, 0xc6, 0xbe, 0x1a, + 0x2a, 0xfa, 0x5a, 0x63, 0x13, 0x63, 0x21, 0x10, 0xbd, 0x05, 0xd3, 0xe4, 0x81, 0x41, 0x1c, 0x26, + 0x33, 0xe0, 0x8c, 0xa2, 0x17, 0xa4, 0xe8, 0xe9, 0x2d, 0x21, 0x0c, 0x4b, 0xa1, 0x6a, 0x1b, 0xf2, + 0x82, 0x00, 0x7d, 0x16, 0x32, 0x96, 0x23, 0xd4, 0x2f, 0xd6, 0x97, 0x87, 0x83, 0x6a, 0xa6, 0xd1, + 0x4a, 0x3a, 0x3f, 0x63, 0x39, 0xe8, 0x36, 0x14, 0x1d, 0x97, 0xb4, 0xad, 0x07, 0x77, 0x89, 0xdd, + 0x61, 0xfb, 0xe2, 0x7c, 0xf3, 0x51, 0x6f, 0x6c, 0xc5, 0xf6, 0x70, 0x82, 0x52, 0xfd, 0x8d, 0x02, + 0x0b, 0xf7, 0xfa, 0x5d, 0x66, 0x19, 0xba, 0xc7, 0x76, 0x98, 0xce, 0xbc, 0xcb, 0xcb, 0xa7, 0xd7, + 0x61, 0x51, 0xf4, 0xe5, 0xd7, 0xa9, 0x65, 0x13, 0x93, 0xb7, 0x4d, 0x71, 0x76, 0xc5, 0xfa, 0xca, + 0x70, 0x50, 0x5d, 0xdc, 0x4e, 0x6e, 0x25, 0x8d, 0x4c, 0x33, 0xaa, 0xef, 0x2b, 0x50, 0x08, 0x23, + 0x96, 0xc7, 0x15, 0x0f, 0x52, 0xa1, 0x73, 0x3e, 0x72, 0x17, 0xdf, 0xc3, 0x62, 0xe7, 0x09, 0x22, + 0xef, 0x36, 0xcc, 0x8a, 0xb7, 0x26, 0x06, 0xed, 0xca, 0xf0, 0xbb, 0x11, 0x74, 0xf8, 0x96, 0x5c, + 0x3f, 0x8e, 0xfd, 0xc7, 0x21, 0xb5, 0xfa, 0xef, 0x2c, 0xcc, 0x37, 0x09, 0xfb, 0x1e, 0x75, 0x0f, + 0x5a, 0xb4, 0x6b, 0x19, 0x47, 0x57, 0x50, 0x8b, 0xdb, 0x90, 0x77, 0xfb, 0x5d, 0x12, 0xd4, 0xdf, + 0x8d, 0x89, 0xb3, 0x3d, 0xae, 0x2f, 0xee, 0x77, 0x49, 0x94, 0xf5, 0xfc, 0xc9, 0xc3, 0xbe, 0x78, + 0xf4, 0x0a, 0x2c, 0xea, 0x89, 0x79, 0xc9, 0xaf, 0x44, 0x05, 0x11, 0x8b, 0x8b, 0xc9, 0x51, 0xca, + 0xc3, 0x69, 0x5a, 0xb4, 0xca, 0x0f, 0xd5, 0xa2, 0x2e, 0xaf, 0x9d, 0xb9, 0x15, 0x65, 0x55, 0xa9, + 0x17, 0xfd, 0x03, 0xf5, 0xd7, 0x70, 0xb8, 0x8b, 0x6e, 0x42, 0x91, 0x59, 0xc4, 0x0d, 0x76, 0xca, + 0x79, 0xe1, 0xca, 0x12, 0x0f, 0xdf, 0xdd, 0xd8, 0x3a, 0x4e, 0x50, 0x21, 0x0f, 0x0a, 0x1e, 0xed, + 0xbb, 0x06, 0xc1, 0xa4, 0x5d, 0x9e, 0x16, 0x27, 0x7d, 0xe7, 0x7c, 0x47, 0x11, 0xc6, 0xee, 0x3c, + 0xaf, 0x62, 0x3b, 0x81, 0x70, 0x1c, 0xe1, 0xa8, 0x7f, 0x56, 0x60, 0x29, 0xc1, 0x74, 0x05, 0x37, + 0xca, 0xbd, 0xe4, 0x8d, 0xf2, 0x95, 0x73, 0x19, 0x39, 0xe6, 0x4e, 0xf9, 0x7d, 0xb8, 0x9e, 0x20, + 0x6b, 0x52, 0x93, 0xf0, 0x92, 0xd0, 0xf7, 0xd0, 0x17, 0x61, 0xd6, 0xa6, 0x26, 0x69, 0x46, 0x17, + 0x99, 0x50, 0xd9, 0xa6, 0x5c, 0xc7, 0x21, 0x05, 0x5a, 0x07, 0x90, 0xaf, 0x22, 0x2d, 0x6a, 0x8b, + 0x94, 0xcb, 0x46, 0xe1, 0xbc, 0x1d, 0xee, 0xe0, 0x18, 0x95, 0xfa, 0x87, 0x4c, 0xea, 0x50, 0x5b, + 0x84, 0xb8, 0xe8, 0x16, 0xcc, 0xeb, 0xb1, 0x17, 0x60, 0x5e, 0x59, 0x11, 0xc1, 0xb7, 0x34, 0x1c, + 0x54, 0xe7, 0xe3, 0x6f, 0xc6, 0x3c, 0x9c, 0xa4, 0x43, 0x04, 0x66, 0x2d, 0x47, 0xce, 0x54, 0xfe, + 0x91, 0xdd, 0x9a, 0xbc, 0x40, 0x0b, 0xfe, 0xc8, 0xd2, 0x70, 0x98, 0x0a, 0x45, 0xa3, 0x2a, 0xe4, + 0xdb, 0xdf, 0x35, 0xed, 0x20, 0x29, 0x0a, 0xfc, 0x4c, 0xef, 0x7c, 0x7d, 0xb3, 0xe9, 0x61, 0x7f, + 0x1d, 0x31, 0x00, 0x46, 0x77, 0x88, 0x7b, 0x68, 0x19, 0x24, 0x68, 0xcd, 0x5f, 0x9b, 0x54, 0x13, + 0xc9, 0x1f, 0xbb, 0x37, 0x04, 0x87, 0xb9, 0x1b, 0xca, 0xc6, 0x31, 0x1c, 0x3e, 0xda, 0x3d, 0x7d, + 0x72, 0x58, 0xa3, 0x17, 0x20, 0xc7, 0xdb, 0xa5, 0xf4, 0xe2, 0xb3, 0x41, 0x21, 0xdc, 0x3d, 0x72, + 0xc8, 0xf1, 0xa0, 0x9a, 0x74, 0x01, 0x5f, 0xc4, 0x82, 0x7c, 0xe2, 0x3b, 0x6a, 0x58, 0x70, 0xb3, + 0xa7, 0xb5, 0xfa, 0xdc, 0x79, 0x5a, 0xfd, 0x2f, 0xf3, 0xa9, 0xa8, 0xe1, 0xc5, 0x0b, 0xbd, 0x0c, + 0x05, 0xd3, 0x72, 0xf9, 0xb8, 0x4b, 0x6d, 0x69, 0x68, 0x25, 0x50, 0x76, 0x33, 0xd8, 0x38, 0x8e, + 0x3f, 0xe0, 0x88, 0x01, 0x19, 0x90, 0x6b, 0xbb, 0xb4, 0x27, 0xef, 0x7a, 0xe7, 0xab, 0xac, 0x3c, + 0x88, 0x23, 0xe3, 0xef, 0xb8, 0xb4, 0x87, 0x85, 0x70, 0xf4, 0x16, 0x64, 0x18, 0x15, 0x87, 0x73, + 0x21, 0x10, 0x20, 0x21, 0x32, 0xbb, 0x14, 0x67, 0x18, 0xe5, 0xe1, 0xef, 0x25, 0x83, 0xee, 0xd6, + 0x19, 0x83, 0x2e, 0x0a, 0xff, 0x30, 0xd2, 0x42, 0xd1, 0xbc, 0x2c, 0x38, 0xa9, 0x82, 0x1d, 0xf5, + 0xcc, 0x91, 0x12, 0x7f, 0x1f, 0xa6, 0x75, 0xdf, 0x27, 0xd3, 0xc2, 0x27, 0x5f, 0xe5, 0xf7, 0x9e, + 0x8d, 0xc0, 0x19, 0x6b, 0x8f, 0xf9, 0xb2, 0xe4, 0x9a, 0xe1, 0x77, 0x1e, 0x8d, 0x7b, 0xd8, 0x67, + 0xc2, 0x52, 0x1c, 0x7a, 0x09, 0xe6, 0x89, 0xad, 0xef, 0x75, 0xc9, 0x5d, 0xda, 0xe9, 0x58, 0x76, + 0xa7, 0x3c, 0xb3, 0xa2, 0xac, 0xce, 0xd6, 0xaf, 0x49, 0x5d, 0xe6, 0xb7, 0xe2, 0x9b, 0x38, 0x49, + 0x7b, 0x52, 0x87, 0x9b, 0x9d, 0xa0, 0xc3, 0x05, 0x71, 0x5e, 0x18, 0x17, 0xe7, 0xea, 0xcf, 0xb2, + 0x80, 0x12, 0x1e, 0xf3, 0xaf, 0x59, 0xef, 0x29, 0x30, 0x6f, 0xc7, 0x97, 0x65, 0xd7, 0xb8, 0xa8, + 0xfe, 0x15, 0x5a, 0x9f, 0xdc, 0x4f, 0x62, 0x22, 0x07, 0x8a, 0xcc, 0xd5, 0xdb, 0x6d, 0xcb, 0x10, + 0x5a, 0xc9, 0xa0, 0x7f, 0xf1, 0x31, 0x3a, 0x88, 0xcf, 0x6e, 0x5a, 0xe8, 0x8e, 0xdd, 0x18, 0x77, + 0x74, 0xe3, 0x8c, 0xaf, 0xe2, 0x04, 0x02, 0x7a, 0x57, 0x81, 0x12, 0xbf, 0x5b, 0xc4, 0x49, 0xe4, + 0xd0, 0xfe, 0x95, 0x27, 0x87, 0xc5, 0x29, 0x09, 0xd1, 0x04, 0x99, 0xde, 0xc1, 0x23, 0x68, 0xea, + 0xdf, 0x15, 0x58, 0x1e, 0xf1, 0x48, 0xff, 0x2a, 0xde, 0x3b, 0x76, 0x21, 0xcf, 0xbb, 0x64, 0xd0, + 0x93, 0xb6, 0xcf, 0xe5, 0xeb, 0xa8, 0x3f, 0x47, 0x0d, 0x9d, 0xaf, 0x79, 0xd8, 0x07, 0x51, 0x7f, + 0x9f, 0x87, 0x52, 0x40, 0xe4, 0xed, 0xf4, 0x7b, 0x3d, 0xdd, 0xbd, 0x8a, 0xbb, 0xe9, 0x8f, 0x14, + 0x58, 0x8c, 0x47, 0x99, 0x15, 0xda, 0x5b, 0x3f, 0x97, 0xbd, 0xbe, 0xa3, 0xaf, 0x4b, 0xec, 0xc5, + 0x66, 0x12, 0x02, 0xa7, 0x31, 0xd1, 0xaf, 0x15, 0xb8, 0xe1, 0xa3, 0xc8, 0x97, 0xcc, 0x29, 0x0e, + 0x19, 0x75, 0x17, 0xa1, 0xd4, 0xe7, 0xa4, 0x52, 0x37, 0x36, 0x1e, 0x83, 0x87, 0x1f, 0xab, 0x0d, + 0xfa, 0x85, 0x02, 0xd7, 0x7c, 0x82, 0xb4, 0x9e, 0xb9, 0x0b, 0xd3, 0xf3, 0x33, 0x52, 0xcf, 0x6b, + 0x1b, 0x27, 0x01, 0xe1, 0x93, 0xf1, 0xd1, 0x3b, 0xb0, 0xd0, 0x4b, 0xcc, 0x88, 0xe5, 0xfc, 0xd9, + 0xde, 0xfa, 0x24, 0x27, 0xcd, 0xfa, 0xd3, 0x52, 0x9b, 0xd4, 0x04, 0x8a, 0x53, 0x68, 0xaa, 0x0e, + 0xc5, 0xf8, 0x58, 0x79, 0x19, 0xaf, 0xd4, 0x7e, 0xab, 0xc0, 0x8c, 0x6c, 0x70, 0xe8, 0x66, 0x6c, + 0x12, 0xf4, 0x21, 0xca, 0xa7, 0x4f, 0x81, 0xa8, 0x29, 0x67, 0xd0, 0xcc, 0x29, 0x39, 0xd5, 0x67, + 0x56, 0x57, 0xf3, 0x3f, 0xd8, 0x6b, 0x0d, 0x9b, 0xbd, 0xe1, 0xee, 0x30, 0xd7, 0xb2, 0x3b, 0xf5, + 0xd9, 0xd4, 0xc4, 0xfa, 0x79, 0x98, 0x21, 0xb6, 0x18, 0x6f, 0xc5, 0x35, 0x21, 0x5f, 0x9f, 0x1b, + 0x0e, 0xaa, 0x33, 0x5b, 0xfe, 0x12, 0x0e, 0xf6, 0x54, 0x02, 0xa5, 0xf4, 0xf5, 0xf0, 0x12, 0xce, + 0xa7, 0xfe, 0xdc, 0xc3, 0x47, 0x95, 0xa9, 0x0f, 0x1e, 0x55, 0xa6, 0x3e, 0x7c, 0x54, 0x99, 0x7a, + 0x77, 0x58, 0x51, 0x1e, 0x0e, 0x2b, 0xca, 0x07, 0xc3, 0x8a, 0xf2, 0xe1, 0xb0, 0xa2, 0xfc, 0x75, + 0x58, 0x51, 0x7e, 0xfe, 0xb7, 0xca, 0xd4, 0x37, 0x66, 0xa4, 0xa3, 0xff, 0x1b, 0x00, 0x00, 0xff, + 0xff, 0xf9, 0x93, 0x5b, 0x6b, 0x27, 0x22, 0x00, 0x00, } func (m *AddressGroup) Marshal() (dAtA []byte, err error) { @@ -1812,6 +1845,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) @@ -2335,6 +2412,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-- { { @@ -2813,6 +2904,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 @@ -3036,6 +3146,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 } @@ -3359,6 +3475,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" @@ -3529,11 +3656,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 @@ -5671,6 +5804,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 @@ -7348,6 +7599,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 497c46b9337..3ef5dd9658a 100644 --- a/pkg/apis/controlplane/v1beta2/generated.proto +++ b/pkg/apis/controlplane/v1beta2/generated.proto @@ -169,6 +169,14 @@ message IPNet { optional int32 prefixLength = 2; } +// MulticastStats contains the information for 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. @@ -322,6 +330,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; } // PodReference represents a Pod Reference. diff --git a/pkg/apis/controlplane/v1beta2/types.go b/pkg/apis/controlplane/v1beta2/types.go index ec15a700e03..6ca9f0e2ad1 100644 --- a/pkg/apis/controlplane/v1beta2/types.go +++ b/pkg/apis/controlplane/v1beta2/types.go @@ -313,6 +313,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 information for 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 351f9e867fc..6398d18e0a6 100644 --- a/pkg/apis/controlplane/v1beta2/zz_generated.conversion.go +++ b/pkg/apis/controlplane/v1beta2/zz_generated.conversion.go @@ -198,6 +198,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 { @@ -701,6 +711,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 @@ -990,6 +1022,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 } @@ -1003,6 +1036,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 17c4b00a365..aae13c4a372 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 829e0756c2b..0f9cc1392b1 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..ecfa3ffaab6 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{}, + &MulticastGroupPodsMember{}, + &MulticastGroupPodsMemberList{}, ) return nil } diff --git a/pkg/apis/stats/types.go b/pkg/apis/stats/types.go index f99886e1ae5..03ad7dd2c06 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 + +// MulticastGroupPodsMember contains the mapping between Multicast Group and Pods. +type MulticastGroupPodsMember 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 + +// MulticastGroupPodsMemberList is a list of MulticastGroupPodsMember. +type MulticastGroupPodsMemberList struct { + metav1.TypeMeta + metav1.ListMeta + + // List of MulticastGroupPodsMember. + Items []MulticastGroupPodsMember +} + // +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..8e4878a17ed 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 *MulticastGroupPodsMember) Reset() { *m = MulticastGroupPodsMember{} } +func (*MulticastGroupPodsMember) ProtoMessage() {} +func (*MulticastGroupPodsMember) Descriptor() ([]byte, []int) { + return fileDescriptor_91b517c6fa558473, []int{4} +} +func (m *MulticastGroupPodsMember) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MulticastGroupPodsMember) 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 *MulticastGroupPodsMember) XXX_Merge(src proto.Message) { + xxx_messageInfo_MulticastGroupPodsMember.Merge(m, src) +} +func (m *MulticastGroupPodsMember) XXX_Size() int { + return m.Size() +} +func (m *MulticastGroupPodsMember) XXX_DiscardUnknown() { + xxx_messageInfo_MulticastGroupPodsMember.DiscardUnknown(m) +} + +var xxx_messageInfo_MulticastGroupPodsMember proto.InternalMessageInfo + +func (m *MulticastGroupPodsMemberList) Reset() { *m = MulticastGroupPodsMemberList{} } +func (*MulticastGroupPodsMemberList) ProtoMessage() {} +func (*MulticastGroupPodsMemberList) Descriptor() ([]byte, []int) { + return fileDescriptor_91b517c6fa558473, []int{5} +} +func (m *MulticastGroupPodsMemberList) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MulticastGroupPodsMemberList) 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 *MulticastGroupPodsMemberList) XXX_Merge(src proto.Message) { + xxx_messageInfo_MulticastGroupPodsMemberList.Merge(m, src) +} +func (m *MulticastGroupPodsMemberList) XXX_Size() int { + return m.Size() +} +func (m *MulticastGroupPodsMemberList) XXX_DiscardUnknown() { + xxx_messageInfo_MulticastGroupPodsMemberList.DiscardUnknown(m) +} + +var xxx_messageInfo_MulticastGroupPodsMemberList 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((*MulticastGroupPodsMember)(nil), "antrea_io.antrea.pkg.apis.stats.v1alpha1.MulticastGroupPodsMember") + proto.RegisterType((*MulticastGroupPodsMemberList)(nil), "antrea_io.antrea.pkg.apis.stats.v1alpha1.MulticastGroupPodsMemberList") 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,51 @@ 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, + // 700 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, 0x8b, 0x48, 0x28, 0xb2, 0x2d, 0xe9, 0xa5, + 0x82, 0xce, 0xda, 0x22, 0xa5, 0x88, 0x17, 0xd7, 0x83, 0x14, 0x6c, 0x0d, 0x53, 0x0f, 0x22, 0x82, + 0x4e, 0x36, 0x6f, 0x36, 0x63, 0xb2, 0x3b, 0xcb, 0xce, 0xa4, 0xd2, 0x5b, 0x3f, 0x80, 0x07, 0x3f, + 0x85, 0x9f, 0xa5, 0xc7, 0x1e, 0xeb, 0xa5, 0xd8, 0x88, 0xe0, 0x55, 0xbc, 0x08, 0x5e, 0x64, 0x66, + 0x37, 0xdd, 0xa4, 0x21, 0x74, 0x7b, 0x89, 0x82, 0x9e, 0x76, 0xe7, 0xfd, 0xf7, 0x3c, 0xef, 0xfb, + 0x3e, 0x33, 0x78, 0x8b, 0x85, 0x2a, 0x06, 0x46, 0xb8, 0x70, 0x92, 0x3f, 0x27, 0xea, 0xf8, 0x0e, + 0x8b, 0xb8, 0x74, 0xa4, 0x62, 0x4a, 0x3a, 0xfb, 0xeb, 0xac, 0x1b, 0xb5, 0xd9, 0xba, 0xe3, 0x43, + 0x08, 0x31, 0x53, 0xd0, 0x24, 0x51, 0x2c, 0x94, 0xb0, 0xd6, 0x92, 0xf8, 0x57, 0x5c, 0x90, 0xb4, + 0x46, 0xd4, 0xf1, 0x89, 0xce, 0x24, 0x26, 0x93, 0x0c, 0x32, 0x97, 0xee, 0xf8, 0x5c, 0xb5, 0x7b, + 0x0d, 0xe2, 0x89, 0xc0, 0xf1, 0x85, 0x2f, 0x1c, 0x53, 0xa0, 0xd1, 0x6b, 0x99, 0x93, 0x39, 0x98, + 0xbf, 0xa4, 0xf0, 0xd2, 0xbd, 0xce, 0x96, 0x34, 0x7c, 0x22, 0x1e, 0x30, 0xaf, 0xcd, 0x43, 0x88, + 0x0f, 0x32, 0x56, 0x01, 0x28, 0xe6, 0xec, 0x8f, 0xd1, 0x59, 0x72, 0x26, 0x65, 0xc5, 0xbd, 0x50, + 0xf1, 0x00, 0xc6, 0x12, 0x36, 0x2f, 0x4b, 0x90, 0x5e, 0x1b, 0x02, 0x76, 0x31, 0xaf, 0xf6, 0x63, + 0x06, 0x2f, 0x3f, 0x34, 0x0d, 0x3f, 0xea, 0xf6, 0xa4, 0x82, 0x78, 0x17, 0xd4, 0x5b, 0x11, 0x77, + 0xea, 0xa2, 0xcb, 0xbd, 0x83, 0x3d, 0xdd, 0xba, 0xf5, 0x1a, 0x97, 0x34, 0xcf, 0x26, 0x53, 0xac, + 0x8a, 0x56, 0xd0, 0xda, 0xc2, 0xc6, 0x5d, 0x92, 0xc0, 0x91, 0x61, 0xb8, 0x6c, 0x62, 0x3a, 0x9a, + 0xec, 0xaf, 0x93, 0xa7, 0x8d, 0x37, 0xe0, 0xa9, 0x1d, 0x50, 0xcc, 0xb5, 0x8e, 0x4e, 0x97, 0x0b, + 0xfd, 0xd3, 0x65, 0x9c, 0xd9, 0xe8, 0x79, 0x55, 0x2b, 0xc2, 0x15, 0x15, 0xb3, 0x56, 0x8b, 0x7b, + 0x06, 0xb1, 0x3a, 0x63, 0x50, 0x36, 0x49, 0xde, 0xa5, 0x90, 0x67, 0x43, 0xd9, 0xee, 0xf5, 0x14, + 0xab, 0x32, 0x6c, 0xa5, 0x23, 0x08, 0xd6, 0x21, 0xc2, 0x8b, 0x71, 0xaf, 0x0b, 0xc3, 0x21, 0xd5, + 0xe2, 0x4a, 0x71, 0x6d, 0x61, 0xe3, 0x7e, 0x7e, 0x58, 0x7a, 0xa1, 0x82, 0x5b, 0x4d, 0xa1, 0x17, + 0x2f, 0x7a, 0xe8, 0x18, 0x5a, 0xed, 0x3b, 0xc2, 0xab, 0x97, 0x8c, 0xfe, 0x09, 0x97, 0xca, 0x7a, + 0x39, 0x36, 0x7e, 0x92, 0x6f, 0xfc, 0x3a, 0xdb, 0x0c, 0x7f, 0x31, 0x65, 0x55, 0x1a, 0x58, 0x86, + 0x46, 0x1f, 0xe2, 0x39, 0xae, 0x20, 0xd0, 0x33, 0xd7, 0xcd, 0x6f, 0xe7, 0x6f, 0xfe, 0x12, 0xee, + 0xee, 0x7f, 0x29, 0xea, 0xdc, 0xb6, 0xae, 0x4f, 0x13, 0x98, 0xda, 0xb7, 0x19, 0x5c, 0x4d, 0x32, + 0xff, 0x29, 0x6d, 0x5a, 0x4a, 0xfb, 0x82, 0xf0, 0xcd, 0x49, 0x33, 0x9f, 0x82, 0xc4, 0xfc, 0x51, + 0x89, 0xb9, 0x57, 0x95, 0x58, 0x6e, 0x6d, 0xfd, 0x44, 0xb8, 0xba, 0xd3, 0xeb, 0x2a, 0xee, 0x31, + 0xa9, 0x1e, 0xc7, 0xa2, 0x17, 0xd5, 0x45, 0x53, 0xee, 0x40, 0xd0, 0x80, 0x78, 0x0a, 0xda, 0x5a, + 0xc5, 0x73, 0xbe, 0x06, 0x35, 0xa2, 0x2a, 0x67, 0x1c, 0x0d, 0x13, 0x9a, 0xf8, 0xac, 0xe7, 0x78, + 0x36, 0x12, 0xcd, 0x81, 0x02, 0xae, 0x20, 0xbc, 0xba, 0x68, 0x52, 0x68, 0x41, 0x0c, 0xa1, 0x07, + 0x6e, 0x25, 0xad, 0x3d, 0xab, 0x1b, 0xa4, 0xa6, 0xa2, 0xd9, 0xf2, 0xa4, 0xee, 0xff, 0xe8, 0x2d, + 0x4f, 0x22, 0x3d, 0x61, 0xcb, 0x5f, 0x11, 0xb6, 0xfe, 0x8e, 0xb7, 0xa3, 0xf6, 0x11, 0xe1, 0x1b, + 0xbf, 0xe5, 0xca, 0xb2, 0xd1, 0x65, 0x3e, 0xc8, 0xdf, 0x63, 0xee, 0xcb, 0xca, 0x70, 0x65, 0x58, + 0xd2, 0xd6, 0x0a, 0x9e, 0x0d, 0x59, 0x00, 0xa6, 0x99, 0x72, 0x26, 0xf0, 0x5d, 0x16, 0x00, 0x35, + 0x1e, 0xcb, 0xc1, 0x65, 0xfd, 0x95, 0x11, 0xf3, 0x20, 0xbd, 0x63, 0xd7, 0xd2, 0xb0, 0xf2, 0xee, + 0xc0, 0x41, 0xb3, 0x98, 0xda, 0x07, 0x84, 0xc7, 0x9e, 0xc7, 0x1c, 0x38, 0xd3, 0xdf, 0xf3, 0x3b, + 0x84, 0x47, 0xdc, 0xd6, 0x2d, 0x3c, 0x1f, 0x31, 0xaf, 0x03, 0x4a, 0x1a, 0x9e, 0x45, 0xf7, 0xff, + 0xb4, 0xca, 0x7c, 0x3d, 0x31, 0xd3, 0x81, 0x5f, 0xbf, 0x3a, 0x8d, 0x03, 0x05, 0x09, 0xcd, 0x62, + 0x36, 0x6c, 0x57, 0x1b, 0x69, 0xe2, 0xb3, 0x6e, 0xe3, 0x92, 0x04, 0x29, 0xb9, 0x08, 0xf5, 0xcb, + 0xa3, 0xe3, 0xce, 0xb7, 0xbf, 0x97, 0xda, 0xe9, 0x79, 0x84, 0x4b, 0x8e, 0xce, 0xec, 0xc2, 0xf1, + 0x99, 0x5d, 0x38, 0x39, 0xb3, 0x0b, 0x87, 0x7d, 0x1b, 0x1d, 0xf5, 0x6d, 0x74, 0xdc, 0xb7, 0xd1, + 0x49, 0xdf, 0x46, 0x9f, 0xfa, 0x36, 0x7a, 0xff, 0xd9, 0x2e, 0xbc, 0x28, 0x0d, 0xfa, 0xfd, 0x15, + 0x00, 0x00, 0xff, 0xff, 0xd2, 0xc8, 0x8a, 0xc3, 0x77, 0x0b, 0x00, 0x00, } func (m *AntreaClusterNetworkPolicyStats) Marshal() (dAtA []byte, err error) { @@ -528,6 +622,105 @@ func (m *AntreaNetworkPolicyStatsList) MarshalToSizedBuffer(dAtA []byte) (int, e return len(dAtA) - i, nil } +func (m *MulticastGroupPodsMember) 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 *MulticastGroupPodsMember) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MulticastGroupPodsMember) 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 *MulticastGroupPodsMemberList) 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 *MulticastGroupPodsMemberList) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MulticastGroupPodsMemberList) 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 +811,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 +997,42 @@ func (m *AntreaNetworkPolicyStatsList) Size() (n int) { return n } +func (m *MulticastGroupPodsMember) 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 *MulticastGroupPodsMemberList) 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 +1063,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 +1173,39 @@ func (this *AntreaNetworkPolicyStatsList) String() string { }, "") return s } +func (this *MulticastGroupPodsMember) 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{`&MulticastGroupPodsMember{`, + `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 *MulticastGroupPodsMemberList) String() string { + if this == nil { + return "nil" + } + repeatedStringForItems := "[]MulticastGroupPodsMember{" + for _, f := range this.Items { + repeatedStringForItems += strings.Replace(strings.Replace(f.String(), "MulticastGroupPodsMember", "MulticastGroupPodsMember", 1), `&`, ``, 1) + "," + } + repeatedStringForItems += "}" + s := strings.Join([]string{`&MulticastGroupPodsMemberList{`, + `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 +1233,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 +1809,7 @@ func (m *AntreaNetworkPolicyStatsList) Unmarshal(dAtA []byte) error { } return nil } -func (m *NetworkPolicyStats) Unmarshal(dAtA []byte) error { +func (m *MulticastGroupPodsMember) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -1513,10 +1832,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: MulticastGroupPodsMember: 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: MulticastGroupPodsMember: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -1554,9 +1873,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 +1885,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 *MulticastGroupPodsMemberList) 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: MulticastGroupPodsMemberList: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MulticastGroupPodsMemberList: 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, MulticastGroupPodsMember{}) + 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 +2308,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..4d90d564b95 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; } +// MulticastGroupPodsMember contains the mapping between Multicast Group and Pods. +message MulticastGroupPodsMember { + 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; +} + +// MulticastGroupPodsMemberList is a list of MulticastGroupPodsMember. +message MulticastGroupPodsMemberList { + optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; + + // List of MulticastGroupPodsMember. + repeated MulticastGroupPodsMember 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..685ea3d94cf 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{}, + &MulticastGroupPodsMember{}, + &MulticastGroupPodsMemberList{}, ) metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil diff --git a/pkg/apis/stats/v1alpha1/types.go b/pkg/apis/stats/v1alpha1/types.go index 4189f56f8b7..ad635f2a758 100644 --- a/pkg/apis/stats/v1alpha1/types.go +++ b/pkg/apis/stats/v1alpha1/types.go @@ -85,6 +85,33 @@ type NetworkPolicyStats struct { TrafficStats TrafficStats `json:"trafficStats,omitempty" protobuf:"bytes,2,opt,name=trafficStats"` } +// +genclient +// +resourceName=multicastgrouppodsmembers +// +genclient:readonly +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// MulticastGroupPodsMember contains the mapping between Multicast Group and Pods. +type MulticastGroupPodsMember 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 + +// MulticastGroupPodsMemberList is a list of MulticastGroupPodsMember. +type MulticastGroupPodsMemberList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` + + // List of MulticastGroupPodsMember. + Items []MulticastGroupPodsMember `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 +123,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..f7a638a4ce4 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((*MulticastGroupPodsMember)(nil), (*stats.MulticastGroupPodsMember)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_v1alpha1_MulticastGroupPodsMember_To_stats_MulticastGroupPodsMember(a.(*MulticastGroupPodsMember), b.(*stats.MulticastGroupPodsMember), scope) + }); err != nil { + return err + } + if err := s.AddGeneratedConversionFunc((*stats.MulticastGroupPodsMember)(nil), (*MulticastGroupPodsMember)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_stats_MulticastGroupPodsMember_To_v1alpha1_MulticastGroupPodsMember(a.(*stats.MulticastGroupPodsMember), b.(*MulticastGroupPodsMember), scope) + }); err != nil { + return err + } + if err := s.AddGeneratedConversionFunc((*MulticastGroupPodsMemberList)(nil), (*stats.MulticastGroupPodsMemberList)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_v1alpha1_MulticastGroupPodsMemberList_To_stats_MulticastGroupPodsMemberList(a.(*MulticastGroupPodsMemberList), b.(*stats.MulticastGroupPodsMemberList), scope) + }); err != nil { + return err + } + if err := s.AddGeneratedConversionFunc((*stats.MulticastGroupPodsMemberList)(nil), (*MulticastGroupPodsMemberList)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_stats_MulticastGroupPodsMemberList_To_v1alpha1_MulticastGroupPodsMemberList(a.(*stats.MulticastGroupPodsMemberList), b.(*MulticastGroupPodsMemberList), 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_MulticastGroupPodsMember_To_stats_MulticastGroupPodsMember(in *MulticastGroupPodsMember, out *stats.MulticastGroupPodsMember, s conversion.Scope) error { + out.ObjectMeta = in.ObjectMeta + out.Group = in.Group + out.Pods = *(*[]stats.PodReference)(unsafe.Pointer(&in.Pods)) + return nil +} + +// Convert_v1alpha1_MulticastGroupPodsMember_To_stats_MulticastGroupPodsMember is an autogenerated conversion function. +func Convert_v1alpha1_MulticastGroupPodsMember_To_stats_MulticastGroupPodsMember(in *MulticastGroupPodsMember, out *stats.MulticastGroupPodsMember, s conversion.Scope) error { + return autoConvert_v1alpha1_MulticastGroupPodsMember_To_stats_MulticastGroupPodsMember(in, out, s) +} + +func autoConvert_stats_MulticastGroupPodsMember_To_v1alpha1_MulticastGroupPodsMember(in *stats.MulticastGroupPodsMember, out *MulticastGroupPodsMember, s conversion.Scope) error { + out.ObjectMeta = in.ObjectMeta + out.Group = in.Group + out.Pods = *(*[]PodReference)(unsafe.Pointer(&in.Pods)) + return nil +} + +// Convert_stats_MulticastGroupPodsMember_To_v1alpha1_MulticastGroupPodsMember is an autogenerated conversion function. +func Convert_stats_MulticastGroupPodsMember_To_v1alpha1_MulticastGroupPodsMember(in *stats.MulticastGroupPodsMember, out *MulticastGroupPodsMember, s conversion.Scope) error { + return autoConvert_stats_MulticastGroupPodsMember_To_v1alpha1_MulticastGroupPodsMember(in, out, s) +} + +func autoConvert_v1alpha1_MulticastGroupPodsMemberList_To_stats_MulticastGroupPodsMemberList(in *MulticastGroupPodsMemberList, out *stats.MulticastGroupPodsMemberList, s conversion.Scope) error { + out.ListMeta = in.ListMeta + out.Items = *(*[]stats.MulticastGroupPodsMember)(unsafe.Pointer(&in.Items)) + return nil +} + +// Convert_v1alpha1_MulticastGroupPodsMemberList_To_stats_MulticastGroupPodsMemberList is an autogenerated conversion function. +func Convert_v1alpha1_MulticastGroupPodsMemberList_To_stats_MulticastGroupPodsMemberList(in *MulticastGroupPodsMemberList, out *stats.MulticastGroupPodsMemberList, s conversion.Scope) error { + return autoConvert_v1alpha1_MulticastGroupPodsMemberList_To_stats_MulticastGroupPodsMemberList(in, out, s) +} + +func autoConvert_stats_MulticastGroupPodsMemberList_To_v1alpha1_MulticastGroupPodsMemberList(in *stats.MulticastGroupPodsMemberList, out *MulticastGroupPodsMemberList, s conversion.Scope) error { + out.ListMeta = in.ListMeta + out.Items = *(*[]MulticastGroupPodsMember)(unsafe.Pointer(&in.Items)) + return nil +} + +// Convert_stats_MulticastGroupPodsMemberList_To_v1alpha1_MulticastGroupPodsMemberList is an autogenerated conversion function. +func Convert_stats_MulticastGroupPodsMemberList_To_v1alpha1_MulticastGroupPodsMemberList(in *stats.MulticastGroupPodsMemberList, out *MulticastGroupPodsMemberList, s conversion.Scope) error { + return autoConvert_stats_MulticastGroupPodsMemberList_To_v1alpha1_MulticastGroupPodsMemberList(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..33bc8eb3d58 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 *MulticastGroupPodsMember) DeepCopyInto(out *MulticastGroupPodsMember) { + *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 MulticastGroupPodsMember. +func (in *MulticastGroupPodsMember) DeepCopy() *MulticastGroupPodsMember { + if in == nil { + return nil + } + out := new(MulticastGroupPodsMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MulticastGroupPodsMember) 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 *MulticastGroupPodsMemberList) DeepCopyInto(out *MulticastGroupPodsMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]MulticastGroupPodsMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MulticastGroupPodsMemberList. +func (in *MulticastGroupPodsMemberList) DeepCopy() *MulticastGroupPodsMemberList { + if in == nil { + return nil + } + out := new(MulticastGroupPodsMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MulticastGroupPodsMemberList) 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..45b46914063 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 *MulticastGroupPodsMember) DeepCopyInto(out *MulticastGroupPodsMember) { + *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 MulticastGroupPodsMember. +func (in *MulticastGroupPodsMember) DeepCopy() *MulticastGroupPodsMember { + if in == nil { + return nil + } + out := new(MulticastGroupPodsMember) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MulticastGroupPodsMember) 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 *MulticastGroupPodsMemberList) DeepCopyInto(out *MulticastGroupPodsMemberList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]MulticastGroupPodsMember, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MulticastGroupPodsMemberList. +func (in *MulticastGroupPodsMemberList) DeepCopy() *MulticastGroupPodsMemberList { + if in == nil { + return nil + } + out := new(MulticastGroupPodsMemberList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MulticastGroupPodsMemberList) 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 96844d0c14a..f73fce5a0e0 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), @@ -71,8 +72,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.MulticastGroupPodsMember": schema_pkg_apis_stats_v1alpha1_MulticastGroupPodsMember(ref), + "antrea.io/antrea/pkg/apis/stats/v1alpha1.MulticastGroupPodsMemberList": schema_pkg_apis_stats_v1alpha1_MulticastGroupPodsMemberList(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), @@ -1095,6 +1099,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 information for 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{ @@ -1658,11 +1696,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"}, } } @@ -2441,6 +2493,113 @@ func schema_pkg_apis_stats_v1alpha1_AntreaNetworkPolicyStatsList(ref common.Refe } } +func schema_pkg_apis_stats_v1alpha1_MulticastGroupPodsMember(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "MulticastGroupPodsMember 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_MulticastGroupPodsMemberList(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "MulticastGroupPodsMemberList is a list of MulticastGroupPodsMember.", + 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.MulticastGroupPodsMember"), + }, + }, + }, + }, + }, + }, + Required: []string{"items"}, + }, + }, + Dependencies: []string{ + "antrea.io/antrea/pkg/apis/stats/v1alpha1.MulticastGroupPodsMember", "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{ @@ -2533,6 +2692,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_multicastgrouppodsmember.go b/pkg/client/clientset/versioned/typed/stats/v1alpha1/fake/fake_multicastgrouppodsmember.go new file mode 100644 index 00000000000..da73872be35 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/stats/v1alpha1/fake/fake_multicastgrouppodsmember.go @@ -0,0 +1,78 @@ +// 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" +) + +// FakeMulticastGroupPodsMembers implements MulticastGroupPodsMemberInterface +type FakeMulticastGroupPodsMembers struct { + Fake *FakeStatsV1alpha1 + ns string +} + +var multicastgrouppodsmembersResource = schema.GroupVersionResource{Group: "stats.antrea.io", Version: "v1alpha1", Resource: "multicastgrouppodsmembers"} + +var multicastgrouppodsmembersKind = schema.GroupVersionKind{Group: "stats.antrea.io", Version: "v1alpha1", Kind: "MulticastGroupPodsMember"} + +// Get takes name of the multicastGroupPodsMember, and returns the corresponding multicastGroupPodsMember object, and an error if there is any. +func (c *FakeMulticastGroupPodsMembers) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1alpha1.MulticastGroupPodsMember, err error) { + obj, err := c.Fake. + Invokes(testing.NewGetAction(multicastgrouppodsmembersResource, c.ns, name), &v1alpha1.MulticastGroupPodsMember{}) + + if obj == nil { + return nil, err + } + return obj.(*v1alpha1.MulticastGroupPodsMember), err +} + +// List takes label and field selectors, and returns the list of MulticastGroupPodsMembers that match those selectors. +func (c *FakeMulticastGroupPodsMembers) List(ctx context.Context, opts v1.ListOptions) (result *v1alpha1.MulticastGroupPodsMemberList, err error) { + obj, err := c.Fake. + Invokes(testing.NewListAction(multicastgrouppodsmembersResource, multicastgrouppodsmembersKind, c.ns, opts), &v1alpha1.MulticastGroupPodsMemberList{}) + + if obj == nil { + return nil, err + } + + label, _, _ := testing.ExtractFromListOptions(opts) + if label == nil { + label = labels.Everything() + } + list := &v1alpha1.MulticastGroupPodsMemberList{ListMeta: obj.(*v1alpha1.MulticastGroupPodsMemberList).ListMeta} + for _, item := range obj.(*v1alpha1.MulticastGroupPodsMemberList).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 multicastGroupPodsMembers. +func (c *FakeMulticastGroupPodsMembers) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) { + return c.Fake. + InvokesWatch(testing.NewWatchAction(multicastgrouppodsmembersResource, c.ns, 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..730d813e68c 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) MulticastGroupPodsMembers(namespace string) v1alpha1.MulticastGroupPodsMemberInterface { + return &FakeMulticastGroupPodsMembers{c, namespace} +} + 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..88800bcb2d0 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 MulticastGroupPodsMemberExpansion interface{} + type NetworkPolicyStatsExpansion interface{} diff --git a/pkg/client/clientset/versioned/typed/stats/v1alpha1/multicastgrouppodsmember.go b/pkg/client/clientset/versioned/typed/stats/v1alpha1/multicastgrouppodsmember.go new file mode 100644 index 00000000000..ae51ab1ce72 --- /dev/null +++ b/pkg/client/clientset/versioned/typed/stats/v1alpha1/multicastgrouppodsmember.go @@ -0,0 +1,101 @@ +// 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" +) + +// MulticastGroupPodsMembersGetter has a method to return a MulticastGroupPodsMemberInterface. +// A group's client should implement this interface. +type MulticastGroupPodsMembersGetter interface { + MulticastGroupPodsMembers(namespace string) MulticastGroupPodsMemberInterface +} + +// MulticastGroupPodsMemberInterface has methods to work with MulticastGroupPodsMember resources. +type MulticastGroupPodsMemberInterface interface { + Get(ctx context.Context, name string, opts v1.GetOptions) (*v1alpha1.MulticastGroupPodsMember, error) + List(ctx context.Context, opts v1.ListOptions) (*v1alpha1.MulticastGroupPodsMemberList, error) + Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) + MulticastGroupPodsMemberExpansion +} + +// multicastGroupPodsMembers implements MulticastGroupPodsMemberInterface +type multicastGroupPodsMembers struct { + client rest.Interface + ns string +} + +// newMulticastGroupPodsMembers returns a MulticastGroupPodsMembers +func newMulticastGroupPodsMembers(c *StatsV1alpha1Client, namespace string) *multicastGroupPodsMembers { + return &multicastGroupPodsMembers{ + client: c.RESTClient(), + ns: namespace, + } +} + +// Get takes name of the multicastGroupPodsMember, and returns the corresponding multicastGroupPodsMember object, and an error if there is any. +func (c *multicastGroupPodsMembers) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1alpha1.MulticastGroupPodsMember, err error) { + result = &v1alpha1.MulticastGroupPodsMember{} + err = c.client.Get(). + Namespace(c.ns). + Resource("multicastgrouppodsmembers"). + Name(name). + VersionedParams(&options, scheme.ParameterCodec). + Do(ctx). + Into(result) + return +} + +// List takes label and field selectors, and returns the list of MulticastGroupPodsMembers that match those selectors. +func (c *multicastGroupPodsMembers) List(ctx context.Context, opts v1.ListOptions) (result *v1alpha1.MulticastGroupPodsMemberList, err error) { + var timeout time.Duration + if opts.TimeoutSeconds != nil { + timeout = time.Duration(*opts.TimeoutSeconds) * time.Second + } + result = &v1alpha1.MulticastGroupPodsMemberList{} + err = c.client.Get(). + Namespace(c.ns). + Resource("multicastgrouppodsmembers"). + VersionedParams(&opts, scheme.ParameterCodec). + Timeout(timeout). + Do(ctx). + Into(result) + return +} + +// Watch returns a watch.Interface that watches the requested multicastGroupPodsMembers. +func (c *multicastGroupPodsMembers) 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(). + Namespace(c.ns). + Resource("multicastgrouppodsmembers"). + 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..b3fbfdbc138 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 + MulticastGroupPodsMembersGetter NetworkPolicyStatsGetter } @@ -42,6 +43,10 @@ func (c *StatsV1alpha1Client) AntreaNetworkPolicyStats(namespace string) AntreaN return newAntreaNetworkPolicyStats(c, namespace) } +func (c *StatsV1alpha1Client) MulticastGroupPodsMembers(namespace string) MulticastGroupPodsMemberInterface { + return newMulticastGroupPodsMembers(c, namespace) +} + func (c *StatsV1alpha1Client) NetworkPolicyStats(namespace string) NetworkPolicyStatsInterface { return newNetworkPolicyStats(c, namespace) }