diff options
| author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-05-26 18:13:33 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-05-26 18:13:33 -0400 |
| commit | ecd68853b852cdafb138f9c437f3a751fe7dc381 (patch) | |
| tree | 6b3a3468d0d3dca7f226de7e3551913d907b17a2 | |
| parent | 087377a4307e18225f6452af5e71fe763c088c4e (diff) | |
| parent | 3041a069090224462e27da1bc9483b463eb40841 (diff) | |
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[NET]: dev.c comment fixes
[IPV6] ROUTE: Don't try less preferred routes for on-link routes.
[IRDA]: *_DONGLE should depend on IRTTY_SIR
[MAINTAINERS]: Add entry for netem
| -rw-r--r-- | MAINTAINERS | 6 | ||||
| -rw-r--r-- | drivers/net/irda/Kconfig | 20 | ||||
| -rw-r--r-- | net/core/dev.c | 20 | ||||
| -rw-r--r-- | net/ipv6/route.c | 16 |
4 files changed, 38 insertions, 24 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index bd10b2af2223..92d696874965 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
| @@ -1899,6 +1899,12 @@ M: James.Bottomley@HansenPartnership.com | |||
| 1899 | L: linux-scsi@vger.kernel.org | 1899 | L: linux-scsi@vger.kernel.org |
| 1900 | S: Maintained | 1900 | S: Maintained |
| 1901 | 1901 | ||
| 1902 | NETEM NETWORK EMULATOR | ||
| 1903 | P: Stephen Hemminger | ||
| 1904 | M: shemminger@osdl.org | ||
| 1905 | L: netem@osdl.org | ||
| 1906 | S: Maintained | ||
| 1907 | |||
| 1902 | NETFILTER/IPTABLES/IPCHAINS | 1908 | NETFILTER/IPTABLES/IPCHAINS |
| 1903 | P: Rusty Russell | 1909 | P: Rusty Russell |
| 1904 | P: Marc Boucher | 1910 | P: Marc Boucher |
diff --git a/drivers/net/irda/Kconfig b/drivers/net/irda/Kconfig index 5e6d00752990..cff8598aa800 100644 --- a/drivers/net/irda/Kconfig +++ b/drivers/net/irda/Kconfig | |||
| @@ -33,7 +33,7 @@ config DONGLE | |||
| 33 | 33 | ||
| 34 | config ESI_DONGLE | 34 | config ESI_DONGLE |
| 35 | tristate "ESI JetEye PC dongle" | 35 | tristate "ESI JetEye PC dongle" |
| 36 | depends on DONGLE && IRDA | 36 | depends on IRTTY_SIR && DONGLE && IRDA |
| 37 | help | 37 | help |
| 38 | Say Y here if you want to build support for the Extended Systems | 38 | Say Y here if you want to build support for the Extended Systems |
| 39 | JetEye PC dongle. To compile it as a module, choose M here. The ESI | 39 | JetEye PC dongle. To compile it as a module, choose M here. The ESI |
| @@ -44,7 +44,7 @@ config ESI_DONGLE | |||
| 44 | 44 | ||
| 45 | config ACTISYS_DONGLE | 45 | config ACTISYS_DONGLE |
| 46 | tristate "ACTiSYS IR-220L and IR220L+ dongle" | 46 | tristate "ACTiSYS IR-220L and IR220L+ dongle" |
| 47 | depends on DONGLE && IRDA | 47 | depends on IRTTY_SIR && DONGLE && IRDA |
| 48 | help | 48 | help |
| 49 | Say Y here if you want to build support for the ACTiSYS IR-220L and | 49 | Say Y here if you want to build support for the ACTiSYS IR-220L and |
| 50 | IR220L+ dongles. To compile it as a module, choose M here. The | 50 | IR220L+ dongles. To compile it as a module, choose M here. The |
| @@ -55,7 +55,7 @@ config ACTISYS_DONGLE | |||
| 55 | 55 | ||
| 56 | config TEKRAM_DONGLE | 56 | config TEKRAM_DONGLE |
| 57 | tristate "Tekram IrMate 210B dongle" | 57 | tristate "Tekram IrMate 210B dongle" |
| 58 | depends on DONGLE && IRDA | 58 | depends on IRTTY_SIR && DONGLE && IRDA |
| 59 | help | 59 | help |
| 60 | Say Y here if you want to build support for the Tekram IrMate 210B | 60 | Say Y here if you want to build support for the Tekram IrMate 210B |
| 61 | dongle. To compile it as a module, choose M here. The Tekram dongle | 61 | dongle. To compile it as a module, choose M here. The Tekram dongle |
| @@ -66,7 +66,7 @@ config TEKRAM_DONGLE | |||
| 66 | 66 | ||
| 67 | config TOIM3232_DONGLE | 67 | config TOIM3232_DONGLE |
| 68 | tristate "TOIM3232 IrDa dongle" | 68 | tristate "TOIM3232 IrDa dongle" |
| 69 | depends on DONGLE && IRDA | 69 | depends on IRTTY_SIR && DONGLE && IRDA |
| 70 | help | 70 | help |
| 71 | Say Y here if you want to build support for the Vishay/Temic | 71 | Say Y here if you want to build support for the Vishay/Temic |
| 72 | TOIM3232 and TOIM4232 based dongles. | 72 | TOIM3232 and TOIM4232 based dongles. |
| @@ -74,7 +74,7 @@ config TOIM3232_DONGLE | |||
| 74 | 74 | ||
| 75 | config LITELINK_DONGLE | 75 | config LITELINK_DONGLE |
| 76 | tristate "Parallax LiteLink dongle" | 76 | tristate "Parallax LiteLink dongle" |
| 77 | depends on DONGLE && IRDA | 77 | depends on IRTTY_SIR && DONGLE && IRDA |
| 78 | help | 78 | help |
| 79 | Say Y here if you want to build support for the Parallax Litelink | 79 | Say Y here if you want to build support for the Parallax Litelink |
| 80 | dongle. To compile it as a module, choose M here. The Parallax | 80 | dongle. To compile it as a module, choose M here. The Parallax |
| @@ -85,7 +85,7 @@ config LITELINK_DONGLE | |||
| 85 | 85 | ||
| 86 | config MA600_DONGLE | 86 | config MA600_DONGLE |
| 87 | tristate "Mobile Action MA600 dongle" | 87 | tristate "Mobile Action MA600 dongle" |
| 88 | depends on DONGLE && IRDA && EXPERIMENTAL | 88 | depends on IRTTY_SIR && DONGLE && IRDA && EXPERIMENTAL |
| 89 | help | 89 | help |
| 90 | Say Y here if you want to build support for the Mobile Action MA600 | 90 | Say Y here if you want to build support for the Mobile Action MA600 |
| 91 | dongle. To compile it as a module, choose M here. The MA600 dongle | 91 | dongle. To compile it as a module, choose M here. The MA600 dongle |
| @@ -98,7 +98,7 @@ config MA600_DONGLE | |||
| 98 | 98 | ||
| 99 | config GIRBIL_DONGLE | 99 | config GIRBIL_DONGLE |
| 100 | tristate "Greenwich GIrBIL dongle" | 100 | tristate "Greenwich GIrBIL dongle" |
| 101 | depends on DONGLE && IRDA && EXPERIMENTAL | 101 | depends on IRTTY_SIR && DONGLE && IRDA && EXPERIMENTAL |
| 102 | help | 102 | help |
| 103 | Say Y here if you want to build support for the Greenwich GIrBIL | 103 | Say Y here if you want to build support for the Greenwich GIrBIL |
| 104 | dongle. If you want to compile it as a module, choose M here. | 104 | dongle. If you want to compile it as a module, choose M here. |
| @@ -109,7 +109,7 @@ config GIRBIL_DONGLE | |||
| 109 | 109 | ||
| 110 | config MCP2120_DONGLE | 110 | config MCP2120_DONGLE |
| 111 | tristate "Microchip MCP2120" | 111 | tristate "Microchip MCP2120" |
| 112 | depends on DONGLE && IRDA && EXPERIMENTAL | 112 | depends on IRTTY_SIR && DONGLE && IRDA && EXPERIMENTAL |
| 113 | help | 113 | help |
| 114 | Say Y here if you want to build support for the Microchip MCP2120 | 114 | Say Y here if you want to build support for the Microchip MCP2120 |
| 115 | dongle. If you want to compile it as a module, choose M here. | 115 | dongle. If you want to compile it as a module, choose M here. |
| @@ -123,7 +123,7 @@ config MCP2120_DONGLE | |||
| 123 | 123 | ||
| 124 | config OLD_BELKIN_DONGLE | 124 | config OLD_BELKIN_DONGLE |
| 125 | tristate "Old Belkin dongle" | 125 | tristate "Old Belkin dongle" |
| 126 | depends on DONGLE && IRDA && EXPERIMENTAL | 126 | depends on IRTTY_SIR && DONGLE && IRDA && EXPERIMENTAL |
| 127 | help | 127 | help |
| 128 | Say Y here if you want to build support for the Adaptec Airport 1000 | 128 | Say Y here if you want to build support for the Adaptec Airport 1000 |
| 129 | and 2000 dongles. If you want to compile it as a module, choose | 129 | and 2000 dongles. If you want to compile it as a module, choose |
| @@ -132,7 +132,7 @@ config OLD_BELKIN_DONGLE | |||
| 132 | 132 | ||
| 133 | config ACT200L_DONGLE | 133 | config ACT200L_DONGLE |
| 134 | tristate "ACTiSYS IR-200L dongle" | 134 | tristate "ACTiSYS IR-200L dongle" |
| 135 | depends on DONGLE && IRDA && EXPERIMENTAL | 135 | depends on IRTTY_SIR && DONGLE && IRDA && EXPERIMENTAL |
| 136 | help | 136 | help |
| 137 | Say Y here if you want to build support for the ACTiSYS IR-200L | 137 | Say Y here if you want to build support for the ACTiSYS IR-200L |
| 138 | dongle. If you want to compile it as a module, choose M here. | 138 | dongle. If you want to compile it as a module, choose M here. |
diff --git a/net/core/dev.c b/net/core/dev.c index 2dce673a039b..4fba549caf29 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
| @@ -127,7 +127,7 @@ | |||
| 127 | * sure which should go first, but I bet it won't make much | 127 | * sure which should go first, but I bet it won't make much |
| 128 | * difference if we are running VLANs. The good news is that | 128 | * difference if we are running VLANs. The good news is that |
| 129 | * this protocol won't be in the list unless compiled in, so | 129 | * this protocol won't be in the list unless compiled in, so |
| 130 | * the average user (w/out VLANs) will not be adversly affected. | 130 | * the average user (w/out VLANs) will not be adversely affected. |
| 131 | * --BLG | 131 | * --BLG |
| 132 | * | 132 | * |
| 133 | * 0800 IP | 133 | * 0800 IP |
| @@ -149,7 +149,7 @@ static struct list_head ptype_base[16]; /* 16 way hashed list */ | |||
| 149 | static struct list_head ptype_all; /* Taps */ | 149 | static struct list_head ptype_all; /* Taps */ |
| 150 | 150 | ||
| 151 | /* | 151 | /* |
| 152 | * The @dev_base list is protected by @dev_base_lock and the rtln | 152 | * The @dev_base list is protected by @dev_base_lock and the rtnl |
| 153 | * semaphore. | 153 | * semaphore. |
| 154 | * | 154 | * |
| 155 | * Pure readers hold dev_base_lock for reading. | 155 | * Pure readers hold dev_base_lock for reading. |
| @@ -641,10 +641,12 @@ int dev_valid_name(const char *name) | |||
| 641 | * @name: name format string | 641 | * @name: name format string |
| 642 | * | 642 | * |
| 643 | * Passed a format string - eg "lt%d" it will try and find a suitable | 643 | * Passed a format string - eg "lt%d" it will try and find a suitable |
| 644 | * id. Not efficient for many devices, not called a lot. The caller | 644 | * id. It scans list of devices to build up a free map, then chooses |
| 645 | * must hold the dev_base or rtnl lock while allocating the name and | 645 | * the first empty slot. The caller must hold the dev_base or rtnl lock |
| 646 | * adding the device in order to avoid duplicates. Returns the number | 646 | * while allocating the name and adding the device in order to avoid |
| 647 | * of the unit assigned or a negative errno code. | 647 | * duplicates. |
| 648 | * Limited to bits_per_byte * page size devices (ie 32K on most platforms). | ||
| 649 | * Returns the number of the unit assigned or a negative errno code. | ||
| 648 | */ | 650 | */ |
| 649 | 651 | ||
| 650 | int dev_alloc_name(struct net_device *dev, const char *name) | 652 | int dev_alloc_name(struct net_device *dev, const char *name) |
| @@ -744,7 +746,7 @@ int dev_change_name(struct net_device *dev, char *newname) | |||
| 744 | } | 746 | } |
| 745 | 747 | ||
| 746 | /** | 748 | /** |
| 747 | * netdev_features_change - device changes fatures | 749 | * netdev_features_change - device changes features |
| 748 | * @dev: device to cause notification | 750 | * @dev: device to cause notification |
| 749 | * | 751 | * |
| 750 | * Called to indicate a device has changed features. | 752 | * Called to indicate a device has changed features. |
| @@ -2196,7 +2198,7 @@ int netdev_set_master(struct net_device *slave, struct net_device *master) | |||
| 2196 | * @dev: device | 2198 | * @dev: device |
| 2197 | * @inc: modifier | 2199 | * @inc: modifier |
| 2198 | * | 2200 | * |
| 2199 | * Add or remove promsicuity from a device. While the count in the device | 2201 | * Add or remove promiscuity from a device. While the count in the device |
| 2200 | * remains above zero the interface remains promiscuous. Once it hits zero | 2202 | * remains above zero the interface remains promiscuous. Once it hits zero |
| 2201 | * the device reverts back to normal filtering operation. A negative inc | 2203 | * the device reverts back to normal filtering operation. A negative inc |
| 2202 | * value is used to drop promiscuity on the device. | 2204 | * value is used to drop promiscuity on the device. |
| @@ -3122,7 +3124,7 @@ EXPORT_SYMBOL(alloc_netdev); | |||
| 3122 | void free_netdev(struct net_device *dev) | 3124 | void free_netdev(struct net_device *dev) |
| 3123 | { | 3125 | { |
| 3124 | #ifdef CONFIG_SYSFS | 3126 | #ifdef CONFIG_SYSFS |
| 3125 | /* Compatiablity with error handling in drivers */ | 3127 | /* Compatibility with error handling in drivers */ |
| 3126 | if (dev->reg_state == NETREG_UNINITIALIZED) { | 3128 | if (dev->reg_state == NETREG_UNINITIALIZED) { |
| 3127 | kfree((char *)dev - dev->padded); | 3129 | kfree((char *)dev - dev->padded); |
| 3128 | return; | 3130 | return; |
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 0190e39096b9..8a777932786d 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c | |||
| @@ -280,10 +280,13 @@ static int inline rt6_check_neigh(struct rt6_info *rt) | |||
| 280 | { | 280 | { |
| 281 | struct neighbour *neigh = rt->rt6i_nexthop; | 281 | struct neighbour *neigh = rt->rt6i_nexthop; |
| 282 | int m = 0; | 282 | int m = 0; |
| 283 | if (neigh) { | 283 | if (rt->rt6i_flags & RTF_NONEXTHOP || |
| 284 | !(rt->rt6i_flags & RTF_GATEWAY)) | ||
| 285 | m = 1; | ||
| 286 | else if (neigh) { | ||
| 284 | read_lock_bh(&neigh->lock); | 287 | read_lock_bh(&neigh->lock); |
| 285 | if (neigh->nud_state & NUD_VALID) | 288 | if (neigh->nud_state & NUD_VALID) |
| 286 | m = 1; | 289 | m = 2; |
| 287 | read_unlock_bh(&neigh->lock); | 290 | read_unlock_bh(&neigh->lock); |
| 288 | } | 291 | } |
| 289 | return m; | 292 | return m; |
| @@ -292,15 +295,18 @@ static int inline rt6_check_neigh(struct rt6_info *rt) | |||
| 292 | static int rt6_score_route(struct rt6_info *rt, int oif, | 295 | static int rt6_score_route(struct rt6_info *rt, int oif, |
| 293 | int strict) | 296 | int strict) |
| 294 | { | 297 | { |
| 295 | int m = rt6_check_dev(rt, oif); | 298 | int m, n; |
| 299 | |||
| 300 | m = rt6_check_dev(rt, oif); | ||
| 296 | if (!m && (strict & RT6_SELECT_F_IFACE)) | 301 | if (!m && (strict & RT6_SELECT_F_IFACE)) |
| 297 | return -1; | 302 | return -1; |
| 298 | #ifdef CONFIG_IPV6_ROUTER_PREF | 303 | #ifdef CONFIG_IPV6_ROUTER_PREF |
| 299 | m |= IPV6_DECODE_PREF(IPV6_EXTRACT_PREF(rt->rt6i_flags)) << 2; | 304 | m |= IPV6_DECODE_PREF(IPV6_EXTRACT_PREF(rt->rt6i_flags)) << 2; |
| 300 | #endif | 305 | #endif |
| 301 | if (rt6_check_neigh(rt)) | 306 | n = rt6_check_neigh(rt); |
| 307 | if (n > 1) | ||
| 302 | m |= 16; | 308 | m |= 16; |
| 303 | else if (strict & RT6_SELECT_F_REACHABLE) | 309 | else if (!n && strict & RT6_SELECT_F_REACHABLE) |
| 304 | return -1; | 310 | return -1; |
| 305 | return m; | 311 | return m; |
| 306 | } | 312 | } |
