Created attachment 349301 [details] suggested patch Description of Problem: It is assumed that the router with two interfaces (IF0 and IF1) exists. When router's IF0 received a packet, and forwarding this packet with IF1, the router will check the dst address. If the dst address is unreachable, router will send a DestUnreachs packet back to sender using the IF0. But the IF0's counter of OutDestUnreachs can not be increased, the IF1's counter of OutDestUnreachs will be increased instead. The counter of Icmp6OutPktTooBigs and Icmp6OutTimeExcds have the same problem. Version-Release number of selected component: Red Hat Enterprise Linux Version Number: RHEL4 Release Number: 4.8 Architecture: x86_64 Kernel Version: kernel-2.6.9-89.EL Related Package Version: none Related Middleware / Application: none Drivers or hardware or architecture dependency: none How reproducible: every time Step to Reproduce: The topology as follow for example: IF0: eth0 IF1: eth0.100 -------|------------------2002::/64 |[eth0.100] |fe80::2zz:zzff:fezz:zzzz/64 ------- -------- |tester | | Router |(RHEL4.8) ------- -------- |[eth0] |[eth0] |3ffe:501:ffff:100::xxxx/64 |3ffe:501:ffff:100::yyyy/64 ------|------------------------------|------------fe80::/64 Step1 Config the tester #ip -6 addr add 3ffe:501:ffff:100::xxxx/64 dev eth0 #ip -6 route add 2002::/64 via 3ffe:501:ffff:100::yyyy dev eth0 Step2 Config the router #sysctl net.ipv6.conf.all.forwarding=1 #ip -6 addr add 3ffe:501:ffff:100::yyyy/64 dev eth0 #ip -6 route add 2002::/64 via fe80::2zz:zzff:fezz:zzzz dev eth0.100 Step3 router: record the value of Icmp6OutDestUnreachs of eth0 and eth0.100 #cat /proc/net/dev_snmp6/eth0 | grep Icmp6OutDestUnreachs #cat /proc/net/dev_snmp6/eth0.100 | grep Icmp6OutDestUnreachs Step4 host: send icmp packets to unknown dst addr of 2002::2. #ping6 -I eth0 -c 1 2002::2 (note) the ping6 command is failed by address unreachable. Step5 router: record the value of Icmp6OutDestUnreachs of eth0 and eth1 #cat /proc/net/dev_snmp6/eth0 | grep Icmp6OutDestUnreachs #cat /proc/net/dev_snmp6/eth0.100 | grep Icmp6OutDestUnreachs Actual Results: The eth0's counter of Icmp6OutDestUnreachs can not be increased, but the eth0.100's counter of Icmp6OutDestUnreachs can be increased 1 count instead. Expected Results: The eth0's counter of Icmp6OutDestUnreachs can be increased 1 count, and the eth0.100's counter of Icmp6OutDestUnreachs can not be increased. Hardware configuration: Model: PRIMERGY TX150 S5 CPU Info: Intel(R) Xeon(R) CPU 3040 @ 1.86GHz Memory Info: 6GB Business Impact: Target Release: 4.9 Errata Request: No Hotfix Request: No Additional Info: The sosreport file is attached: file: sosreport-ueki.001-617398-8adccb.tar.bz2 md5sum: 3e52026401fa6a71d43dcb132e8adccb The patch file is attached: file: net-fix-counter-of-OutDestUnreachs.patch This problem has already been solved in latest community's kernel.
This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux maintenance release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux Update release for currently deployed products. This request is not yet committed for inclusion in an Update release.
Created attachment 350712 [details] posted patch
Committed in 89.6.EL . RPMS are available at http://people.redhat.com/vgoyal/rhel4/
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2011-0263.html