Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

duplex issue #352

Open
yhosoxeyu89ye opened this issue Jan 12, 2025 · 4 comments
Open

duplex issue #352

yhosoxeyu89ye opened this issue Jan 12, 2025 · 4 comments

Comments

@yhosoxeyu89ye
Copy link

Though ethtool and ip command show duplex full, on ovs-vsctl shows duplex half.
Do you know the cause?
Following is results of the "ovs-vsctl show" command.

# ovs-vsctl show
7374d84a-6fd4-4eaa-8bf3-d63aefc0bff0
    Bridge br23
        Port bond23
            Interface enp2s0
            Interface enp3s0
        Port br23
            Interface br23
                type: internal
    ovs_version: "3.3.3"

Following is results of the "ovs-vsctl list" command.

# ovs-vsctl list Port bond23 
_uuid               : 0d71a253-eafa-42fc-a92d-b99dbcc6148a
bond_active_slave   : "00:e0:4c:72:3a:e7"
bond_downdelay      : 0
bond_fake_iface     : false
bond_mode           : balance-tcp
bond_updelay        : 0
cvlans              : []
external_ids        : {}
fake_bridge         : false
interfaces          : [3c96aec1-bcd2-480a-b97c-0bb207c182bb, 975941b9-27e4-4550-bda0-d5b2c2729be2]
lacp                : active
mac                 : []
name                : bond23
other_config        : {}
protected           : false
qos                 : []
rstp_statistics     : {}
rstp_status         : {}
statistics          : {}
status              : {}
tag                 : []
trunks              : []
vlan_mode           : []
# ovs-vsctl list Interface enp2s0 
_uuid               : 3c96aec1-bcd2-480a-b97c-0bb207c182bb
admin_state         : up
bfd                 : {}
bfd_status          : {}
cfm_fault           : []
cfm_fault_status    : []
cfm_flap_count      : []
cfm_health          : []
cfm_mpid            : []
cfm_remote_mpids    : []
cfm_remote_opstate  : []
duplex              : half
error               : []
external_ids        : {}
ifindex             : 2
ingress_policing_burst: 0
ingress_policing_kpkts_burst: 0
ingress_policing_kpkts_rate: 0
ingress_policing_rate: 0
lacp_current        : true
link_resets         : 0
link_speed          : 2500000000
link_state          : up
lldp                : {}
mac                 : []
mac_in_use          : "00:e0:4c:72:3a:e6"
mtu                 : 1500
mtu_request         : []
name                : enp2s0
ofport              : 1
ofport_request      : []
options             : {}
other_config        : {}
statistics          : {collisions=0, rx_bytes=622476, rx_crc_err=0, rx_dropped=0, rx_errors=0, rx_frame_err=0, rx_missed_errors=0, rx_multicast_packets=1329, rx_over_err=0, rx_packets=8529, tx_bytes=8945, tx_dropped=0, tx_errors=0, tx_packets=73, upcall_errors=0, upcall_packets=1143}
status              : {driver_name=igc, driver_version="6.12.8-100.fc40.x86_64", firmware_version="2017:888d"}
type                : ""
# ovs-vsctl list Interface enp3s0 
_uuid               : 975941b9-27e4-4550-bda0-d5b2c2729be2
admin_state         : up
bfd                 : {}
bfd_status          : {}
cfm_fault           : []
cfm_fault_status    : []
cfm_flap_count      : []
cfm_health          : []
cfm_mpid            : []
cfm_remote_mpids    : []
cfm_remote_opstate  : []
duplex              : half
error               : []
external_ids        : {}
ifindex             : 3
ingress_policing_burst: 0
ingress_policing_kpkts_burst: 0
ingress_policing_kpkts_rate: 0
ingress_policing_rate: 0
lacp_current        : true
link_resets         : 0
link_speed          : 2500000000
link_state          : up
lldp                : {}
mac                 : []
mac_in_use          : "00:e0:4c:72:3a:e7"
mtu                 : 1500
mtu_request         : []
name                : enp3s0
ofport              : 2
ofport_request      : []
options             : {}
other_config        : {}
statistics          : {collisions=0, rx_bytes=191718, rx_crc_err=0, rx_dropped=0, rx_errors=0, rx_frame_err=0, rx_missed_errors=0, rx_multicast_packets=1183, rx_over_err=0, rx_packets=1880, tx_bytes=8804, tx_dropped=0, tx_errors=0, tx_packets=71, upcall_errors=0, upcall_packets=104}
status              : {driver_name=igc, driver_version="6.12.8-100.fc40.x86_64", firmware_version="2017:888d"}
type                : ""

Following is results of the ip command.

# ip l show enp2s0 
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master ovs-system state UP mode DEFAULT group default qlen 1000
    link/ether 00:e0:4c:72:3a:e6 brd ff:ff:ff:ff:ff:ff
# ip l show enp3s0 
3: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master ovs-system state UP mode DEFAULT group default qlen 1000
    link/ether 00:e0:4c:72:3a:e7 brd ff:ff:ff:ff:ff:ff

Following is results of the ethtool command.

# ethtool enp2s0 
Settings for enp2s0:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Full
	                        2500baseT/Full
	Supported pause frame use: Symmetric
	Supports auto-negotiation: Yes
	Supported FEC modes: Not reported
	Advertised link modes:  10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Full
	                        2500baseT/Full
	Advertised pause frame use: Symmetric
	Advertised auto-negotiation: Yes
	Advertised FEC modes: Not reported
	Speed: 2500Mb/s
	Duplex: Full
	Auto-negotiation: on
	Port: Twisted Pair
	PHYAD: 0
	Transceiver: internal
	MDI-X: Unknown
	Supports Wake-on: pumbg
	Wake-on: g
        Current message level: 0x00000007 (7)
                               drv probe link
	Link detected: yes
# ethtool enp3s0 
Settings for enp3s0:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Full
	                        2500baseT/Full
	Supported pause frame use: Symmetric
	Supports auto-negotiation: Yes
	Supported FEC modes: Not reported
	Advertised link modes:  10baseT/Half 10baseT/Full
	                        100baseT/Half 100baseT/Full
	                        1000baseT/Full
	                        2500baseT/Full
	Advertised pause frame use: Symmetric
	Advertised auto-negotiation: Yes
	Advertised FEC modes: Not reported
	Speed: 2500Mb/s
	Duplex: Full
	Auto-negotiation: on
	Port: Twisted Pair
	PHYAD: 0
	Transceiver: internal
	MDI-X: Unknown
	Supports Wake-on: pumbg
	Wake-on: g
        Current message level: 0x00000007 (7)
                               drv probe link
	Link detected: yes
@igsilya
Copy link
Member

igsilya commented Jan 13, 2025

Hi @yhosoxeyu89ye . Thanks for the report!
This is a known issue for 25G cards. And there was an attempt to fix it here: https://patchwork.ozlabs.org/project/openvswitch/patch/20240809132804.2339243-1-david.marchand@redhat.com/ but the patch needs an update to a more robust approach. Not sure if @david-marchand is planning to send a new version.

@yhosoxeyu89ye
Copy link
Author

Hi @igsilya,

Thank you for replying to my issue report.

I understand that the speed detection issue for 25G cards is a known problem and is currently under review. I also understand that it applies to my case. My concern is whether this issue might also lead to inconsistencies in switching behavior. Specifically, are there any potential problems with LACP functionality, overall performance, or frame forwarding performance being limited to half under these circumstances?

Thank you for your clarification and any additional insights!

@igsilya
Copy link
Member

igsilya commented Jan 13, 2025

@yhosoxeyu89ye the issue only affects reporting in the database / OpenFlow. Actual traffic should not be affected in any way.

@yhosoxeyu89ye
Copy link
Author

@igsilya Thank you for answering my question. I understand that there are no inconsistencies in traffic forwarding. I appreciate your clarification!

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants