In Cisco IOS XR, interfaces are, by default, main interfaces. A main interface is also known as a trunk interface, which you
must not confuse with the word trunk in the context of VLAN trunking.
There are two types of trunk interfaces:
On the router, the system automatically creates the physical interfaces when the router recognizes a card and its physical
interfaces. However, the system does not automatically create bundle interfaces but you must create them at the time of cofiguration.
The following configuration samples are examples of the trunk interfaces that you can create:
A subinterface is a logical interface that the system create under a trunk interface.
To create a subinterface, you must first identify a trunk interface under which to place it. In case of bundle interfaces,
if a trunk interface does not exist, you must create a bundle interface before creating any subinterfaces under it.
You can then assign a subinterface number to the subinterface that you want to create. The subinterface number must be a positive
integer from zero to some high value. For a given trunk interface, each subinterface under it must have a unique value.
Subinterface numbers do not need to be contiguous or in numeric order. For example, the following subinterfaces numbers are
valid under one trunk interface:
1001, 0, 97, 96, 100000
Subinterfaces can never have the same subinterface number under one trunk.
In the following example, the card in slot 5 has trunk interface, HundredGigE 0/5/0/0. A subinterface, HundredGigE 0/5/0/0.0,
is created under it.
RP/0/RSP0/CPU0:router# conf
Mon Sep 21 11:12:11.722 EDT
RP/0/RSP0/CPU0:router(config)# interface HundredGigE0/5/0/0.0
RP/0/RSP0/CPU0:router(config-subif)# encapsulation dot1q 100
RP/0/RSP0/CPU0:router(config-subif)# commit
RP/0/RSP0/CPU0:Sep 21 11:12:34.819 : config[65794]: %MGBL-CONFIG-6-DB_COMMIT : Configuration committed by user 'root'. Use 'show configuration commit changes 1000000152' to view the changes.
RP/0/RSP0/CPU0:router(config-subif)# end
RP/0/RSP0/CPU0:Sep 21 11:12:35.633 : config[65794]: %MGBL-SYS-5-CONFIG_I : Configured from console by root
RP/0/RSP0/CPU0:router#
The show run command displays the trunk interface first, then the subinterfaces in ascending numerical order.
RP/0/RSP0/CPU0:router# show run | begin HundredGigE 0/5/0/0
Mon Sep 21 11:15:42.654 EDT
Building configuration...
interface HundredGigE 0/5/0/0
shutdown
!
interface HundredGigE 0/5/0/0.0
encapsulation dot1q 100
!
interface HundredGigE 0/5/0/1
shutdown
!
When a subinterface is first created, the router recognizes it as an interface that, with few exceptions, is interchangeable
with a trunk interface. After the new subinterface is configured further, the show interface command can display it along with its unique counters:
The following example shows the display output for the trunk interface, HundredGigE 0/5/0/0, followed by the display output
for the subinterface HundredGigE 0/5/0/0.0.
RP/0/RSP0/CPU0:router# show interface HundredGigE 0/5/0/0
Mon Sep 21 11:12:51.068 EDT
HundredGigE0/5/0/0 is administratively down, line protocol is administratively down.
Interface state transitions: 0
Hardware is HundredGigE, address is 0024.f71b.0ca8 (bia 0024.f71b.0ca8)
Internet address is Unknown
MTU 1514 bytes, BW 1000000 Kbit
reliability 255/255, txload 0/255, rxload 0/255
Encapsulation 802.1Q Virtual LAN,
Full-duplex, 1000Mb/s, SXFD, link type is force-up
output flow control is off, input flow control is off
loopback not set,
ARP type ARPA, ARP timeout 04:00:00
Last input never, output never
Last clearing of "show interface" counters never
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
0 packets input, 0 bytes, 0 total input drops
0 drops for unrecognized upper-level protocol
Received 0 broadcast packets, 0 multicast packets
0 runts, 0 giants, 0 throttles, 0 parity
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
0 packets output, 0 bytes, 0 total output drops
Output 0 broadcast packets, 0 multicast packets
0 output errors, 0 underruns, 0 applique, 0 resets
0 output buffer failures, 0 output buffers swapped out
0 carrier transitions
RP/0/RSP0/CPU0:router# show interface HundredGigE0/5/0/0.0
Mon Sep 21 11:12:55.657 EDT
HundredGigE0/5/0/0.0 is administratively down, line protocol is administratively down.
Interface state transitions: 0
Hardware is VLAN sub-interface(s), address is 0024.f71b.0ca8
Internet address is Unknown
MTU 1518 bytes, BW 1000000 Kbit
reliability 255/255, txload 0/255, rxload 0/255
Encapsulation 802.1Q Virtual LAN, VLAN Id 100, loopback not set,
ARP type ARPA, ARP timeout 04:00:00
Last input never, output never
Last clearing of "show interface" counters never
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
0 packets input, 0 bytes, 0 total input drops
0 drops for unrecognized upper-level protocol
Received 0 broadcast packets, 0 multicast packets
0 packets output, 0 bytes, 0 total output drops
Output 0 broadcast packets, 0 multicast packets
This example shows two interfaces being created at the same time: first, the bundle trunk interface, then a subinterface attached
to the trunk:
RP/0/RSP0/CPU0:router# conf
Mon Sep 21 10:57:31.736 EDT
RP/0/RSP0/CPU0:router(config)# interface Bundle-Ether1
RP/0/RSP0/CPU0:router(config-if)# no shut
RP/0/RSP0/CPU0:router(config-if)# interface bundle-Ether1.0
RP/0/RSP0/CPU0:router(config-subif)# encapsulation dot1q 100
RP/0/RSP0/CPU0:router(config-subif)# commit
RP/0/RSP0/CPU0:Sep 21 10:58:15.305 : config[65794]: %MGBL-CONFIG-6-DB_COMMIT : C
onfiguration committed by user 'root'. Use 'show configuration commit changes 10
00000149' to view the changes.
RP/0/RSP0/CPU0:router# show run | begin Bundle-Ether1
Mon Sep 21 10:59:31.317 EDT
Building configuration..
interface Bundle-Ether1
!
interface Bundle-Ether1.0
encapsulation dot1q 100
!
You delete a subinterface using the no interface command.
RP/0/RSP0/CPU0:router#
RP/0/RSP0/CPU0:router# show run | begin HundredGigE 0/5/0/0
Mon Sep 21 11:42:27.100 EDT
Building configuration...
interface HundredGigE 0/5/0/0
negotiation auto
!
interface HundredGigE 0/5/0/0.0
encapsulation dot1q 100
!
interface HundredGigE 0/5/0/1
shutdown
!
RP/0/RSP0/CPU0:router# conf
Mon Sep 21 11:42:32.374 EDT
RP/0/RSP0/CPU0:router(config)# no interface HundredGigE 0/5/0/0.0
RP/0/RSP0/CPU0:router(config)# commit
RP/0/RSP0/CPU0:Sep 21 11:42:47.237 : config[65794]: %MGBL-CONFIG-6-DB_COMMIT : Configuration committed by user 'root'. Use 'show configuration commit changes 1000000159' to view the changes.
RP/0/RSP0/CPU0:router(config)# end
RP/0/RSP0/CPU0:Sep 21 11:42:50.278 : config[65794]: %MGBL-SYS-5-CONFIG_I : Configured from console by root
RP/0/RSP0/CPU0:router# show run | begin HundredGigE 0/5/0/0
Mon Sep 21 11:42:57.262 EDT
Building configuration...
interface HundredGigE 0/5/0/0
negotiation auto
!
interface HundredGigE 0/5/0/1
shutdown
!