Bug 1327116

Summary: ipvsadm requires real server port specification for ipv6 but not for ipv4
Product: Red Hat Enterprise Linux 7 Reporter: Jan Tluka <jtluka>
Component: ipvsadmAssignee: Ryan O'Hara <rohara>
Status: CLOSED WONTFIX QA Contact: Brandon Perkins <bperkins>
Severity: low Docs Contact:
Priority: unspecified    
Version: 7.3CC: cluster-maint, jtluka
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-12-15 07:40:59 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Jan Tluka 2016-04-14 10:00:19 UTC
Description of problem:

When I add IPv4 server with ipvsadm for a IPv4 service I do not have to specify the port. When I switch to IPv6 the port is mandatory. This could be confusing when someone wants to migrate from IPv4 to IPv6.

IPv4:

# ipvsadm -A -t 1.2.3.4:80 -s rr
# ipvsadm -a -t 1.2.3.4:80 -r 5.6.7.8 -g
# ipvsadm 
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  1.2.3.4:http rr
  -> 5.6.7.8:http                 Route   1      0          0


IPv6:

# ipvsadm -A -t [fe01::5]:80 -s rr
# ipvsadm -a -t [fe01::5]:80 -r [fe01::20] -g
illegal real server address[:port] specified

# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  [fe01::5]:http rr

# ipvsadm -a -t [fe01::5]:80 -r [fe01::20]:80 -g
# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  [fe01::5]:http rr
  -> [fe01::20]:http              Route   1      0          0


Version-Release number of selected component (if applicable):
ipvsadm-1.27-7.el7.x86_64

How reproducible:
100%

Steps to Reproduce: see description

Actual results: port is mandatory when adding real server

Expected results: port should not be mandatory

Comment 1 Ryan O'Hara 2016-04-14 19:57:42 UTC
To be clear, it is the port on the real server that is required for IPv6?

Comment 2 Jan Tluka 2016-04-15 06:51:46 UTC
(In reply to Ryan O'Hara from comment #1)
> To be clear, it is the port on the real server that is required for IPv6?

Yes.

In the command:
ipvsadm -a -t [fe01::5]:80 -r [fe01::20] -g

it is the part '-r [fe01::20]'

Currently you have to specify the port otherwise you get an error.

Comment 3 Ryan O'Hara 2016-04-25 15:43:50 UTC
I see the problem. When parsing an IPv6 address, the parse_service function never returns SERVICE_ADDR. I'll make some minor code changes and do some testing before sending this upstream. Would like to get any patch reviewed upstream before applying to RHEL packages.

Comment 5 RHEL Program Management 2020-12-15 07:40:59 UTC
After evaluating this issue, there are no plans to address it further or fix it in an upcoming release.  Therefore, it is being closed.  If plans change such that this issue will be fixed in an upcoming release, then the bug can be reopened.