13 May, 2011

1 commit

  • When removing last vlan from a device, garp_uninit_applicant() calls
    synchronize_rcu() to make sure no user can still manipulate struct
    garp_applicant before we free it.

    Use call_rcu() instead, as a step to further net_device dismantle
    optimizations.

    Add the temporary garp_cleanup_module() function to make sure no pending
    call_rcu() are left at module unload time [ this will be removed when
    kfree_rcu() is available ]

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     

10 May, 2011

1 commit

  • Speedup vlan dismantling in CONFIG_VLAN_8021Q_GVRP=y cases,
    by using a call_rcu() to free the memory instead of waiting with
    expensive synchronize_rcu() [ while RTNL is held ]

    Signed-off-by: Eric Dumazet
    Cc: Ben Greear
    Cc: Patrick McHardy
    Cc: Paul E. McKenney
    Signed-off-by: David S. Miller

    Eric Dumazet
     

26 Oct, 2010

1 commit

  • (struct net_device)->garp_port is rcu protected :
    (struct garp_port)->applicants is rcu protected :

    add __rcu annotation and proper rcu primitives.

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     

06 Jul, 2008

2 commits

  • Add GVRP support for dynamically registering VLANs with switches.

    By default GVRP is disabled because we only support the applicant-only
    participant model, which means it should not be enabled on vlans that
    are members of a bridge. Since there is currently no way to cleanly
    determine that, the user is responsible for enabling it.

    The code is pretty small and low impact, its wrapped in a config
    option though because it depends on the GARP implementation and
    the STP core.

    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Patrick McHardy
     
  • Add an implementation of the GARP (Generic Attribute Registration Protocol)
    applicant-only participant. This will be used by the following patch to
    add GVRP support to the VLAN code.

    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Patrick McHardy