Description

J-Web may not display the correct port configuration when the interface is part of an interface-range. This article demonstrates this behavior through a port that inherits 'port-mode trunk' configuration via an interface-range, but in J-Web, it shows as an access port.

Symptoms

When an interface is part of an interface-range from which the interface is inheriting their port properties (Access / Trunk), the same port shows ALWAYS as access under J-Web.

The following 'interface-range' is where you apply the configuration that the individual interfaces will inherit, which will minimize the configuration, as you do not have to go on the interfaces one by one:

# run show configuration interfaces interface-range JWEB     
member-range ge-0/0/1 to ge-0/0/4;                                 
unit 0 {                                                               
    family ethernet-switching {
        port-mode trunk;
        vlan {
            members VOICE;
        }
        native-vlan-id DATA;
    }
}

The individual interface does not have any configurations itself. Everything is inherited from the interface-range:
{master:0}[edit]
# run show configuration interfaces ge-0/0/1               
unit 0 {                                                       
    family ethernet-switching;
}

With 'display inheritance', the interfaces are getting the configuration applied to them:
{master:0}[edit]
# run show configuration interfaces ge-0/0/1 | display inheritance    
unit 0 {                                                                       
    family ethernet-switching {
        ##
        ## 'trunk' was expanded from interface-range 'JWEB'
        ##
        port-mode trunk;
        ##
        ## 'vlan' was expanded from interface-range 'JWEB'
        ##
        vlan {
            ##
            ## 'VOICE' was expanded from interface-range 'JWEB'
            ##
            members VOICE;
        }
        ##
        ## 'DATA' was expanded from interface-range 'JWEB'
        ##
        native-vlan-id DATA;
    }
}

The correct interfaces are part of the correct VLANS:
{master:0}[edit]
# run show vlans
Name           Tag     Interfaces                                   
DATA           20
                       ge-0/0/1.0*, ge-0/0/2.0, ge-0/0/3.0, ge-0/0/4.0
VOICE          10
                       ge-0/0/1.0*, ge-0/0/2.0, ge-0/0/3.0, ge-0/0/4.0


{master:0}[edit]
# show vlans
DATA {
    vlan-id 20;
}
VOICE {
    vlan-id 10;
}

However, this is how the interface (ge-0/0/1 for instance) is displayed on J-Web:

alt


The ports have the correct VLAN assignment, but they appear as Access instead of Trunk.

Solution

On J-Web, for the ports page, all the interface details are parsed from all interface info, VLAN, etc. However, it does not take the 'interface-range' info to further get the interface details. This is a known limitation in J-Web to support interfaces 'all' and 'interface-range'.

Note: This is cosmetic in the sense that the configuration actually being implemented on the interface does reflect the inherited configuration.

There are two solutions for this limitation:

  1. Configure each interface as Trunk individually under the hierarchy [edit interface <interface> unit 0 family ethernet-switching]

    Example:

    [edit interfaces ge-0/0/1 unit 0 family ethernet-switching]
    # set port-mode trunk
    # show | compare
    [edit interfaces ge-0/0/1 unit 0 family ethernet-switching]
    + port-mode trunk;  


  2. Use a 'wildcard range set' command to configure mulitple interfaces simultaneously as trunks:
    [edit]
    # wildcard range set interfaces ge-0/0/[1-4] unit 0 family ethernet-switching port-mode trunk
[edit]
# show | compare
[edit interfaces ge-0/0/1 unit 0 family ethernet-switching]
+      port-mode trunk;
[edit interfaces ge-0/0/2 unit 0 family ethernet-switching]
+      port-mode trunk;
[edit interfaces ge-0/0/3 unit 0 family ethernet-switching]
+      port-mode trunk;
[edit interfaces ge-0/0/4 unit 0 family ethernet-switching]
+      port-mode trunk;

# commit
fpc0:
commit complete