Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Cause
The ip6tunnel mode passed a zeroed parameter structure to kernel which attempted to change all tunnel parameters to zero and failed.
Consequence
Users couldn't change ip6tunnel parameters.
Fix
The ip6tunnel code was changed so it updates only the changed parameters, like iptunnel does.
Result
It is now possible for users to adjust ip6tunnel parameters.
The code for changing ip6tunnel parameters in iproute2 is incorrect, even in the newest upstream iproute2 git (as far as I can tell; git.kernel.org is still down). Unchanged parameters should be initialized to the current values, but they are set to zero instead. Will make a patch.
Technical note added. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.
New Contents:
Cause
The ip6tunnel mode passed a zeroed parameter structure to kernel which attempted to change all tunnel parameters to zero and failed.
Consequence
Users couldn't change ip6tunnel parameters.
Fix
The ip6tunnel code was changed so it updates only the changed parameters, like iptunnel does.
Result
It is now possible for users to adjust ip6tunnel parameters.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
http://rhn.redhat.com/errata/RHBA-2012-0835.html
Description of problem: can't change hoplimit(TTL) of tunnel device in ip6ip6 mode Version-Release number of selected component (if applicable): 2.6.32-188.el6 How reproducible: always Steps to Reproduce: 1. create ip6ip6 tunnel device: ip -6 tunnel add tunl6 mode ip6ip6 remote $REMOTE_IP local $LOCAL_IP ifconfig tunl6 up ip addr add $TUNL_IP dev tunl6 [root@dell-pe1855-01 ~]# ifconfig tunl6 tunl6 Link encap:UNSPEC HWaddr 20-01-0D-B8-AC-10-FE-01-00-00-00-00-00-00-00-00 inet6 addr: 3001:db8:ac10:fe01::2/64 Scope:Global inet6 addr: fe80::212:3fff:fe68:1430/64 Scope:Link UP POINTOPOINT RUNNING NOARP MTU:1600 Metric:1 RX packets:1 errors:0 dropped:0 overruns:0 frame:0 TX packets:4 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:104 (104.0 b) TX bytes:480 (480.0 b) [root@dell-pe1855-01 ~]# ip -6 tun show ip6tnl0: ipv6/ipv6 remote :: local :: encaplimit 0 hoplimit 0 tclass 0x00 flowlabel 0x00000 (flowinfo 0x00000000) tunl6: ipv6/ipv6 remote 2001:db8:ac10:fe01::3 local 2001:db8:ac10:fe01::2 encaplimit 4 hoplimit 64 tclass 0x00 flowlabel 0x00000 (flowinfo 0x00000000) 2. change the hoplimit of the tunnel device ip -6 tun change tunl6 hoplimit 32 Actual results: can't change the hoplimit value: [root@dell-pe1855-01 ~]# ip -6 tun change tunl6 hoplimit 32 ioctl: File exists Expected results: Additional info: [root@dell-pe1855-01 ~]# strace -f -v ip -6 tun change tunl6 hoplimit 32 execve("/sbin/ip", ["ip", "-6", "tun", "change", "tunl6", "hoplimit", "32"], ["LAB_CONTROLLER=lab2.rhts.eng.bos"..., "HOSTNAME=dell-pe1855-01.rhts.eng"..., "SELINUX_ROLE_REQUESTED=", "TERM=xterm", "SHELL=/bin/bash", "HISTSIZE=1000", "SSH_CLIENT=10.66.12.103 60325 22", "SELINUX_USE_CURRENT_RANGE=", "BUILDURL=http://download.eng.bos"..., "DUMPSERVER=netdump-01.eng.bos.re"..., "QTDIR=/usr/lib64/qt-3.3", "QTINC=/usr/lib64/qt-3.3/include", "SSH_TTY=/dev/pts/0", "USER=root", "LS_COLORS=rs=0:di=01;34:ln=01;36"..., "COBBLER_SERVER=lab2.rhts.eng.bos"..., "MAIL=/var/spool/mail/root", "PATH=/usr/lib64/qt-3.3/bin:/usr/"..., "PWD=/root", "XMODIFIERS=@im=ibus", "LANG=en_US.UTF-8", "LOOKASIDE=http://download.eng.bo"..., "SELINUX_LEVEL_REQUESTED=", "HISTCONTROL=ignoredups", "SHLVL=1", "HOME=/root", "LANGUAGE=", "NFSSERVERS=RHEL3,rhel3-nfs.rhts."..., "LOGNAME=root", "QTLIB=/usr/lib64/qt-3.3/lib", "CVS_RSH=ssh", "SSH_CONNECTION=10.66.12.103 6032"..., "LESSOPEN=|/usr/bin/lesspipe.sh %"..., "G_BROKEN_FILENAMES=1", "_=/usr/bin/strace", "OLDPWD=/root/tun"]) = 0 brk(0) = 0x1dee000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7bc0187000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_dev=makedev(253, 0), st_ino=132479, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=88, st_size=44202, st_atime=2011/08/14-20:52:54, st_mtime=2011/08/14-20:50:58, st_ctime=2011/08/14-20:50:58}) = 0 mmap(NULL, 44202, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f7bc017c000 close(3) = 0 open("/lib64/libresolv.so.2", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\3008\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_dev=makedev(253, 0), st_ino=1966120, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=224, st_size=110904, st_atime=2011/08/14-20:36:06, st_mtime=2011/04/05-04:33:52, st_ctime=2011/08/14-20:36:02}) = 0 mmap(NULL, 2202248, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f7bbfd4f000 mprotect(0x7f7bbfd65000, 2097152, PROT_NONE) = 0 mmap(0x7f7bbff65000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x7f7bbff65000 mmap(0x7f7bbff67000, 6792, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f7bbff67000 close(3) = 0 open("/lib64/libdl.so.2", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\r\0\0\0\0\0\0"..., 832) = 832 fstat(3, {st_dev=makedev(253, 0), st_ino=1966100, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=40, st_size=19536, st_atime=2011/08/14-20:36:06, st_mtime=2011/04/05-04:33:52, st_ctime=2011/08/14-20:36:02}) = 0 mmap(NULL, 2109696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f7bbfb4b000 mprotect(0x7f7bbfb4d000, 2097152, PROT_NONE) = 0 mmap(0x7f7bbfd4d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f7bbfd4d000 close(3) = 0 open("/lib64/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\355\1\0\0\0\0\0"..., 832) = 832 fstat(3, {st_dev=makedev(253, 0), st_ino=1966094, st_mode=S_IFREG|0755, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=3728, st_size=1907344, st_atime=2011/08/14-20:36:06, st_mtime=2011/04/05-04:33:54, st_ctime=2011/08/14-20:36:01}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7bc017b000 mmap(NULL, 3737768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f7bbf7ba000 mprotect(0x7f7bbf941000, 2097152, PROT_NONE) = 0 mmap(0x7f7bbfb41000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x187000) = 0x7f7bbfb41000 mmap(0x7f7bbfb46000, 18600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f7bbfb46000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7bc017a000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7bc0179000 arch_prctl(ARCH_SET_FS, 0x7f7bc017a700) = 0 mprotect(0x7f7bbfb41000, 16384, PROT_READ) = 0 mprotect(0x7f7bbfd4d000, 4096, PROT_READ) = 0 mprotect(0x7f7bbff65000, 4096, PROT_READ) = 0 mprotect(0x7f7bc0188000, 4096, PROT_READ) = 0 munmap(0x7f7bc017c000, 44202) = 0 socket(PF_NETLINK, SOCK_RAW, 0) = 3 setsockopt(3, SOL_SOCKET, SO_SNDBUF, [32768], 4) = 0 setsockopt(3, SOL_SOCKET, SO_RCVBUF, [1048576], 4) = 0 bind(3, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0 getsockname(3, {sa_family=AF_NETLINK, pid=3329, groups=00000000}, [12]) = 0 socket(PF_INET6, SOCK_DGRAM, IPPROTO_IP) = 4 ioctl(4, 0x89f3, 0x7fff1e4bf180) = -1 EEXIST (File exists) dup(2) = 5 fcntl(5, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE) brk(0) = 0x1dee000 brk(0x1e0f000) = 0x1e0f000 fstat(5, {st_dev=makedev(0, 11), st_ino=3, st_mode=S_IFCHR|0620, st_nlink=1, st_uid=0, st_gid=5, st_blksize=1024, st_blocks=0, st_rdev=makedev(136, 0), st_atime=2011/08/15-03:15:33, st_mtime=2011/08/15-03:15:33, st_ctime=2011/08/15-02:50:04}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7bc0186000 lseek(5, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek) write(5, "ioctl: File exists\n", 19ioctl: File exists ) = 19 close(5) = 0 munmap(0x7f7bc0186000, 4096) = 0 close(4) = 0 exit_group(-1) = ?