diff --git a/ci/kind/test-e2e-kind.sh b/ci/kind/test-e2e-kind.sh index 2dc362c64f8..f2df1d8398d 100755 --- a/ci/kind/test-e2e-kind.sh +++ b/ci/kind/test-e2e-kind.sh @@ -103,7 +103,7 @@ else manifest_args="$manifest_args --no-np" fi -COMMON_IMAGES_LIST=("gcr.io/kubernetes-e2e-test-images/agnhost:2.8" "projects.registry.vmware.com/library/busybox" "projects.registry.vmware.com/antrea/nginx" "projects.registry.vmware.com/antrea/perftool" "projects.registry.vmware.com/antrea/ipfix-collector:v0.5.3") +COMMON_IMAGES_LIST=("gcr.io/kubernetes-e2e-test-images/agnhost:2.8" "projects.registry.vmware.com/library/busybox" "projects.registry.vmware.com/antrea/nginx" "projects.registry.vmware.com/antrea/perftool" "projects.registry.vmware.com/antrea/ipfix-collector:v0.5.4") for image in "${COMMON_IMAGES_LIST[@]}"; do for i in `seq 3`; do docker pull $image && break diff --git a/go.mod b/go.mod index 6c6b1d438ca..bc3dc8e7eab 100644 --- a/go.mod +++ b/go.mod @@ -42,7 +42,7 @@ require ( github.com/stretchr/testify v1.6.1 github.com/ti-mo/conntrack v0.3.0 github.com/vishvananda/netlink v1.1.0 - github.com/vmware/go-ipfix v0.5.3 + github.com/vmware/go-ipfix v0.5.4 golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83 golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6 golang.org/x/mod v0.4.0 diff --git a/go.sum b/go.sum index b9472712de5..74805da73a6 100644 --- a/go.sum +++ b/go.sum @@ -613,8 +613,8 @@ github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYp github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI= github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df h1:OviZH7qLw/7ZovXvuNyL3XQl8UFofeikI1NW1Gypu7k= github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= -github.com/vmware/go-ipfix v0.5.3 h1:ZJTn5vQd6W0WWt05gm+nNFjjgbgVfUkvywdxKmWj4uM= -github.com/vmware/go-ipfix v0.5.3/go.mod h1:SF6BrZTPvoVdzgmjJvshoegBVbicn4xWlkoCNADab6E= +github.com/vmware/go-ipfix v0.5.4 h1:n7TssKO8D4E3qpFmO6eDs7yU9Mr4fSbLFC+GstPU8kw= +github.com/vmware/go-ipfix v0.5.4/go.mod h1:yzbG1rv+yJ8GeMrRm+MDhOV3akygNZUHLhC1pDoD2AY= github.com/wenyingd/ofnet v0.0.0-20210526054554-3e71e19fd0cf h1:EEGpnM6W07pq2nKdqk+lig1Qit5f8eUe+Vt1ditTLgk= github.com/wenyingd/ofnet v0.0.0-20210526054554-3e71e19fd0cf/go.mod h1:tZiqxY3POhek8GrqcmU+5bvVzDwY1zZ7Wh9+zwaoV3s= github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I= @@ -922,8 +922,8 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/pkg/flowaggregator/flowaggregator.go b/pkg/flowaggregator/flowaggregator.go index 298b7530e94..251e3a35f1b 100644 --- a/pkg/flowaggregator/flowaggregator.go +++ b/pkg/flowaggregator/flowaggregator.go @@ -77,13 +77,8 @@ var ( "tcpState", "flowType", } - antreaInfoElementsIPv4 = append(antreaInfoElementsCommon, []string{"destinationClusterIPv4"}...) - antreaInfoElementsIPv6 = append(antreaInfoElementsCommon, []string{"destinationClusterIPv6"}...) - aggregatorElementsCommon = []string{ - "originalObservationDomainId", - } - aggregatorElementsIPv4 = append([]string{"originalExporterIPv4Address"}, aggregatorElementsCommon...) - aggregatorElementsIPv6 = append([]string{"originalExporterIPv6Address"}, aggregatorElementsCommon...) + antreaInfoElementsIPv4 = append(antreaInfoElementsCommon, []string{"destinationClusterIPv4"}...) + antreaInfoElementsIPv6 = append(antreaInfoElementsCommon, []string{"destinationClusterIPv6"}...) nonStatsElementList = []string{ "flowEndSeconds", @@ -182,10 +177,8 @@ type flowAggregator struct { activeFlowRecordTimeout time.Duration inactiveFlowRecordTimeout time.Duration exportingProcess ipfix.IPFIXExportingProcess - templateIDv4Expv4 uint16 - templateIDv4Expv6 uint16 - templateIDv6Expv4 uint16 - templateIDv6Expv6 uint16 + templateIDv4 uint16 + templateIDv6 uint16 registry ipfix.IPFIXRegistry set ipfixentities.Set flowAggregatorAddress string @@ -305,31 +298,6 @@ func (fa *flowAggregator) InitAggregationProcess() error { return err } -func (fa *flowAggregator) createAndSendTemplate(isRecordIPv6, isOriginExporterIPv6 bool) (uint16, error) { - templateID := fa.exportingProcess.NewTemplateID() - // If Pod IPs (source and destination IP) in the flow record belong to IPv4 Family and - // original exporter IP belongs to IPv6 family, we will send template with ID templateIDv4Expv6, - // which has sourceIPv4Address, destinationIPv4Address and originalExporterIPv6Address. - // Same applies to other combinations. - recordIPFamily := "IPv4" - exporterIPFamily := "IPv4" - if isRecordIPv6 { - recordIPFamily = "IPv6" - } - if isOriginExporterIPv6 { - exporterIPFamily = "IPv6" - } - bytesSent, err := fa.sendTemplateSet(isRecordIPv6, isOriginExporterIPv6) - if err != nil { - fa.exportingProcess.CloseConnToCollector() - fa.exportingProcess = nil - fa.set.ResetSet() - return 0, fmt.Errorf("sending %s template set with %s original exporter ip failed, err: %v", recordIPFamily, exporterIPFamily, err) - } - klog.V(2).InfoS("Exporting process initialized", "bytesSent", bytesSent, "templateSetIPFamily", recordIPFamily, "originalExporterIPFamily", exporterIPFamily) - return templateID, nil -} - func (fa *flowAggregator) initExportingProcess() error { // TODO: This code can be further simplified by changing the go-ipfix API to accept // externalFlowCollectorAddr and externalFlowCollectorProto instead of net.Addr input. @@ -360,20 +328,28 @@ func (fa *flowAggregator) initExportingProcess() error { return fmt.Errorf("got error when initializing IPFIX exporting process: %v", err) } fa.exportingProcess = ep - // Currently, we send 4 templates for covering all the cases in dual-stack clusters, where Pod IPs - // and original exporter IP could belong to different IP families. - if fa.templateIDv4Expv4, err = fa.createAndSendTemplate(false, false); err != nil { - return err - } - if fa.templateIDv4Expv6, err = fa.createAndSendTemplate(false, true); err != nil { - return err - } - if fa.templateIDv6Expv4, err = fa.createAndSendTemplate(true, false); err != nil { - return err + // Currently, we send two templates for IPv4 and IPv6 regardless of the IP families supported by cluster + fa.templateIDv4 = fa.exportingProcess.NewTemplateID() + bytesSent, err := fa.sendTemplateSet(false) + if err != nil { + fa.exportingProcess.CloseConnToCollector() + fa.exportingProcess = nil + fa.templateIDv4 = 0 + fa.set.ResetSet() + return fmt.Errorf("sending IPv4 template set failed, err: %v", err) } - if fa.templateIDv6Expv6, err = fa.createAndSendTemplate(true, true); err != nil { - return err + klog.V(2).InfoS("Exporting process initialized", "bytesSent", bytesSent, "templateIPFamily", "IPv4") + + fa.templateIDv6 = fa.exportingProcess.NewTemplateID() + bytesSent, err = fa.sendTemplateSet(true) + if err != nil { + fa.exportingProcess.CloseConnToCollector() + fa.exportingProcess = nil + fa.templateIDv6 = 0 + fa.set.ResetSet() + return fmt.Errorf("sending IPv6 template set failed, err: %v", err) } + klog.V(2).InfoS("Exporting process initialized", "bytesSent", bytesSent, "templateIPFamily", "IPv6") return nil } @@ -427,20 +403,9 @@ func (fa *flowAggregator) flowRecordExpiryCheck(stopCh <-chan struct{}) { func (fa *flowAggregator) sendFlowKeyRecord(key ipfixintermediate.FlowKey, record *ipfixintermediate.AggregationFlowRecord) error { isRecordIPv4 := fa.aggregationProcess.IsAggregatedRecordIPv4(*record) - isOriginExporterIPv4 := fa.aggregationProcess.IsExporterOfAggregatedRecordIPv4(*record) - var templateID uint16 - if isRecordIPv4 { - if isOriginExporterIPv4 { - templateID = fa.templateIDv4Expv4 - } else { - templateID = fa.templateIDv4Expv6 - } - } else { - if isOriginExporterIPv4 { - templateID = fa.templateIDv6Expv4 - } else { - templateID = fa.templateIDv6Expv6 - } + templateID := fa.templateIDv4 + if !isRecordIPv4 { + templateID = fa.templateIDv6 } // TODO: more records per data set will be supported when go-ipfix supports size check when adding records fa.set.ResetSet() @@ -471,25 +436,15 @@ func (fa *flowAggregator) sendFlowKeyRecord(key ipfixintermediate.FlowKey, recor return nil } -func (fa *flowAggregator) sendTemplateSet(isFlowKeyIPv6 bool, isOriginalExporterIPv6 bool) (int, error) { +func (fa *flowAggregator) sendTemplateSet(isIPv6 bool) (int, error) { elements := make([]*ipfixentities.InfoElementWithValue, 0) ianaInfoElements := ianaInfoElementsIPv4 antreaInfoElements := antreaInfoElementsIPv4 - aggregatorElements := aggregatorElementsIPv4 - templateID := fa.templateIDv4Expv4 - if isOriginalExporterIPv6 { - aggregatorElements = aggregatorElementsIPv6 - templateID = fa.templateIDv4Expv6 - } - if isFlowKeyIPv6 { + templateID := fa.templateIDv4 + if isIPv6 { ianaInfoElements = ianaInfoElementsIPv6 antreaInfoElements = antreaInfoElementsIPv6 - if isOriginalExporterIPv6 { - aggregatorElements = aggregatorElementsIPv6 - templateID = fa.templateIDv6Expv6 - } else { - templateID = fa.templateIDv6Expv4 - } + templateID = fa.templateIDv6 } for _, ie := range ianaInfoElements { element, err := fa.registry.GetInfoElement(ie, ipfixregistry.IANAEnterpriseID) @@ -515,14 +470,6 @@ func (fa *flowAggregator) sendTemplateSet(isFlowKeyIPv6 bool, isOriginalExporter ie := ipfixentities.NewInfoElementWithValue(element, nil) elements = append(elements, ie) } - for _, ie := range aggregatorElements { - element, err := fa.registry.GetInfoElement(ie, ipfixregistry.IANAEnterpriseID) - if err != nil { - return 0, fmt.Errorf("%s not present. returned error: %v", ie, err) - } - ie := ipfixentities.NewInfoElementWithValue(element, nil) - elements = append(elements, ie) - } for _, ie := range antreaSourceStatsElementList { element, err := fa.registry.GetInfoElement(ie, ipfixregistry.AntreaEnterpriseID) if err != nil { diff --git a/pkg/flowaggregator/flowaggregator_test.go b/pkg/flowaggregator/flowaggregator_test.go index a7adc67ccbb..f665e1f9af2 100644 --- a/pkg/flowaggregator/flowaggregator_test.go +++ b/pkg/flowaggregator/flowaggregator_test.go @@ -32,10 +32,8 @@ import ( ) const ( - testTemplateIDv4Expv4 = uint16(256) - testTemplateIDv4Expv6 = uint16(257) - testTemplateIDv6Expv4 = uint16(258) - testTemplateIDv6Expv6 = uint16(259) + testTemplateIDv4 = uint16(256) + testTemplateIDv6 = uint16(257) testActiveTimeout = 60 * time.Second testInactiveTimeout = 180 * time.Second testObservationDomainID = 0xabcd @@ -63,10 +61,8 @@ func TestFlowAggregator_sendFlowKeyRecord(t *testing.T) { activeFlowRecordTimeout: testActiveTimeout, inactiveFlowRecordTimeout: testInactiveTimeout, exportingProcess: mockIPFIXExpProc, - templateIDv4Expv4: testTemplateIDv4Expv4, - templateIDv4Expv6: testTemplateIDv4Expv6, - templateIDv6Expv4: testTemplateIDv6Expv4, - templateIDv6Expv6: testTemplateIDv6Expv6, + templateIDv4: testTemplateIDv4, + templateIDv6: testTemplateIDv6, registry: mockIPFIXRegistry, set: mockDataSet, flowAggregatorAddress: "", @@ -115,9 +111,9 @@ func TestFlowAggregator_sendFlowKeyRecord(t *testing.T) { } for _, tc := range testcases { - templateID := fa.templateIDv4Expv4 + templateID := fa.templateIDv4 if tc.isIPv6 { - templateID = fa.templateIDv6Expv6 + templateID = fa.templateIDv6 } mockDataSet.EXPECT().ResetSet() mockDataSet.EXPECT().PrepareSet(ipfixentities.Data, templateID).Return(nil) @@ -140,7 +136,6 @@ func TestFlowAggregator_sendFlowKeyRecord(t *testing.T) { destinationPodLabelsIE := ipfixentities.NewInfoElementWithValue(destinationPodLabelsElement, bytes.NewBufferString("").Bytes()) mockRecord.EXPECT().AddInfoElement(destinationPodLabelsIE).Return(nil) mockAggregationProcess.EXPECT().SetExternalFieldsFilled(tc.flowRecord) - mockAggregationProcess.EXPECT().IsExporterOfAggregatedRecordIPv4(*tc.flowRecord).Return(!tc.isIPv6) mockAggregationProcess.EXPECT().IsAggregatedRecordIPv4(*tc.flowRecord).Return(!tc.isIPv6) err := fa.sendFlowKeyRecord(tc.flowKey, tc.flowRecord) @@ -164,10 +159,8 @@ func TestFlowAggregator_sendTemplateSet(t *testing.T) { aggregationProcess: nil, activeFlowRecordTimeout: testActiveTimeout, exportingProcess: mockIPFIXExpProc, - templateIDv4Expv4: testTemplateIDv4Expv4, - templateIDv4Expv6: testTemplateIDv4Expv6, - templateIDv6Expv4: testTemplateIDv6Expv4, - templateIDv6Expv6: testTemplateIDv6Expv6, + templateIDv4: testTemplateIDv4, + templateIDv6: testTemplateIDv6, registry: mockIPFIXRegistry, set: mockTempSet, flowAggregatorAddress: "", @@ -178,13 +171,11 @@ func TestFlowAggregator_sendTemplateSet(t *testing.T) { for _, isIPv6 := range []bool{false, true} { ianaInfoElements := ianaInfoElementsIPv4 antreaInfoElements := antreaInfoElementsIPv4 - aggregatorElements := aggregatorElementsIPv4 - testTemplateID := fa.templateIDv4Expv4 + testTemplateID := fa.templateIDv4 if isIPv6 { ianaInfoElements = ianaInfoElementsIPv6 antreaInfoElements = antreaInfoElementsIPv6 - aggregatorElements = aggregatorElementsIPv6 - testTemplateID = fa.templateIDv6Expv6 + testTemplateID = fa.templateIDv6 } // Following consists of all elements that are in ianaInfoElements and antreaInfoElements (globals) // Only the element name is needed, other arguments have dummy values. @@ -201,21 +192,17 @@ func TestFlowAggregator_sendTemplateSet(t *testing.T) { elemList = append(elemList, ipfixentities.NewInfoElementWithValue(ipfixentities.NewInfoElement(ie, 0, 0, ipfixregistry.AntreaEnterpriseID, 0), nil)) mockIPFIXRegistry.EXPECT().GetInfoElement(ie, ipfixregistry.AntreaEnterpriseID).Return(elemList[i+len(ianaInfoElements)+len(ianaReverseInfoElements)].Element, nil) } - for i, ie := range aggregatorElements { - elemList = append(elemList, ipfixentities.NewInfoElementWithValue(ipfixentities.NewInfoElement(ie, 0, 0, ipfixregistry.IANAEnterpriseID, 0), nil)) - mockIPFIXRegistry.EXPECT().GetInfoElement(ie, ipfixregistry.IANAEnterpriseID).Return(elemList[i+len(ianaInfoElements)+len(ianaReverseInfoElements)+len(antreaInfoElements)].Element, nil) - } for i, ie := range antreaSourceStatsElementList { elemList = append(elemList, ipfixentities.NewInfoElementWithValue(ipfixentities.NewInfoElement(ie, 0, 0, ipfixregistry.AntreaEnterpriseID, 0), nil)) - mockIPFIXRegistry.EXPECT().GetInfoElement(ie, ipfixregistry.AntreaEnterpriseID).Return(elemList[i+len(ianaInfoElements)+len(ianaReverseInfoElements)+len(antreaInfoElements)+len(aggregatorElements)].Element, nil) + mockIPFIXRegistry.EXPECT().GetInfoElement(ie, ipfixregistry.AntreaEnterpriseID).Return(elemList[i+len(ianaInfoElements)+len(ianaReverseInfoElements)+len(antreaInfoElements)].Element, nil) } for i, ie := range antreaDestinationStatsElementList { elemList = append(elemList, ipfixentities.NewInfoElementWithValue(ipfixentities.NewInfoElement(ie, 0, 0, ipfixregistry.AntreaEnterpriseID, 0), nil)) - mockIPFIXRegistry.EXPECT().GetInfoElement(ie, ipfixregistry.AntreaEnterpriseID).Return(elemList[i+len(ianaInfoElements)+len(ianaReverseInfoElements)+len(antreaInfoElements)+len(aggregatorElements)+len(antreaSourceStatsElementList)].Element, nil) + mockIPFIXRegistry.EXPECT().GetInfoElement(ie, ipfixregistry.AntreaEnterpriseID).Return(elemList[i+len(ianaInfoElements)+len(ianaReverseInfoElements)+len(antreaInfoElements)+len(antreaSourceStatsElementList)].Element, nil) } for i, ie := range antreaLabelsElementList { elemList = append(elemList, ipfixentities.NewInfoElementWithValue(ipfixentities.NewInfoElement(ie, 0, 0, ipfixregistry.AntreaEnterpriseID, 0), nil)) - mockIPFIXRegistry.EXPECT().GetInfoElement(ie, ipfixregistry.AntreaEnterpriseID).Return(elemList[i+len(ianaInfoElements)+len(ianaReverseInfoElements)+len(antreaInfoElements)+len(aggregatorElements)+len(antreaSourceStatsElementList)+len(antreaDestinationStatsElementList)].Element, nil) + mockIPFIXRegistry.EXPECT().GetInfoElement(ie, ipfixregistry.AntreaEnterpriseID).Return(elemList[i+len(ianaInfoElements)+len(ianaReverseInfoElements)+len(antreaInfoElements)+len(antreaSourceStatsElementList)+len(antreaDestinationStatsElementList)].Element, nil) } mockTempSet.EXPECT().ResetSet() mockTempSet.EXPECT().PrepareSet(ipfixentities.Template, testTemplateID).Return(nil) @@ -224,7 +211,7 @@ func TestFlowAggregator_sendTemplateSet(t *testing.T) { // above elements: ianaInfoElements, ianaReverseInfoElements and antreaInfoElements. mockIPFIXExpProc.EXPECT().SendSet(mockTempSet).Return(0, nil) - _, err := fa.sendTemplateSet(isIPv6, isIPv6) + _, err := fa.sendTemplateSet(isIPv6) assert.NoErrorf(t, err, "Error in sending template record: %v, isIPv6: %v", err, isIPv6) } } diff --git a/pkg/ipfix/ipfix_intermediate.go b/pkg/ipfix/ipfix_intermediate.go index ac6fb9e4e7e..6bd02536090 100644 --- a/pkg/ipfix/ipfix_intermediate.go +++ b/pkg/ipfix/ipfix_intermediate.go @@ -34,7 +34,6 @@ type IPFIXAggregationProcess interface { SetCorrelatedFieldsFilled(record *ipfixintermediate.AggregationFlowRecord) AreCorrelatedFieldsFilled(record ipfixintermediate.AggregationFlowRecord) bool IsAggregatedRecordIPv4(record ipfixintermediate.AggregationFlowRecord) bool - IsExporterOfAggregatedRecordIPv4(record ipfixintermediate.AggregationFlowRecord) bool SetExternalFieldsFilled(record *ipfixintermediate.AggregationFlowRecord) AreExternalFieldsFilled(record ipfixintermediate.AggregationFlowRecord) bool } @@ -87,10 +86,6 @@ func (ap *ipfixAggregationProcess) IsAggregatedRecordIPv4(record ipfixintermedia return ap.AggregationProcess.IsAggregatedRecordIPv4(record) } -func (ap *ipfixAggregationProcess) IsExporterOfAggregatedRecordIPv4(record ipfixintermediate.AggregationFlowRecord) bool { - return ap.AggregationProcess.IsExporterOfAggregatedRecordIPv4(record) -} - func (ap *ipfixAggregationProcess) SetExternalFieldsFilled(record *ipfixintermediate.AggregationFlowRecord) { ap.AggregationProcess.SetExternalFieldsFilled(record, true) } diff --git a/pkg/ipfix/testing/mock_ipfix.go b/pkg/ipfix/testing/mock_ipfix.go index 945963905fd..56c4a18e456 100644 --- a/pkg/ipfix/testing/mock_ipfix.go +++ b/pkg/ipfix/testing/mock_ipfix.go @@ -295,20 +295,6 @@ func (mr *MockIPFIXAggregationProcessMockRecorder) IsAggregatedRecordIPv4(arg0 i return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsAggregatedRecordIPv4", reflect.TypeOf((*MockIPFIXAggregationProcess)(nil).IsAggregatedRecordIPv4), arg0) } -// IsExporterOfAggregatedRecordIPv4 mocks base method -func (m *MockIPFIXAggregationProcess) IsExporterOfAggregatedRecordIPv4(arg0 intermediate.AggregationFlowRecord) bool { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "IsExporterOfAggregatedRecordIPv4", arg0) - ret0, _ := ret[0].(bool) - return ret0 -} - -// IsExporterOfAggregatedRecordIPv4 indicates an expected call of IsExporterOfAggregatedRecordIPv4 -func (mr *MockIPFIXAggregationProcessMockRecorder) IsExporterOfAggregatedRecordIPv4(arg0 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsExporterOfAggregatedRecordIPv4", reflect.TypeOf((*MockIPFIXAggregationProcess)(nil).IsExporterOfAggregatedRecordIPv4), arg0) -} - // ResetStatElementsInRecord mocks base method func (m *MockIPFIXAggregationProcess) ResetStatElementsInRecord(arg0 entities.Record) error { m.ctrl.T.Helper() diff --git a/plugins/octant/go.sum b/plugins/octant/go.sum index 4c8ca2023d9..2791dc427ac 100644 --- a/plugins/octant/go.sum +++ b/plugins/octant/go.sum @@ -649,7 +649,7 @@ github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc/go.mod h1:ZjcWmF github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= github.com/vmware-tanzu/octant v0.17.0 h1:2H2AiQU5C1RiHxxYrrOosDHHI9eV51nP+e9PjRP+c48= github.com/vmware-tanzu/octant v0.17.0/go.mod h1:lA32xKa6icUclg+DjAX/E/Id1cTqwCXZUem3RGEp/2A= -github.com/vmware/go-ipfix v0.5.3/go.mod h1:SF6BrZTPvoVdzgmjJvshoegBVbicn4xWlkoCNADab6E= +github.com/vmware/go-ipfix v0.5.4/go.mod h1:yzbG1rv+yJ8GeMrRm+MDhOV3akygNZUHLhC1pDoD2AY= github.com/wenyingd/ofnet v0.0.0-20201109024835-6fd225d8c8d1/go.mod h1:8mMMWAYBNUeTGXYKizOLETfN3WIbu3P5DgvS2jiXKdI= github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I= github.com/xdg/stringprep v1.0.0/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= @@ -1026,8 +1026,8 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/test/e2e/framework.go b/test/e2e/framework.go index 29b419554ee..2ef09cbfe33 100644 --- a/test/e2e/framework.go +++ b/test/e2e/framework.go @@ -101,7 +101,7 @@ const ( busyboxImage = "projects.registry.vmware.com/library/busybox" nginxImage = "projects.registry.vmware.com/antrea/nginx" perftoolImage = "projects.registry.vmware.com/antrea/perftool" - ipfixCollectorImage = "projects.registry.vmware.com/antrea/ipfix-collector:v0.5.3" + ipfixCollectorImage = "projects.registry.vmware.com/antrea/ipfix-collector:v0.5.4" ipfixCollectorPort = "4739" nginxLBService = "nginx-loadbalancer"