diff --git a/pkg/ipamd/datastore/data_store.go b/pkg/ipamd/datastore/data_store.go index ee4c5d1e9e..09ce713777 100644 --- a/pkg/ipamd/datastore/data_store.go +++ b/pkg/ipamd/datastore/data_store.go @@ -978,8 +978,8 @@ func (ds *DataStore) GetENINeedsIP(maxIPperENI int, skipPrimary bool) *ENI { ds.lock.Lock() defer ds.lock.Unlock() for _, eni := range ds.eniPool { - if skipPrimary && eni.IsPrimary { - ds.log.Debugf("Skip the primary ENI for need IP check") + if (skipPrimary && eni.IsPrimary) || eni.IsTrunk || eni.IsEFA { + ds.log.Debugf("Skip needs IP check for primary ENI, trunk ENI, or EFA ENIs") continue } if len(eni.AvailableIPv4Cidrs) < maxIPperENI {