AustinC
AustinC

Reputation: 826

Enabling ENA for AWS on Ubuntu

I have an old Ubuntu EC2 instance I'm trying to upgrade to a C5 type, so it needs ENA support (currently it's a C4).

So I followed the instructions for Ubuntu here: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html#enhanced-networking-ena-ubuntu

This successfully installs the ENA driver:

    filename:       /lib/modules/4.4.0-1044-aws/kernel/drivers/net/ethernet/amazon/ena/ena.ko
version:        2.0.3K
license:        GPL
description:    Elastic Network Adapter (ENA)
author:         Amazon.com, Inc. or its affiliates
srcversion:     E19C939F9F1A3B8E900815D
alias:          pci:v00001D0Fd0000EC21sv*sd*bc*sc*i*
alias:          pci:v00001D0Fd0000EC20sv*sd*bc*sc*i*
alias:          pci:v00001D0Fd00001EC2sv*sd*bc*sc*i*
alias:          pci:v00001D0Fd00000EC2sv*sd*bc*sc*i*
depends:        
retpoline:      Y
intree:         Y
vermagic:       4.4.0-1044-aws SMP mod_unload modversions 
parm:           debug:Debug level (0=none,...,16=all) (int)

On the other hand, it continues to show that a different network interface is being used:

    userid@ip:~$ ethtool -i eth0
driver: ixgbevf
version: 2.12.1-k
firmware-version: 
bus-info: 0000:00:03.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no

And C5 instances will boot, but cannot be connected to (I get a connection refused error).

I'm not sure where to go from here. Both the instance and AMIs I make from the instance show true when I check their EnaSupport attribute. I found this answer on SO already but it doesn't seem to apply to my situation: How to load the ena driver on Amazon AWS?

Edit: grep ena doesn't return anything. I have tried the Ubuntu instructions both just using apt-get and the DKMS instructions. Both end up using the ixgbevf driver.

Upvotes: 4

Views: 3447

Answers (2)

AustinC
AustinC

Reputation: 826

Turns out you need more than the ENA driver to be ready for C5 instances. I finally found this AWS knowledge center article: https://aws.amazon.com/premiumsupport/knowledge-center/boot-error-linux-m5-c5/

My issue was #4 here. A script is provided by Amazon that will check your system to make sure it is ready for upgrade to C5/M5 and will help you resolve those problems.

Upvotes: 3

Elad
Elad

Reputation: 971

Check if ena is installed by:

 modinfo ena

or

lsmod | grep ena

You should check if the instance attribute has support of ENA:

aws ec2 describe-instances --instance-ids <INSTANCE_ID> --query "Reservations[].Instances[].EnaSupport"

Now check your network interface for ena driver:

ethtool -i eth0

A correct one should return - driver: ena

Steps to modify your network interface:

  1. sudo apt-get update && sudo apt-get upgrade -y linux-aws
  2. Stop the instance: aws ec2 stop-instances --instance-ids <INSTANCE_ID>
  3. Modify network: aws ec2 modify-instance-attribute --instance-id <INSTANCE_ID> --ena-support
  4. Start the instance: aws ec2 start-instances --instance-ids <INSTANCE_ID>

Upvotes: 2

Related Questions