@@ -155,33 +155,6 @@ static int free_pktio_entry(odp_pktio_t id)
return 0;
}
-static int find_loop_dev(char loop[IFNAMSIZ])
-{
- struct ifaddrs *ifap, *ifa;
-
- getifaddrs(&ifap);
-
- for (ifa = ifap; ifa; ifa = ifa->ifa_next) {
- if (ifa->ifa_addr &&
- ifa->ifa_addr->sa_family == AF_INET) {
- if ((ifa->ifa_flags & (IFF_LOOPBACK |
- IFF_POINTOPOINT |
- IFF_NOARP)) ||
- (!memcmp(ifa->ifa_name, "lxcbr", 5)) ||
- (!memcmp(ifa->ifa_name, "wlan", 4)) ||
- (!memcmp(ifa->ifa_name, "veth", 4)) ||
- (!memcmp(ifa->ifa_name, "virbr", 5)))
- continue;
- memcpy(loop, ifa->ifa_name, IFNAMSIZ);
- freeifaddrs(ifap);
- return 0;
- }
- }
-
- freeifaddrs(ifap);
- return -1;
-}
-
odp_pktio_t odp_pktio_open(const char *dev, odp_buffer_pool_t pool)
{
odp_pktio_t id;
@@ -203,26 +176,21 @@ odp_pktio_t odp_pktio_open(const char *dev, odp_buffer_pool_t pool)
*/
loop_hint = getenv("ODP_PKTIO_LOOPDEV");
if (!strcmp(dev, "loop")) {
- if (loop_hint && (strlen(loop_hint) > 0)) {
- if (strlen(loop_hint) >= IFNAMSIZ) {
- ODP_ERR("pktio name %s is too big, limit is %d bytes\n",
- loop_hint, IFNAMSIZ);
- return ODP_PKTIO_INVALID;
- }
+ if (!loop_hint || (strlen(loop_hint) == 0)) {
+ ODP_ERR("Set loop with ODP_PKTIO_LOOPDEV=ethX\n");
+ return ODP_PKTIO_INVALID;
+ }
- memset(loop, 0, IFNAMSIZ);
- memcpy(loop, loop_hint, strlen(loop_hint));
- dev = loop;
- ODP_DBG("pktio using %s as loopback device\n", loop_hint);
- } else {
- if (!find_loop_dev(loop)) {
- ODP_DBG("pktio rename loop to %s\n", loop);
- dev = loop;
- } else {
- ODP_DBG("pktio: No suitable netdev.\n");
- return ODP_PKTIO_INVALID;
- }
+ if (strlen(loop_hint) >= IFNAMSIZ) {
+ ODP_ERR("pktio name %s is too big, limit is %d bytes\n",
+ loop_hint, IFNAMSIZ);
+ return ODP_PKTIO_INVALID;
}
+
+ memset(loop, 0, IFNAMSIZ);
+ memcpy(loop, loop_hint, strlen(loop_hint));
+ dev = loop;
+ ODP_DBG("pktio using %s as loopback device\n", loop_hint);
}
id = alloc_lock_pktio_entry();
Skip that patch. Maxim. -------- Исходное сообщение -------- От: Mike Holmes <mike.holmes@linaro.org> Дата:10.12.2014 23:13 (GMT+03:00) Кому: Maxim Uvarov <maxim.uvarov@linaro.org> Копия: lng-odp <lng-odp@lists.linaro.org> Тема: Re: [lng-odp] [PATCH] fix loop Patch does not describe why the loop needed fixing, the message also does not indicate if it was an example, test or implementation change. On 8 December 2014 at 09:58, Maxim Uvarov <maxim.uvarov@linaro.org> wrote: Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> --- platform/linux-generic/odp_packet_io.c | 58 ++++++++-------------------------- 1 file changed, 13 insertions(+), 45 deletions(-) -- 1.8.5.1.163.gd7aced9