If the speed and duplex settings of a Gigabit Ethernet link are manually set at one end, then you must also set [gigether-options no-auto-negotiation].
Problem or Goal:
By default, Gigabit Ethernet interfaces are configured for auto-negotiation speed and duplex settings. As per the IEEE standard, when the speed and mode are manually configured (100m or 10m) and are set to no-auto-negotiate, then the link-mode is not negotiated. So, the interfaces in a J or SRX series device will operate in half-duplex mode.
The output of the following command shows the configured and negotiated speed:
cli> show interfaces ge-0/0/0 extensive
Source filtering: Disabled, Flow control: Enabled, Auto-negotiation: Enabled>>This says that auto negotiation is enabled on the interface.
Autonegotiation information: Negotiation status: No-autonegotiation >> No-autonegotiation has been set at the other end and tells the status of the negotiated value.
Link partner: Link mode: Half-duplex, Flow control: None, Remote fault: OK >>> Because of the above two reasons the interface goes into the half duplex mode. Link partner Speed: 100 Mbps
If the remote end is configured for manual (that is no-auto-negotiations), then it is recommended to operate in no-auto-negotiation mode on the local device as well. Also, the manual settings that are set at the remote and local end should match, so as to avoid any quality and bandwidth issues.
set interfaces ge-0/0/1 speed 100m set interfaces ge-0/0/1 link-mode full-duplex set interfaces ge-0/0/1 gigether-options no-auto-negotiation set interfaces ge-0/0/1 unit 0 family inet address x.x.x.x/y commit
The same concept also holds good for the Fast-Ether links. Here the no-auto-negotiation should be explicitely specified in [edit interfaces fastether-options].
These settings should match the settings at the remote end. Interface setting mismatch leads to poor quality and bandwidth issues across the link.