On Tue, Feb 23, 2016 at 4:53 AM, Paolo Abeni <pab...@redhat.com> wrote:
> On bridge needed_headroom changes, the enslaved devices are
> notified via the ndo_set_rx_headroom method
>
> Signed-off-by: Paolo Abeni <pab...@redhat.com>
> ---
>  net/bridge/br_if.c | 36 ++++++++++++++++++++++++++++++++++--
>  1 file changed, 34 insertions(+), 2 deletions(-)
>
> diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c
> index c367b3e..f42f1da 100644
> --- a/net/bridge/br_if.c
> +++ b/net/bridge/br_if.c
> @@ -223,6 +223,31 @@ static void destroy_nbp_rcu(struct rcu_head *head)
>         destroy_nbp(p);
>  }
>
> +static unsigned get_max_headroom(struct net_bridge *br)
> +{
> +       unsigned max_headroom = 0;
> +       struct net_bridge_port *p;
> +
> +       list_for_each_entry(p, &br->port_list, list) {
> +               unsigned dev_headroom = netdev_get_fwd_headroom(p->dev);
> +

IFF_PHONY_HEADROOM is only set for veth and ovs-internal-device, so we
can not get headroom for tunnel devices. I guess it worked in your
tests due to the bug in netdev_get_fwd_headroom().

Reply via email to