From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 659FEC4CECE for ; Mon, 14 Oct 2019 20:33:37 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 30EE1206A3 for ; Mon, 14 Oct 2019 20:33:37 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="dMpX4osW" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733252AbfJNUdg (ORCPT ); Mon, 14 Oct 2019 16:33:36 -0400 Received: from mail-wm1-f65.google.com ([209.85.128.65]:36216 "EHLO mail-wm1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729667AbfJNUdg (ORCPT ); Mon, 14 Oct 2019 16:33:36 -0400 Received: by mail-wm1-f65.google.com with SMTP id m18so18020253wmc.1 for ; Mon, 14 Oct 2019 13:33:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=RL+qRYT6Goj58mWMl95r8FGMxjYOCcO4sf1iNuaKh9U=; b=dMpX4osW+Gizh9wuXThIULR+SMojXNXSVsVvoWi5OvVzxXiLGj195gyZ0EdA3ugmnf pNJa9ZRwkxgN96umOkiqmG22sEeEnHfHxbwOCABF932ETOIQozeKKpwV4kOYVqDZdYpg HCazf1SLvF8mNO3JApRICKFlRopM9A0+MQ9KKpJvlyBDThEZ2i3z8fb3COic55OAQtJM 8uPRQDu4QUAbItWuMpA1YNQofcuzZx5hpVW/0/UlNHEzP8FGK2ePDh9KDJ/pasgRXdbd qmhX6qiIJmhColRpPsyAtExuKOWc9pX84aDJFFd9WvWi3x/EZikS4XryeAB1saHR+0vu jghQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=RL+qRYT6Goj58mWMl95r8FGMxjYOCcO4sf1iNuaKh9U=; b=b0gjrAyROKTZKLbVEzRAFjHr7SYn3GXqhmAp0Yp+I1MQ1R/TsfOyDWa/td9wBDSO4z Xqij9vb9uzkR0W8aMpoCvcZ9BMObEhGDIL3vcyxhzVzBjvFk+G4FgEQu6z+vpD2+6c+q 29ydIO0nmlr+6iE1eybqjtK4yIpexZGILT9rCCTYx3HggB1qBFy9CalJoCZsCqleiznz LF9cIo9xMnRZZ3wjiLqXyD9DR39HrtA3d/QZJRrh0VrMI29PkXxmHqWNfpGF4OU0f2TJ MLW+Mw2E2CVodkKSCisKWflC4fDlDCJCBjsOa+ARjkabF1KyhKpM7yrOI6DY6XEhHttX gL9g== X-Gm-Message-State: APjAAAV9D5hvVde07bNB/Z03H66jqn6cMjEBVHPX82umMiqHDE6HrzHE ymhzCWWhATFd6tajEXvyqed++2SwUTat+CHHJydyyGLGyPQ= X-Google-Smtp-Source: APXvYqzXLid+PDcZKtgZAJnd+DnjNjmGs2LNAqZ3GOO2Khpo/muwpEqr2khANBlfQMDwxJ+eHJscGM6cBUWo4kOCBzY= X-Received: by 2002:a1c:2d85:: with SMTP id t127mr15762182wmt.109.1571085213841; Mon, 14 Oct 2019 13:33:33 -0700 (PDT) MIME-Version: 1.0 From: Richard Weinberger Date: Mon, 14 Oct 2019 22:33:22 +0200 Message-ID: Subject: Bridge port userspace events broken? To: netdev@vger.kernel.org Cc: Roopa Prabhu , nikolay@cumulusnetworks.com, bridge@lists.linux-foundation.org, Greg KH Content-Type: text/plain; charset="UTF-8" Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Hi! My userspace needs /sys/class/net/eth0/brport/group_fwd_mask, so I set up udev rules to wait for the sysfs file. Without luck. Also "udevadm monitor" does not show any event related to /sys/class/net/eth0/brport when I assign eth0 to a bridge. First I thought that the bridge code just misses to emit some events but br_add_if() calls kobject_uevent() which is good. Greg gave me the hint that the bridge code might not use the kobject model correctly. Enabling kobjekt debugging shows that all events are dropped: [ 36.904602] device eth0 entered promiscuous mode [ 36.904786] kobject: 'brport' (0000000028a47e33): kobject_uevent_env [ 36.904789] kobject: 'brport' (0000000028a47e33): kobject_uevent_env: filter function caused the event to drop! If I understood Greg correctly this is because the bridge code uses plain kobjects which have a parent object. Therefore all events are dropped. Shouldn't brport be a kset just like net_device->queues_kset? -- Thanks, //richard