patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] patch 'hash: fix doxygen of return values' has been queued to LTS release 17.11.4
@ 2018-08-13 20:42 Yongseok Koh
  2018-08-13 20:42 ` [dpdk-stable] patch 'net/qede: fix ntuple filter configuration' " Yongseok Koh
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Yongseok Koh @ 2018-08-13 20:42 UTC (permalink / raw)
  To: Pablo de Lara; +Cc: Petr Houska, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.4

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 08/15/18. So please
shout if anyone has objections.

Thanks.

Yongseok

---
>From 235464fa81fb61d23a052deecfb15e3bb89710cb Mon Sep 17 00:00:00 2001
From: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Date: Tue, 7 Aug 2018 03:00:04 +0100
Subject: [PATCH] hash: fix doxygen of return values

[ upstream commit f9975d333a8d51e4c15961f56a554914288768aa ]

rte_hash_lookup_data() and rte_hash_lookup_with_hash_data()
functions return the index of the table where the key is stored
when this is found, and not 0 as the Doxygen currently states.

Also, these functions, and rte_hash_get_key_with_position()
return negative values when keys are not found (-EINVAL and -ENOENT),
where the minus sign was missing.

Bugzilla ID: 78
Fixes: 473d1bebce43 ("hash: allow to store data in hash table")
Fixes: 6dc34e0afe7a ("hash: retrieve a key given its position")

Reported-by: Petr Houska <t-pehous@microsoft.com>
Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
---
 lib/librte_hash/rte_hash.h | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/lib/librte_hash/rte_hash.h b/lib/librte_hash/rte_hash.h
index 622c18009..5539e3389 100644
--- a/lib/librte_hash/rte_hash.h
+++ b/lib/librte_hash/rte_hash.h
@@ -283,8 +283,8 @@ rte_hash_del_key_with_hash(const struct rte_hash *h, const void *key, hash_sig_t
  *   Output containing a pointer to the key
  * @return
  *   - 0 if retrieved successfully
- *   - EINVAL if the parameters are invalid.
- *   - ENOENT if no valid key is found in the given position.
+ *   - -EINVAL if the parameters are invalid.
+ *   - -ENOENT if no valid key is found in the given position.
  */
 int
 rte_hash_get_key_with_position(const struct rte_hash *h, const int32_t position,
@@ -301,9 +301,11 @@ rte_hash_get_key_with_position(const struct rte_hash *h, const int32_t position,
  * @param data
  *   Output with pointer to data returned from the hash table.
  * @return
- *   0 if successful lookup
- *   - EINVAL if the parameters are invalid.
- *   - ENOENT if the key is not found.
+ *   - A positive value that can be used by the caller as an offset into an
+ *     array of user data. This value is unique for this key, and is the same
+ *     value that was returned when the key was added.
+ *   - -EINVAL if the parameters are invalid.
+ *   - -ENOENT if the key is not found.
  */
 int
 rte_hash_lookup_data(const struct rte_hash *h, const void *key, void **data);
@@ -322,9 +324,11 @@ rte_hash_lookup_data(const struct rte_hash *h, const void *key, void **data);
  * @param data
  *   Output with pointer to data returned from the hash table.
  * @return
- *   0 if successful lookup
- *   - EINVAL if the parameters are invalid.
- *   - ENOENT if the key is not found.
+ *   - A positive value that can be used by the caller as an offset into an
+ *     array of user data. This value is unique for this key, and is the same
+ *     value that was returned when the key was added.
+ *   - -EINVAL if the parameters are invalid.
+ *   - -ENOENT if the key is not found.
  */
 int
 rte_hash_lookup_with_hash_data(const struct rte_hash *h, const void *key,
-- 
2.11.0

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [dpdk-stable] patch 'net/qede: fix ntuple filter configuration' has been queued to LTS release 17.11.4
  2018-08-13 20:42 [dpdk-stable] patch 'hash: fix doxygen of return values' has been queued to LTS release 17.11.4 Yongseok Koh
@ 2018-08-13 20:42 ` Yongseok Koh
  2018-08-13 20:42 ` [dpdk-stable] patch 'kni: fix crash with null name' " Yongseok Koh
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Yongseok Koh @ 2018-08-13 20:42 UTC (permalink / raw)
  To: Shahed Shaikh; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.4

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 08/15/18. So please
shout if anyone has objections.

Thanks.

Yongseok

---
>From b6dad8b30293492cd6a6a1f81e48506095c37d68 Mon Sep 17 00:00:00 2001
From: Shahed Shaikh <shahed.shaikh@cavium.com>
Date: Tue, 7 Aug 2018 22:38:34 -0700
Subject: [PATCH] net/qede: fix ntuple filter configuration

[ upstream commit 10191fcd1a00d4dc55302d5f4abe97b5f3df0704 ]

PMD did not pass down the intended queue id while
configuring the ntuple filter.

Fixes: 622075356e8f ("net/qede: support ntuple and flow director filter")

Signed-off-by: Shahed Shaikh <shahed.shaikh@cavium.com>
---
 drivers/net/qede/qede_fdir.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/qede/qede_fdir.c b/drivers/net/qede/qede_fdir.c
index 153ef9640..05152566d 100644
--- a/drivers/net/qede/qede_fdir.c
+++ b/drivers/net/qede/qede_fdir.c
@@ -465,5 +465,8 @@ int qede_ntuple_filter_conf(struct rte_eth_dev *eth_dev,
 		udpv4_flow->src_port = ntuple->src_port;
 		udpv4_flow->dst_port = ntuple->dst_port;
 	}
+
+	fdir_entry.action.rx_queue = ntuple->queue;
+
 	return qede_config_cmn_fdir_filter(eth_dev, &fdir_entry, add);
 }
-- 
2.11.0

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [dpdk-stable] patch 'kni: fix crash with null name' has been queued to LTS release 17.11.4
  2018-08-13 20:42 [dpdk-stable] patch 'hash: fix doxygen of return values' has been queued to LTS release 17.11.4 Yongseok Koh
  2018-08-13 20:42 ` [dpdk-stable] patch 'net/qede: fix ntuple filter configuration' " Yongseok Koh
@ 2018-08-13 20:42 ` Yongseok Koh
  2018-08-13 20:42 ` [dpdk-stable] patch 'kni: fix build on RHEL 7.5' " Yongseok Koh
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Yongseok Koh @ 2018-08-13 20:42 UTC (permalink / raw)
  To: Dan Gora; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.4

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 08/15/18. So please
shout if anyone has objections.

Thanks.

Yongseok

---
>From 33fe4b59aae2a7e889d41134793323989ba13773 Mon Sep 17 00:00:00 2001
From: Dan Gora <dg@adax.com>
Date: Thu, 28 Jun 2018 15:58:38 -0700
Subject: [PATCH] kni: fix crash with null name

[ upstream commit e716b639856cc4baa46bc6d5bc63bcc1d6bd9cf9 ]

Fix a segmentation fault which occurs when the kni_autotest is run
in the 'test' application.

This segmenation fault occurs when rte_kni_get() is called with a
NULL value for 'name'.

Fixes: 0c6bc8ef70ba ("kni: memzone pool for alloc and release")

Signed-off-by: Dan Gora <dg@adax.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 lib/librte_kni/rte_kni.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/librte_kni/rte_kni.c b/lib/librte_kni/rte_kni.c
index 8eca8c03b..4b45d1a01 100644
--- a/lib/librte_kni/rte_kni.c
+++ b/lib/librte_kni/rte_kni.c
@@ -681,6 +681,9 @@ rte_kni_get(const char *name)
 	struct rte_kni_memzone_slot *it;
 	struct rte_kni *kni;
 
+	if (name == NULL || name[0] == '\0')
+		return NULL;
+
 	/* Note: could be improved perf-wise if necessary */
 	for (i = 0; i < kni_memzone_pool.max_ifaces; i++) {
 		it = &kni_memzone_pool.slots[i];
-- 
2.11.0

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [dpdk-stable] patch 'kni: fix build on RHEL 7.5' has been queued to LTS release 17.11.4
  2018-08-13 20:42 [dpdk-stable] patch 'hash: fix doxygen of return values' has been queued to LTS release 17.11.4 Yongseok Koh
  2018-08-13 20:42 ` [dpdk-stable] patch 'net/qede: fix ntuple filter configuration' " Yongseok Koh
  2018-08-13 20:42 ` [dpdk-stable] patch 'kni: fix crash with null name' " Yongseok Koh
@ 2018-08-13 20:42 ` Yongseok Koh
  2018-08-13 20:42 ` [dpdk-stable] patch 'net/mlx5: preserve promiscuous flag for flow isolation mode' " Yongseok Koh
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Yongseok Koh @ 2018-08-13 20:42 UTC (permalink / raw)
  To: Drocula Lambda; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.4

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 08/15/18. So please
shout if anyone has objections.

Thanks.

Yongseok

---
>From 0efd5520e443bad1c22dd7b34b76a9fa94ae7d33 Mon Sep 17 00:00:00 2001
From: Drocula Lambda <quzeyao@gmail.com>
Date: Thu, 9 Aug 2018 12:09:06 +0000
Subject: [PATCH] kni: fix build on RHEL 7.5

[ upstream commit 3639c91df43d7cfa29cf4d419a2c56c45f6fcf26 ]

This patch fixes compilation errors on Centos 7.5 when
CONFIG_RTE_KNI_KMOD_ETHTOOL is set to 'y'.
On RHEL75 ndo_change_mtu has changed to ndo_change_mtu_rh74.

See commit 37d477b6863e5c06 ("kni: fix build on RHEL 7.5")

Signed-off-by: Drocula Lambda <quzeyao@gmail.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
index 6691edf1d..6b738911f 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h
@@ -3944,6 +3944,11 @@ skb_set_hash(struct sk_buff *skb, __u32 hash, __always_unused int type)
 #endif
 #endif
 
+#if (defined(RHEL_RELEASE_CODE) && \
+	(RHEL_RELEASE_VERSION(7, 5) <= RHEL_RELEASE_CODE))
+#define ndo_change_mtu ndo_change_mtu_rh74
+#endif
+
 #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0)
 #define HAVE_PCI_ENABLE_MSIX
 #endif
-- 
2.11.0

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [dpdk-stable] patch 'net/mlx5: preserve promiscuous flag for flow isolation mode' has been queued to LTS release 17.11.4
  2018-08-13 20:42 [dpdk-stable] patch 'hash: fix doxygen of return values' has been queued to LTS release 17.11.4 Yongseok Koh
                   ` (2 preceding siblings ...)
  2018-08-13 20:42 ` [dpdk-stable] patch 'kni: fix build on RHEL 7.5' " Yongseok Koh
@ 2018-08-13 20:42 ` Yongseok Koh
  2018-08-13 20:42 ` [dpdk-stable] patch 'net/mlx5: preserve allmulticast " Yongseok Koh
  2018-08-13 20:43 ` [dpdk-stable] patch 'ethdev: fix a doxygen comment for port allocation' " Yongseok Koh
  5 siblings, 0 replies; 7+ messages in thread
From: Yongseok Koh @ 2018-08-13 20:42 UTC (permalink / raw)
  To: Yongseok Koh; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.4

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 08/15/18. So please
shout if anyone has objections.

Thanks.

Yongseok

---
>From eea864f748d36d540ebdf4db48107e31683f5b96 Mon Sep 17 00:00:00 2001
From: Yongseok Koh <yskoh@mellanox.com>
Date: Thu, 2 Aug 2018 14:06:31 -0700
Subject: [PATCH] net/mlx5: preserve promiscuous flag for flow isolation mode

[ backported from upstream commit 24b068ad71229139f74a1c45bd45dcf9f4611f89 ]

mlx5_dev_ops_isolate doesn't have APIs for enabling/disabling promiscuous
mode as it can't be enabled in flow isolation mode. If the function
pointers are null, librte APIs such as rte_eth_promiscuous_enable/disable()
fail to set the flag (dev->data->promiscuous). The flag is used when
starting traffic by mlx5_traffic_enable(). When switching out of flow
isolation mode, promiscuous mode will not be set even though it has been
enabled.

Fixes: 0887aa7f27f3 ("net/mlx5: add new operations for isolated mode")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
---
 drivers/net/mlx5/mlx5.c        | 2 ++
 drivers/net/mlx5/mlx5_rxmode.c | 8 ++++++++
 2 files changed, 10 insertions(+)

diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c
index 76f76c41b..8f7fac15c 100644
--- a/drivers/net/mlx5/mlx5.c
+++ b/drivers/net/mlx5/mlx5.c
@@ -345,6 +345,8 @@ const struct eth_dev_ops mlx5_dev_ops_isolate = {
 	.dev_set_link_down = mlx5_set_link_down,
 	.dev_set_link_up = mlx5_set_link_up,
 	.dev_close = mlx5_dev_close,
+	.promiscuous_enable = mlx5_promiscuous_enable,
+	.promiscuous_disable = mlx5_promiscuous_disable,
 	.link_update = mlx5_link_update,
 	.stats_get = mlx5_stats_get,
 	.stats_reset = mlx5_stats_reset,
diff --git a/drivers/net/mlx5/mlx5_rxmode.c b/drivers/net/mlx5/mlx5_rxmode.c
index 23eae7c12..d81fd3d20 100644
--- a/drivers/net/mlx5/mlx5_rxmode.c
+++ b/drivers/net/mlx5/mlx5_rxmode.c
@@ -60,9 +60,17 @@
 void
 mlx5_promiscuous_enable(struct rte_eth_dev *dev)
 {
+	struct priv *priv = dev->data->dev_private;
 	int ret;
 
 	dev->data->promiscuous = 1;
+	if (priv->isolated) {
+		DRV_LOG(WARNING,
+			"port %u cannot enable promiscuous mode"
+			" in flow isolation mode",
+			dev->data->port_id);
+		return;
+	}
 	ret = mlx5_traffic_restart(dev);
 	if (ret)
 		DRV_LOG(ERR, "port %u cannot enable promiscuous mode: %s",
-- 
2.11.0

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [dpdk-stable] patch 'net/mlx5: preserve allmulticast flag for flow isolation mode' has been queued to LTS release 17.11.4
  2018-08-13 20:42 [dpdk-stable] patch 'hash: fix doxygen of return values' has been queued to LTS release 17.11.4 Yongseok Koh
                   ` (3 preceding siblings ...)
  2018-08-13 20:42 ` [dpdk-stable] patch 'net/mlx5: preserve promiscuous flag for flow isolation mode' " Yongseok Koh
@ 2018-08-13 20:42 ` Yongseok Koh
  2018-08-13 20:43 ` [dpdk-stable] patch 'ethdev: fix a doxygen comment for port allocation' " Yongseok Koh
  5 siblings, 0 replies; 7+ messages in thread
From: Yongseok Koh @ 2018-08-13 20:42 UTC (permalink / raw)
  To: Yongseok Koh; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.4

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 08/15/18. So please
shout if anyone has objections.

Thanks.

Yongseok

---
>From bf7ed5439d7bc7be5a094113f85c4c5951771e32 Mon Sep 17 00:00:00 2001
From: Yongseok Koh <yskoh@mellanox.com>
Date: Thu, 2 Aug 2018 14:06:32 -0700
Subject: [PATCH] net/mlx5: preserve allmulticast flag for flow isolation mode

[ backported from upstream commit 2547ee74580d376a680729567dae8bc757fba438 ]

mlx5_dev_ops_isolate doesn't have APIs for enabling/disabling allmulti
mode as it can't be enabled in flow isolation mode. If the function
pointers are null, librte APIs such as
rte_eth_allmulticast_enable/disable() fail to set the flag
(dev->data->all_multicast). The flag is used when starting traffic by
mlx5_traffic_enable(). When switching out of flow isolation mode, allmulti
mode will not be set even though it has been enabled.

Fixes: 0887aa7f27f3 ("net/mlx5: add new operations for isolated mode")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
---
 drivers/net/mlx5/mlx5.c        | 2 ++
 drivers/net/mlx5/mlx5_rxmode.c | 8 ++++++++
 2 files changed, 10 insertions(+)

diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c
index 8f7fac15c..36f3a0565 100644
--- a/drivers/net/mlx5/mlx5.c
+++ b/drivers/net/mlx5/mlx5.c
@@ -347,6 +347,8 @@ const struct eth_dev_ops mlx5_dev_ops_isolate = {
 	.dev_close = mlx5_dev_close,
 	.promiscuous_enable = mlx5_promiscuous_enable,
 	.promiscuous_disable = mlx5_promiscuous_disable,
+	.allmulticast_enable = mlx5_allmulticast_enable,
+	.allmulticast_disable = mlx5_allmulticast_disable,
 	.link_update = mlx5_link_update,
 	.stats_get = mlx5_stats_get,
 	.stats_reset = mlx5_stats_reset,
diff --git a/drivers/net/mlx5/mlx5_rxmode.c b/drivers/net/mlx5/mlx5_rxmode.c
index d81fd3d20..617138c13 100644
--- a/drivers/net/mlx5/mlx5_rxmode.c
+++ b/drivers/net/mlx5/mlx5_rxmode.c
@@ -104,9 +104,17 @@ mlx5_promiscuous_disable(struct rte_eth_dev *dev)
 void
 mlx5_allmulticast_enable(struct rte_eth_dev *dev)
 {
+	struct priv *priv = dev->data->dev_private;
 	int ret;
 
 	dev->data->all_multicast = 1;
+	if (priv->isolated) {
+		DRV_LOG(WARNING,
+			"port %u cannot enable allmulticast mode"
+			" in flow isolation mode",
+			dev->data->port_id);
+		return;
+	}
 	ret = mlx5_traffic_restart(dev);
 	if (ret)
 		DRV_LOG(ERR, "port %u cannot enable allmulicast mode: %s",
-- 
2.11.0

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [dpdk-stable] patch 'ethdev: fix a doxygen comment for port allocation' has been queued to LTS release 17.11.4
  2018-08-13 20:42 [dpdk-stable] patch 'hash: fix doxygen of return values' has been queued to LTS release 17.11.4 Yongseok Koh
                   ` (4 preceding siblings ...)
  2018-08-13 20:42 ` [dpdk-stable] patch 'net/mlx5: preserve allmulticast " Yongseok Koh
@ 2018-08-13 20:43 ` Yongseok Koh
  5 siblings, 0 replies; 7+ messages in thread
From: Yongseok Koh @ 2018-08-13 20:43 UTC (permalink / raw)
  To: Rami Rosen; +Cc: Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 17.11.4

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 08/15/18. So please
shout if anyone has objections.

Thanks.

Yongseok

---
>From 7ef5d81364a567e1166ed193bd8d43c03c2731d1 Mon Sep 17 00:00:00 2001
From: Rami Rosen <rami.rosen@intel.com>
Date: Sun, 5 Aug 2018 23:03:28 +0300
Subject: [PATCH] ethdev: fix a doxygen comment for port allocation

[ backported from upstream commit 2da7f0146e47833215e68f2c658b4275b8d609fc ]

This patch fixes a doxygen comment of the rte_eth_dev_allocate()
method. There is no parameter named "type" for this
method; so this patch removes the doxygen comment about it.

Fixes: 6751f6deb798 ("ethdev: get rid of device type")

Signed-off-by: Rami Rosen <rami.rosen@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 lib/librte_ether/rte_ethdev.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index 89a13188c..47e37a6fa 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -1877,7 +1877,6 @@ struct rte_eth_dev *rte_eth_dev_allocated(const char *name);
  * to that slot for the driver to use.
  *
  * @param	name	Unique identifier name for each Ethernet device
- * @param	type	Device type of this Ethernet device
  * @return
  *   - Slot in the rte_dev_devices array for a new device;
  */
-- 
2.11.0

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-08-13 20:43 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-13 20:42 [dpdk-stable] patch 'hash: fix doxygen of return values' has been queued to LTS release 17.11.4 Yongseok Koh
2018-08-13 20:42 ` [dpdk-stable] patch 'net/qede: fix ntuple filter configuration' " Yongseok Koh
2018-08-13 20:42 ` [dpdk-stable] patch 'kni: fix crash with null name' " Yongseok Koh
2018-08-13 20:42 ` [dpdk-stable] patch 'kni: fix build on RHEL 7.5' " Yongseok Koh
2018-08-13 20:42 ` [dpdk-stable] patch 'net/mlx5: preserve promiscuous flag for flow isolation mode' " Yongseok Koh
2018-08-13 20:42 ` [dpdk-stable] patch 'net/mlx5: preserve allmulticast " Yongseok Koh
2018-08-13 20:43 ` [dpdk-stable] patch 'ethdev: fix a doxygen comment for port allocation' " Yongseok Koh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).