Here are some batman-adv bugfixes:
- fix a leaked TVLV handler which wasn't unregistered, by Jeremy Sowden - fix duplicated OGMs when interfaces are set UP, by Sven Eckelmann -----BEGIN PGP SIGNATURE----- iQJKBAABCgA0FiEE1ilQI7G+y+fdhnrfoSvjmEKSnqEFAl0Ump8WHHN3QHNpbW9u d3VuZGVybGljaC5kZQAKCRChK+OYQpKeoWGED/4gixPn7YQnMn16FNwYYhCPe8b0 fy87LWDmavx3k9qfWQ7ay65e2RUjXaZcHMIjnk7cFzFE+a/2vAsqSXwqtIEiEmb5 8RAWTBL8MVokKAg9KP3PJPCzp10nxoViT5Hm5OXgW/yvWEy1TW8Jr3PYK6zlxhiM bFssDG4Hep8NErwVw4qtOEAvC3m068Y8dxRDn2IXYXI5ceWplBiTlOPcQy/m8y3r i7GWvJlHuyOpgYA4d8F7LJ38fo0JrdXEQE1ecFk/vRVZ0uqCv10+kDNislfEjSMO u7aNRkGj5nI3MfvPOc4a8BUKqieMmCeJUf0KitSEKB63FjjbITRSVHwVIU3u5xQr J8lt9M9gBQMiuly7jemIxJyzSsiak8L4gd4QKcYLaSzH4yoiU9BPmWlSsHZF6MxG AYvwE7ae/OA4RaUriiNfEQhFeJt+2mgzrqH7WEW279rdBo08M5EXbEtlHomZAPFT 3/VGgL3SezM/fMaq8pIx2NQRBXbFhPMOGObODqaY0FOLXIsX9hAQN+/6QXyYaPCx mGXzrlo3VUhwjHbe0gc7uEn+oApKc0kCVTrFOu35rzlDd9e6+DsrFwaqoF2e4aEV DXXkyEcWKmeGqymHH8NkczNkl0maPxBxCqRvOG1+2lWqw17ipqTpNySLuXI1SaTS hqZne1JkcQ7Yx7OrcA== =TqkI -----END PGP SIGNATURE----- Merge tag 'batadv-net-for-davem-20190627' of git://git.open-mesh.org/linux-merge Simon Wunderlich says: ==================== Here are some batman-adv bugfixes: - fix a leaked TVLV handler which wasn't unregistered, by Jeremy Sowden - fix duplicated OGMs when interfaces are set UP, by Sven Eckelmann ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Коммит
2c377b5abc
|
@ -2337,7 +2337,7 @@ batadv_iv_ogm_neigh_is_sob(struct batadv_neigh_node *neigh1,
|
|||
return ret;
|
||||
}
|
||||
|
||||
static void batadv_iv_iface_activate(struct batadv_hard_iface *hard_iface)
|
||||
static void batadv_iv_iface_enabled(struct batadv_hard_iface *hard_iface)
|
||||
{
|
||||
/* begin scheduling originator messages on that interface */
|
||||
batadv_iv_ogm_schedule(hard_iface);
|
||||
|
@ -2683,8 +2683,8 @@ unlock:
|
|||
static struct batadv_algo_ops batadv_batman_iv __read_mostly = {
|
||||
.name = "BATMAN_IV",
|
||||
.iface = {
|
||||
.activate = batadv_iv_iface_activate,
|
||||
.enable = batadv_iv_ogm_iface_enable,
|
||||
.enabled = batadv_iv_iface_enabled,
|
||||
.disable = batadv_iv_ogm_iface_disable,
|
||||
.update_mac = batadv_iv_ogm_iface_update_mac,
|
||||
.primary_set = batadv_iv_ogm_primary_iface_set,
|
||||
|
|
|
@ -795,6 +795,9 @@ int batadv_hardif_enable_interface(struct batadv_hard_iface *hard_iface,
|
|||
|
||||
batadv_hardif_recalc_extra_skbroom(soft_iface);
|
||||
|
||||
if (bat_priv->algo_ops->iface.enabled)
|
||||
bat_priv->algo_ops->iface.enabled(hard_iface);
|
||||
|
||||
out:
|
||||
return 0;
|
||||
|
||||
|
|
|
@ -3813,6 +3813,8 @@ static void batadv_tt_purge(struct work_struct *work)
|
|||
*/
|
||||
void batadv_tt_free(struct batadv_priv *bat_priv)
|
||||
{
|
||||
batadv_tvlv_handler_unregister(bat_priv, BATADV_TVLV_ROAM, 1);
|
||||
|
||||
batadv_tvlv_container_unregister(bat_priv, BATADV_TVLV_TT, 1);
|
||||
batadv_tvlv_handler_unregister(bat_priv, BATADV_TVLV_TT, 1);
|
||||
|
||||
|
|
|
@ -2129,6 +2129,9 @@ struct batadv_algo_iface_ops {
|
|||
/** @enable: init routing info when hard-interface is enabled */
|
||||
int (*enable)(struct batadv_hard_iface *hard_iface);
|
||||
|
||||
/** @enabled: notification when hard-interface was enabled (optional) */
|
||||
void (*enabled)(struct batadv_hard_iface *hard_iface);
|
||||
|
||||
/** @disable: de-init routing info when hard-interface is disabled */
|
||||
void (*disable)(struct batadv_hard_iface *hard_iface);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче