提交 c3229398 编写于 作者: M Marek Lindner 提交者: Antonio Quartulli

batman-adv: refactoring API: find generalized name for bat_ogm_update_mac callback

Signed-off-by: NMarek Lindner <lindner_marek@yahoo.de>
Signed-off-by: NAntonio Quartulli <ordex@autistici.org>
上级 edbf12ba
...@@ -93,24 +93,24 @@ static void bat_iv_ogm_iface_disable(struct hard_iface *hard_iface) ...@@ -93,24 +93,24 @@ static void bat_iv_ogm_iface_disable(struct hard_iface *hard_iface)
hard_iface->packet_buff = NULL; hard_iface->packet_buff = NULL;
} }
static void bat_iv_ogm_primary_iface_set(struct hard_iface *hard_iface) static void bat_iv_ogm_iface_update_mac(struct hard_iface *hard_iface)
{ {
struct batman_ogm_packet *batman_ogm_packet; struct batman_ogm_packet *batman_ogm_packet;
batman_ogm_packet = (struct batman_ogm_packet *)hard_iface->packet_buff; batman_ogm_packet = (struct batman_ogm_packet *)hard_iface->packet_buff;
batman_ogm_packet->flags = PRIMARIES_FIRST_HOP; memcpy(batman_ogm_packet->orig,
batman_ogm_packet->header.ttl = TTL; hard_iface->net_dev->dev_addr, ETH_ALEN);
memcpy(batman_ogm_packet->prev_sender,
hard_iface->net_dev->dev_addr, ETH_ALEN);
} }
static void bat_iv_ogm_update_mac(struct hard_iface *hard_iface) static void bat_iv_ogm_primary_iface_set(struct hard_iface *hard_iface)
{ {
struct batman_ogm_packet *batman_ogm_packet; struct batman_ogm_packet *batman_ogm_packet;
batman_ogm_packet = (struct batman_ogm_packet *)hard_iface->packet_buff; batman_ogm_packet = (struct batman_ogm_packet *)hard_iface->packet_buff;
memcpy(batman_ogm_packet->orig, batman_ogm_packet->flags = PRIMARIES_FIRST_HOP;
hard_iface->net_dev->dev_addr, ETH_ALEN); batman_ogm_packet->header.ttl = TTL;
memcpy(batman_ogm_packet->prev_sender,
hard_iface->net_dev->dev_addr, ETH_ALEN);
} }
/* when do we schedule our own ogm to be sent */ /* when do we schedule our own ogm to be sent */
...@@ -1236,8 +1236,8 @@ static struct bat_algo_ops batman_iv __read_mostly = { ...@@ -1236,8 +1236,8 @@ static struct bat_algo_ops batman_iv __read_mostly = {
.name = "BATMAN IV", .name = "BATMAN IV",
.bat_iface_enable = bat_iv_ogm_iface_enable, .bat_iface_enable = bat_iv_ogm_iface_enable,
.bat_iface_disable = bat_iv_ogm_iface_disable, .bat_iface_disable = bat_iv_ogm_iface_disable,
.bat_iface_update_mac = bat_iv_ogm_iface_update_mac,
.bat_primary_iface_set = bat_iv_ogm_primary_iface_set, .bat_primary_iface_set = bat_iv_ogm_primary_iface_set,
.bat_ogm_update_mac = bat_iv_ogm_update_mac,
.bat_ogm_schedule = bat_iv_ogm_schedule, .bat_ogm_schedule = bat_iv_ogm_schedule,
.bat_ogm_emit = bat_iv_ogm_emit, .bat_ogm_emit = bat_iv_ogm_emit,
}; };
......
...@@ -228,7 +228,7 @@ static void hardif_activate_interface(struct hard_iface *hard_iface) ...@@ -228,7 +228,7 @@ static void hardif_activate_interface(struct hard_iface *hard_iface)
bat_priv = netdev_priv(hard_iface->soft_iface); bat_priv = netdev_priv(hard_iface->soft_iface);
bat_priv->bat_algo_ops->bat_ogm_update_mac(hard_iface); bat_priv->bat_algo_ops->bat_iface_update_mac(hard_iface);
hard_iface->if_status = IF_TO_BE_ACTIVATED; hard_iface->if_status = IF_TO_BE_ACTIVATED;
/** /**
...@@ -524,7 +524,7 @@ static int hard_if_event(struct notifier_block *this, ...@@ -524,7 +524,7 @@ static int hard_if_event(struct notifier_block *this,
check_known_mac_addr(hard_iface->net_dev); check_known_mac_addr(hard_iface->net_dev);
bat_priv = netdev_priv(hard_iface->soft_iface); bat_priv = netdev_priv(hard_iface->soft_iface);
bat_priv->bat_algo_ops->bat_ogm_update_mac(hard_iface); bat_priv->bat_algo_ops->bat_iface_update_mac(hard_iface);
primary_if = primary_if_get_selected(bat_priv); primary_if = primary_if_get_selected(bat_priv);
if (!primary_if) if (!primary_if)
......
...@@ -329,8 +329,8 @@ int bat_algo_register(struct bat_algo_ops *bat_algo_ops) ...@@ -329,8 +329,8 @@ int bat_algo_register(struct bat_algo_ops *bat_algo_ops)
/* all algorithms must implement all ops (for now) */ /* all algorithms must implement all ops (for now) */
if (!bat_algo_ops->bat_iface_enable || if (!bat_algo_ops->bat_iface_enable ||
!bat_algo_ops->bat_iface_disable || !bat_algo_ops->bat_iface_disable ||
!bat_algo_ops->bat_iface_update_mac ||
!bat_algo_ops->bat_primary_iface_set || !bat_algo_ops->bat_primary_iface_set ||
!bat_algo_ops->bat_ogm_update_mac ||
!bat_algo_ops->bat_ogm_schedule || !bat_algo_ops->bat_ogm_schedule ||
!bat_algo_ops->bat_ogm_emit) { !bat_algo_ops->bat_ogm_emit) {
pr_info("Routing algo '%s' does not implement required ops\n", pr_info("Routing algo '%s' does not implement required ops\n",
......
...@@ -381,10 +381,12 @@ struct bat_algo_ops { ...@@ -381,10 +381,12 @@ struct bat_algo_ops {
int (*bat_iface_enable)(struct hard_iface *hard_iface); int (*bat_iface_enable)(struct hard_iface *hard_iface);
/* de-init routing info when hard-interface is disabled */ /* de-init routing info when hard-interface is disabled */
void (*bat_iface_disable)(struct hard_iface *hard_iface); void (*bat_iface_disable)(struct hard_iface *hard_iface);
/* (re-)init mac addresses of the protocol information
* belonging to this hard-interface
*/
void (*bat_iface_update_mac)(struct hard_iface *hard_iface);
/* called when primary interface is selected / changed */ /* called when primary interface is selected / changed */
void (*bat_primary_iface_set)(struct hard_iface *hard_iface); void (*bat_primary_iface_set)(struct hard_iface *hard_iface);
/* init mac addresses of the OGM belonging to this hard-interface */
void (*bat_ogm_update_mac)(struct hard_iface *hard_iface);
/* prepare a new outgoing OGM for the send queue */ /* prepare a new outgoing OGM for the send queue */
void (*bat_ogm_schedule)(struct hard_iface *hard_iface, void (*bat_ogm_schedule)(struct hard_iface *hard_iface,
int tt_num_changes); int tt_num_changes);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册