Within the angle brackets there is a list of flags (= on/off type properties) of the interface. After the flags,
non-binary properties (also known as attributes) are listed.
There are two concepts you should be aware of:
- administrative state: the state you've commanded the network interface to be (i.e., active or not)
- operational state: the state the network interface is actually in
If you configure the network interface, its administrative state will be set to
UP immediately, but the operational state will change only after the physical interface is successfully powered up, the link pulse from the other end has been detected, autonegotiation has been completed (if applicable) and the interface and the driver are fully ready to pass traffic.
ip link output, the
UP flag describes the interface's administrative state. There are two related flags:
LOWER_UP that gets added when the card is physically ready for traffic, and
NO-CARRIER if there is no signal from the other end. These two flags would be considered parts of the operational state.
vboxnet0 interface has been commanded to be up (= active), but currently there are no virtual machines connected to this virtual interface, so the interface is flagged
NO-CARRIER and is therefore operationally down, at least until some virtual machine starts using it.
The actual kernel-level flags are called
IFF_UP for "interface administratively enabled" and
IFF_RUNNING for "interface operationally ready". The old
ifconfig command used to just show them directly (without the
IFF_ prefix), but the absence of
RUNNING was not easy to notice, so
ip link command now has this logic:
IF (IFF_UP is set) AND (IFF_RUNNING is not set)
THEN display an extra flag "NO-CARRIER" in the flags field
The kernel-level flags are described in the
netdevice(7) man page,
under "DESCRIPTION" → "Ioctls".