[openib-general] [PATCH] [RFC] ofed_1_2 - SLES9SP3 Backport -IWCM workaroundfor ip_dev_find() bug.
Steve Wise
swise at opengridcomputing.com
Thu Feb 8 16:40:53 PST 2007
Michael,
>From your email, it sounded like you would regression test this. Is it
ready to pull in?
Thanks!
Steve.
On Tue, 2007-02-06 at 17:39 -0600, Steve Wise wrote:
> Here it is (only tested with rping over iWARP on sles9sp3):
>
> ----------------
>
>
> xxx_ip_dev_find() must use scope HOST.
>
> From: Steve Wise <swise at opengridcomputing.com>
>
> Function xxx_ip_dev_find(RT_SCOPE_LINK) returns the wrong interface on
> some kernels. The correct scope is RT_SCOPE_HOST.
>
> Signed-off-by: Steve Wise <swise at opengridcomputing.com>
> ---
>
> .../backport/2.6.11/include/linux/inetdevice.h | 2 +-
> .../backport/2.6.11_FC4/include/linux/inetdevice.h | 2 +-
> .../backport/2.6.12/include/linux/inetdevice.h | 2 +-
> .../backport/2.6.13/include/linux/inetdevice.h | 2 +-
> .../2.6.13_suse10_0_u/include/linux/inetdevice.h | 2 +-
> .../backport/2.6.14/include/linux/inetdevice.h | 2 +-
> .../backport/2.6.15/include/linux/inetdevice.h | 2 +-
> .../2.6.15_ubuntu606/include/linux/inetdevice.h | 2 +-
> .../backport/2.6.16/include/linux/inetdevice.h | 2 +-
> .../backport/2.6.17/include/linux/inetdevice.h | 2 +-
> .../2.6.5_sles9_sp3/include/linux/inetdevice.h | 2 +-
> .../backport/2.6.9_U2/include/linux/inetdevice.h | 2 +-
> .../backport/2.6.9_U3/include/linux/inetdevice.h | 2 +-
> .../backport/2.6.9_U4/include/linux/inetdevice.h | 2 +-
> 14 files changed, 14 insertions(+), 14 deletions(-)
>
> diff --git a/kernel_addons/backport/2.6.11/include/linux/inetdevice.h b/kernel_addons/backport/2.6.11/include/linux/inetdevice.h
> index 7244487..2d3c50f 100644
> --- a/kernel_addons/backport/2.6.11/include/linux/inetdevice.h
> +++ b/kernel_addons/backport/2.6.11/include/linux/inetdevice.h
> @@ -13,7 +13,7 @@ static inline struct net_device *xxx_ip_
>
> read_lock(&dev_base_lock);
> for (dev = dev_base; dev; dev = dev->next) {
> - ip = inet_select_addr(dev, 0, RT_SCOPE_LINK);
> + ip = inet_select_addr(dev, 0, RT_SCOPE_HOST);
> if (ip == addr) {
> dev_hold(dev);
> break;
> diff --git a/kernel_addons/backport/2.6.11_FC4/include/linux/inetdevice.h b/kernel_addons/backport/2.6.11_FC4/include/linux/inetdevice.h
> index 7244487..2d3c50f 100644
> --- a/kernel_addons/backport/2.6.11_FC4/include/linux/inetdevice.h
> +++ b/kernel_addons/backport/2.6.11_FC4/include/linux/inetdevice.h
> @@ -13,7 +13,7 @@ static inline struct net_device *xxx_ip_
>
> read_lock(&dev_base_lock);
> for (dev = dev_base; dev; dev = dev->next) {
> - ip = inet_select_addr(dev, 0, RT_SCOPE_LINK);
> + ip = inet_select_addr(dev, 0, RT_SCOPE_HOST);
> if (ip == addr) {
> dev_hold(dev);
> break;
> diff --git a/kernel_addons/backport/2.6.12/include/linux/inetdevice.h b/kernel_addons/backport/2.6.12/include/linux/inetdevice.h
> index 7244487..2d3c50f 100644
> --- a/kernel_addons/backport/2.6.12/include/linux/inetdevice.h
> +++ b/kernel_addons/backport/2.6.12/include/linux/inetdevice.h
> @@ -13,7 +13,7 @@ static inline struct net_device *xxx_ip_
>
> read_lock(&dev_base_lock);
> for (dev = dev_base; dev; dev = dev->next) {
> - ip = inet_select_addr(dev, 0, RT_SCOPE_LINK);
> + ip = inet_select_addr(dev, 0, RT_SCOPE_HOST);
> if (ip == addr) {
> dev_hold(dev);
> break;
> diff --git a/kernel_addons/backport/2.6.13/include/linux/inetdevice.h b/kernel_addons/backport/2.6.13/include/linux/inetdevice.h
> index 7a32313..fd0aa36 100644
> --- a/kernel_addons/backport/2.6.13/include/linux/inetdevice.h
> +++ b/kernel_addons/backport/2.6.13/include/linux/inetdevice.h
> @@ -11,7 +11,7 @@ static inline struct net_device *xxx_ip_
>
> read_lock(&dev_base_lock);
> for (dev = dev_base; dev; dev = dev->next) {
> - ip = inet_select_addr(dev, 0, RT_SCOPE_LINK);
> + ip = inet_select_addr(dev, 0, RT_SCOPE_HOST);
> if (ip == addr) {
> dev_hold(dev);
> break;
> diff --git a/kernel_addons/backport/2.6.13_suse10_0_u/include/linux/inetdevice.h b/kernel_addons/backport/2.6.13_suse10_0_u/include/linux/inetdevice.h
> index 7a32313..fd0aa36 100644
> --- a/kernel_addons/backport/2.6.13_suse10_0_u/include/linux/inetdevice.h
> +++ b/kernel_addons/backport/2.6.13_suse10_0_u/include/linux/inetdevice.h
> @@ -11,7 +11,7 @@ static inline struct net_device *xxx_ip_
>
> read_lock(&dev_base_lock);
> for (dev = dev_base; dev; dev = dev->next) {
> - ip = inet_select_addr(dev, 0, RT_SCOPE_LINK);
> + ip = inet_select_addr(dev, 0, RT_SCOPE_HOST);
> if (ip == addr) {
> dev_hold(dev);
> break;
> diff --git a/kernel_addons/backport/2.6.14/include/linux/inetdevice.h b/kernel_addons/backport/2.6.14/include/linux/inetdevice.h
> index 7a32313..fd0aa36 100644
> --- a/kernel_addons/backport/2.6.14/include/linux/inetdevice.h
> +++ b/kernel_addons/backport/2.6.14/include/linux/inetdevice.h
> @@ -11,7 +11,7 @@ static inline struct net_device *xxx_ip_
>
> read_lock(&dev_base_lock);
> for (dev = dev_base; dev; dev = dev->next) {
> - ip = inet_select_addr(dev, 0, RT_SCOPE_LINK);
> + ip = inet_select_addr(dev, 0, RT_SCOPE_HOST);
> if (ip == addr) {
> dev_hold(dev);
> break;
> diff --git a/kernel_addons/backport/2.6.15/include/linux/inetdevice.h b/kernel_addons/backport/2.6.15/include/linux/inetdevice.h
> index 7a32313..fd0aa36 100644
> --- a/kernel_addons/backport/2.6.15/include/linux/inetdevice.h
> +++ b/kernel_addons/backport/2.6.15/include/linux/inetdevice.h
> @@ -11,7 +11,7 @@ static inline struct net_device *xxx_ip_
>
> read_lock(&dev_base_lock);
> for (dev = dev_base; dev; dev = dev->next) {
> - ip = inet_select_addr(dev, 0, RT_SCOPE_LINK);
> + ip = inet_select_addr(dev, 0, RT_SCOPE_HOST);
> if (ip == addr) {
> dev_hold(dev);
> break;
> diff --git a/kernel_addons/backport/2.6.15_ubuntu606/include/linux/inetdevice.h b/kernel_addons/backport/2.6.15_ubuntu606/include/linux/inetdevice.h
> index 7a32313..fd0aa36 100644
> --- a/kernel_addons/backport/2.6.15_ubuntu606/include/linux/inetdevice.h
> +++ b/kernel_addons/backport/2.6.15_ubuntu606/include/linux/inetdevice.h
> @@ -11,7 +11,7 @@ static inline struct net_device *xxx_ip_
>
> read_lock(&dev_base_lock);
> for (dev = dev_base; dev; dev = dev->next) {
> - ip = inet_select_addr(dev, 0, RT_SCOPE_LINK);
> + ip = inet_select_addr(dev, 0, RT_SCOPE_HOST);
> if (ip == addr) {
> dev_hold(dev);
> break;
> diff --git a/kernel_addons/backport/2.6.16/include/linux/inetdevice.h b/kernel_addons/backport/2.6.16/include/linux/inetdevice.h
> index 7a32313..fd0aa36 100644
> --- a/kernel_addons/backport/2.6.16/include/linux/inetdevice.h
> +++ b/kernel_addons/backport/2.6.16/include/linux/inetdevice.h
> @@ -11,7 +11,7 @@ static inline struct net_device *xxx_ip_
>
> read_lock(&dev_base_lock);
> for (dev = dev_base; dev; dev = dev->next) {
> - ip = inet_select_addr(dev, 0, RT_SCOPE_LINK);
> + ip = inet_select_addr(dev, 0, RT_SCOPE_HOST);
> if (ip == addr) {
> dev_hold(dev);
> break;
> diff --git a/kernel_addons/backport/2.6.17/include/linux/inetdevice.h b/kernel_addons/backport/2.6.17/include/linux/inetdevice.h
> index 7a32313..fd0aa36 100644
> --- a/kernel_addons/backport/2.6.17/include/linux/inetdevice.h
> +++ b/kernel_addons/backport/2.6.17/include/linux/inetdevice.h
> @@ -11,7 +11,7 @@ static inline struct net_device *xxx_ip_
>
> read_lock(&dev_base_lock);
> for (dev = dev_base; dev; dev = dev->next) {
> - ip = inet_select_addr(dev, 0, RT_SCOPE_LINK);
> + ip = inet_select_addr(dev, 0, RT_SCOPE_HOST);
> if (ip == addr) {
> dev_hold(dev);
> break;
> diff --git a/kernel_addons/backport/2.6.5_sles9_sp3/include/linux/inetdevice.h b/kernel_addons/backport/2.6.5_sles9_sp3/include/linux/inetdevice.h
> index 7244487..2d3c50f 100644
> --- a/kernel_addons/backport/2.6.5_sles9_sp3/include/linux/inetdevice.h
> +++ b/kernel_addons/backport/2.6.5_sles9_sp3/include/linux/inetdevice.h
> @@ -13,7 +13,7 @@ static inline struct net_device *xxx_ip_
>
> read_lock(&dev_base_lock);
> for (dev = dev_base; dev; dev = dev->next) {
> - ip = inet_select_addr(dev, 0, RT_SCOPE_LINK);
> + ip = inet_select_addr(dev, 0, RT_SCOPE_HOST);
> if (ip == addr) {
> dev_hold(dev);
> break;
> diff --git a/kernel_addons/backport/2.6.9_U2/include/linux/inetdevice.h b/kernel_addons/backport/2.6.9_U2/include/linux/inetdevice.h
> index 7244487..2d3c50f 100644
> --- a/kernel_addons/backport/2.6.9_U2/include/linux/inetdevice.h
> +++ b/kernel_addons/backport/2.6.9_U2/include/linux/inetdevice.h
> @@ -13,7 +13,7 @@ static inline struct net_device *xxx_ip_
>
> read_lock(&dev_base_lock);
> for (dev = dev_base; dev; dev = dev->next) {
> - ip = inet_select_addr(dev, 0, RT_SCOPE_LINK);
> + ip = inet_select_addr(dev, 0, RT_SCOPE_HOST);
> if (ip == addr) {
> dev_hold(dev);
> break;
> diff --git a/kernel_addons/backport/2.6.9_U3/include/linux/inetdevice.h b/kernel_addons/backport/2.6.9_U3/include/linux/inetdevice.h
> index 7244487..2d3c50f 100644
> --- a/kernel_addons/backport/2.6.9_U3/include/linux/inetdevice.h
> +++ b/kernel_addons/backport/2.6.9_U3/include/linux/inetdevice.h
> @@ -13,7 +13,7 @@ static inline struct net_device *xxx_ip_
>
> read_lock(&dev_base_lock);
> for (dev = dev_base; dev; dev = dev->next) {
> - ip = inet_select_addr(dev, 0, RT_SCOPE_LINK);
> + ip = inet_select_addr(dev, 0, RT_SCOPE_HOST);
> if (ip == addr) {
> dev_hold(dev);
> break;
> diff --git a/kernel_addons/backport/2.6.9_U4/include/linux/inetdevice.h b/kernel_addons/backport/2.6.9_U4/include/linux/inetdevice.h
> index 7244487..2d3c50f 100644
> --- a/kernel_addons/backport/2.6.9_U4/include/linux/inetdevice.h
> +++ b/kernel_addons/backport/2.6.9_U4/include/linux/inetdevice.h
> @@ -13,7 +13,7 @@ static inline struct net_device *xxx_ip_
>
> read_lock(&dev_base_lock);
> for (dev = dev_base; dev; dev = dev->next) {
> - ip = inet_select_addr(dev, 0, RT_SCOPE_LINK);
> + ip = inet_select_addr(dev, 0, RT_SCOPE_HOST);
> if (ip == addr) {
> dev_hold(dev);
> break;
>
>
>
> _______________________________________________
> openib-general mailing list
> openib-general at openib.org
> http://openib.org/mailman/listinfo/openib-general
>
> To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
>
More information about the general
mailing list