import libteam-1.28-2.el8
This commit is contained in:
commit
c642c5bda7
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
SOURCES/libteam-1.28.tar.gz
|
1
.libteam.metadata
Normal file
1
.libteam.metadata
Normal file
@ -0,0 +1 @@
|
|||||||
|
c3429d0b29ae78dd1d4899dab6fe9f13af26ff7d SOURCES/libteam-1.28.tar.gz
|
30
SOURCES/libteam-man-fix-runner.min_ports-default-value.patch
Normal file
30
SOURCES/libteam-man-fix-runner.min_ports-default-value.patch
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
From f36c191da3d65a4744582b2eb09fa297dd85f9ae Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hangbin Liu <liuhangbin@gmail.com>
|
||||||
|
Date: Fri, 22 Feb 2019 16:27:46 +0800
|
||||||
|
Subject: [PATCH 5/6] man: fix runner.min_ports default value
|
||||||
|
|
||||||
|
It should be 1 instead of 0.
|
||||||
|
|
||||||
|
Reported-by: LiLiang <liali@redhat.com>
|
||||||
|
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
|
||||||
|
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
|
||||||
|
---
|
||||||
|
man/teamd.conf.5 | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/man/teamd.conf.5 b/man/teamd.conf.5
|
||||||
|
index 9bdf46a..5b0f3e9 100644
|
||||||
|
--- a/man/teamd.conf.5
|
||||||
|
+++ b/man/teamd.conf.5
|
||||||
|
@@ -240,7 +240,7 @@ Specifies the minimum number of ports that must be active before asserting carri
|
||||||
|
.RS 7
|
||||||
|
.PP
|
||||||
|
Default:
|
||||||
|
-.BR "0"
|
||||||
|
+.BR "1"
|
||||||
|
.RE
|
||||||
|
.TP
|
||||||
|
.BR "runner.agg_select_policy " (string)
|
||||||
|
--
|
||||||
|
2.18.1
|
||||||
|
|
@ -0,0 +1,68 @@
|
|||||||
|
From c8b356a3cd363af10d71e21a4fb7dc26cf90b5bc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hangbin Liu <liuhangbin@gmail.com>
|
||||||
|
Date: Mon, 7 Jan 2019 15:58:49 +0800
|
||||||
|
Subject: [PATCH 2/6] teamd: config: update local prio to kernel
|
||||||
|
|
||||||
|
Team port's priority will affect the active port selection. Update the
|
||||||
|
local config is not enough. We also need to update kernel configs.
|
||||||
|
|
||||||
|
Reported-by: Liang Li <liali@redhat.com>
|
||||||
|
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
|
||||||
|
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
|
||||||
|
---
|
||||||
|
teamd/teamd_config.c | 32 ++++++++++++++++++++++++++++++++
|
||||||
|
1 file changed, 32 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/teamd/teamd_config.c b/teamd/teamd_config.c
|
||||||
|
index 94158ce..69b25de 100644
|
||||||
|
--- a/teamd/teamd_config.c
|
||||||
|
+++ b/teamd/teamd_config.c
|
||||||
|
@@ -155,6 +155,31 @@ errout:
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
|
+static int teamd_config_port_set(struct teamd_context *ctx, const char *port_name,
|
||||||
|
+ json_t *port_obj)
|
||||||
|
+{
|
||||||
|
+ struct teamd_port *tdport;
|
||||||
|
+ json_t *config;
|
||||||
|
+ int tmp, err;
|
||||||
|
+
|
||||||
|
+ tdport = teamd_get_port_by_ifname(ctx, port_name);
|
||||||
|
+ if (!tdport)
|
||||||
|
+ return -ENODEV;
|
||||||
|
+
|
||||||
|
+ config = json_object_get(port_obj, "prio");
|
||||||
|
+ if (json_is_integer(config)) {
|
||||||
|
+ tmp = json_integer_value(config);
|
||||||
|
+ err = team_set_port_priority(ctx->th, tdport->ifindex, tmp);
|
||||||
|
+ if (err) {
|
||||||
|
+ teamd_log_err("%s: Failed to set \"priority\".",
|
||||||
|
+ tdport->ifname);
|
||||||
|
+ return err;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
int teamd_config_port_update(struct teamd_context *ctx, const char *port_name,
|
||||||
|
const char *json_port_cfg_str)
|
||||||
|
{
|
||||||
|
@@ -184,6 +209,13 @@ int teamd_config_port_update(struct teamd_context *ctx, const char *port_name,
|
||||||
|
if (err)
|
||||||
|
teamd_log_err("%s: Failed to update existing config "
|
||||||
|
"port object", port_name);
|
||||||
|
+ else {
|
||||||
|
+ err = teamd_config_port_set(ctx, port_name, port_new_obj);
|
||||||
|
+ if (err)
|
||||||
|
+ teamd_log_err("%s: Failed to update config to kernel",
|
||||||
|
+ port_name);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
new_port_decref:
|
||||||
|
json_decref(port_new_obj);
|
||||||
|
return err;
|
||||||
|
--
|
||||||
|
2.18.1
|
||||||
|
|
@ -0,0 +1,74 @@
|
|||||||
|
From 54f137c10579bf97800c61ebb13e732aa1d843e6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hangbin Liu <liuhangbin@gmail.com>
|
||||||
|
Date: Fri, 8 Mar 2019 19:28:55 +0800
|
||||||
|
Subject: [PATCH 6/6] teamd: lacp: update port state according to partner's
|
||||||
|
sync bit
|
||||||
|
|
||||||
|
According to 6.4.15 of IEEE 802.1AX-2014, Figure 6-22, the state that the
|
||||||
|
port is selected moves MUX state from DETACHED to ATTACHED.
|
||||||
|
|
||||||
|
But ATTACHED state does not mean that the port can send and receive user
|
||||||
|
frames. COLLECTING_DISTRIBUTION state is the state that the port can send
|
||||||
|
and receive user frames. To move MUX state from ATTACHED to
|
||||||
|
COLLECTING_DISTRIBUTION, the partner state should be sync as well as the
|
||||||
|
port selected.
|
||||||
|
|
||||||
|
In function lacp_port_actor_update(), only INFO_STATE_SYNCHRONIZATION
|
||||||
|
should be set to the actor.state when the port is selected.
|
||||||
|
INFO_STATE_COLLECTING and INFO_STATE_DISTRIBUTING should be set to false
|
||||||
|
with ATTACHED mode and set to true when INFO_STATE_SYNCHRONIZATION of
|
||||||
|
partner.state is set.
|
||||||
|
|
||||||
|
In function lacp_port_should_be_{enabled, disabled}(), we also need to
|
||||||
|
check the INFO_STATE_SYNCHRONIZATION bit of partner.state.
|
||||||
|
|
||||||
|
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
|
||||||
|
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
|
||||||
|
---
|
||||||
|
teamd/teamd_runner_lacp.c | 16 +++++++++++-----
|
||||||
|
1 file changed, 11 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/teamd/teamd_runner_lacp.c b/teamd/teamd_runner_lacp.c
|
||||||
|
index 555aa06..d292d69 100644
|
||||||
|
--- a/teamd/teamd_runner_lacp.c
|
||||||
|
+++ b/teamd/teamd_runner_lacp.c
|
||||||
|
@@ -333,7 +333,8 @@ static int lacp_port_should_be_enabled(struct lacp_port *lacp_port)
|
||||||
|
struct lacp *lacp = lacp_port->lacp;
|
||||||
|
|
||||||
|
if (lacp_port_selected(lacp_port) &&
|
||||||
|
- lacp_port->agg_lead == lacp->selected_agg_lead)
|
||||||
|
+ lacp_port->agg_lead == lacp->selected_agg_lead &&
|
||||||
|
+ lacp_port->partner.state & INFO_STATE_SYNCHRONIZATION)
|
||||||
|
return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
@@ -343,7 +344,8 @@ static int lacp_port_should_be_disabled(struct lacp_port *lacp_port)
|
||||||
|
struct lacp *lacp = lacp_port->lacp;
|
||||||
|
|
||||||
|
if (!lacp_port_selected(lacp_port) ||
|
||||||
|
- lacp_port->agg_lead != lacp->selected_agg_lead)
|
||||||
|
+ lacp_port->agg_lead != lacp->selected_agg_lead ||
|
||||||
|
+ !(lacp_port->partner.state & INFO_STATE_SYNCHRONIZATION))
|
||||||
|
return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
@@ -914,9 +916,13 @@ static void lacp_port_actor_update(struct lacp_port *lacp_port)
|
||||||
|
if (lacp_port->lacp->cfg.fast_rate)
|
||||||
|
state |= INFO_STATE_LACP_TIMEOUT;
|
||||||
|
if (lacp_port_selected(lacp_port) &&
|
||||||
|
- lacp_port_agg_selected(lacp_port))
|
||||||
|
- state |= INFO_STATE_SYNCHRONIZATION |
|
||||||
|
- INFO_STATE_COLLECTING | INFO_STATE_DISTRIBUTING;
|
||||||
|
+ lacp_port_agg_selected(lacp_port)) {
|
||||||
|
+ state |= INFO_STATE_SYNCHRONIZATION;
|
||||||
|
+ state &= ~(INFO_STATE_COLLECTING | INFO_STATE_DISTRIBUTING);
|
||||||
|
+ if (lacp_port->partner.state & INFO_STATE_SYNCHRONIZATION)
|
||||||
|
+ state |= INFO_STATE_COLLECTING |
|
||||||
|
+ INFO_STATE_DISTRIBUTING;
|
||||||
|
+ }
|
||||||
|
if (lacp_port->state == PORT_STATE_EXPIRED)
|
||||||
|
state |= INFO_STATE_EXPIRED;
|
||||||
|
if (lacp_port->state == PORT_STATE_DEFAULTED)
|
||||||
|
--
|
||||||
|
2.18.1
|
||||||
|
|
@ -0,0 +1,38 @@
|
|||||||
|
From 5f355301b7cafbb51b036ad1e5af38e79d4330d6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hangbin Liu <liuhangbin@gmail.com>
|
||||||
|
Date: Fri, 11 Jan 2019 09:57:10 +0800
|
||||||
|
Subject: [PATCH 3/6] teamd: lw: arp_ping: only check arp reply message
|
||||||
|
|
||||||
|
Currently we check both arp request and reply message for arp_ping link
|
||||||
|
watch. But if we enabled validate_active and validate_inactive at the
|
||||||
|
same time, we will receive the other slave's arp request as the switch
|
||||||
|
broadcasts arp request message. i.e. slave1 receives arp request from
|
||||||
|
slave2 and vice versa.
|
||||||
|
|
||||||
|
Then the arp check will pass even the target is unreachable. Fix it by
|
||||||
|
only check arp reply message.
|
||||||
|
|
||||||
|
Reported-by: LiLiang <liali@redhat.com>
|
||||||
|
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
|
||||||
|
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
|
||||||
|
---
|
||||||
|
teamd/teamd_lw_arp_ping.c | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/teamd/teamd_lw_arp_ping.c b/teamd/teamd_lw_arp_ping.c
|
||||||
|
index 01cd6e1..81806f0 100644
|
||||||
|
--- a/teamd/teamd_lw_arp_ping.c
|
||||||
|
+++ b/teamd/teamd_lw_arp_ping.c
|
||||||
|
@@ -336,7 +336,8 @@ static int lw_ap_receive(struct lw_psr_port_priv *psr_ppriv)
|
||||||
|
if (ap.ah.ar_hrd != htons(ll_my.sll_hatype) ||
|
||||||
|
ap.ah.ar_pro != htons(ETH_P_IP) ||
|
||||||
|
ap.ah.ar_hln != ll_my.sll_halen ||
|
||||||
|
- ap.ah.ar_pln != 4) {
|
||||||
|
+ ap.ah.ar_pln != 4 ||
|
||||||
|
+ ap.ah.ar_op != htons(ARPOP_REPLY)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.18.1
|
||||||
|
|
@ -0,0 +1,35 @@
|
|||||||
|
From 6bf0e87387878654186bcf7287e0eda59b1c2f2c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hangbin Liu <liuhangbin@gmail.com>
|
||||||
|
Date: Thu, 21 Feb 2019 17:37:46 +0800
|
||||||
|
Subject: [PATCH 4/6] teamd: lw: nsna_ping: only send ns on enabled port
|
||||||
|
|
||||||
|
We forget to check forced_send when using nsna_ping link_watch.
|
||||||
|
Ns is sent from all ports, which cause switch mac flapping. Some
|
||||||
|
reply packets are delivered to disabled port and dropped directly.
|
||||||
|
|
||||||
|
Fix it by checking forced_send and only send ns on enabled port.
|
||||||
|
|
||||||
|
Reported-by: LiLiang <liali@redhat.com>
|
||||||
|
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
|
||||||
|
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
|
||||||
|
---
|
||||||
|
teamd/teamd_lw_nsna_ping.c | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/teamd/teamd_lw_nsna_ping.c b/teamd/teamd_lw_nsna_ping.c
|
||||||
|
index 127d950..82371c4 100644
|
||||||
|
--- a/teamd/teamd_lw_nsna_ping.c
|
||||||
|
+++ b/teamd/teamd_lw_nsna_ping.c
|
||||||
|
@@ -203,6 +203,9 @@ static int lw_nsnap_send(struct lw_psr_port_priv *psr_ppriv)
|
||||||
|
struct sockaddr_in6 sendto_addr;
|
||||||
|
struct ns_packet nsp;
|
||||||
|
|
||||||
|
+ if (!(psr_ppriv->common.forced_send))
|
||||||
|
+ return 0;
|
||||||
|
+
|
||||||
|
err = teamd_getsockname_hwaddr(psr_ppriv->sock, &ll_my,
|
||||||
|
sizeof(nsp.hwaddr));
|
||||||
|
if (err)
|
||||||
|
--
|
||||||
|
2.18.1
|
||||||
|
|
62
SOURCES/libteam-teamd-remove-port-if-adding-fails.patch
Normal file
62
SOURCES/libteam-teamd-remove-port-if-adding-fails.patch
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
From 0f1b2fac03361c5d2bac34e4b19922c60c5c06c6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hangbin Liu <liuhangbin@gmail.com>
|
||||||
|
Date: Wed, 13 Mar 2019 15:04:29 +0800
|
||||||
|
Subject: [PATCH 1/3] teamd: remove port if adding fails
|
||||||
|
|
||||||
|
When we add a port to team via teamdctl, some drivers do not support
|
||||||
|
changing mac address after dev opened, which would lead to the failure
|
||||||
|
of port_obj_create(). The call path looks like below for LACP mode:
|
||||||
|
|
||||||
|
- port_obj_create()
|
||||||
|
- port_priv_init_all()
|
||||||
|
- lacp_port_added()
|
||||||
|
- lacp_port_set_mac()
|
||||||
|
|
||||||
|
Currently, we only destroy the port object if adding port fails. But the
|
||||||
|
port is still enslaved to team in kernel. IP link command shows the port
|
||||||
|
is a team_slave, but teamdctl state shows nothing. This may make users
|
||||||
|
confused.
|
||||||
|
|
||||||
|
Fix it by removing the port if adding fails.
|
||||||
|
|
||||||
|
v2: also calls teamd_port_remove in port_obj_remove()
|
||||||
|
|
||||||
|
Reported-by: Vladimir Benes <vbenes@redhat.com>
|
||||||
|
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
|
||||||
|
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
|
||||||
|
---
|
||||||
|
teamd/teamd_per_port.c | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/teamd/teamd_per_port.c b/teamd/teamd_per_port.c
|
||||||
|
index 09d1dc7..f98a90d 100644
|
||||||
|
--- a/teamd/teamd_per_port.c
|
||||||
|
+++ b/teamd/teamd_per_port.c
|
||||||
|
@@ -42,6 +42,8 @@ struct port_obj {
|
||||||
|
};
|
||||||
|
|
||||||
|
#define _port(port_obj) (&(port_obj)->port)
|
||||||
|
+static int teamd_port_remove(struct teamd_context *ctx,
|
||||||
|
+ struct teamd_port *tdport);
|
||||||
|
|
||||||
|
int teamd_port_priv_create_and_get(void **ppriv, struct teamd_port *tdport,
|
||||||
|
const struct teamd_port_priv *pp,
|
||||||
|
@@ -203,6 +205,7 @@ static int port_obj_create(struct teamd_context *ctx,
|
||||||
|
teamd_event_port_removed:
|
||||||
|
teamd_event_port_removed(ctx, tdport);
|
||||||
|
list_del:
|
||||||
|
+ teamd_port_remove(ctx, tdport);
|
||||||
|
port_obj_destroy(ctx, port_obj);
|
||||||
|
port_obj_free(port_obj);
|
||||||
|
return err;
|
||||||
|
@@ -214,6 +217,7 @@ static void port_obj_remove(struct teamd_context *ctx,
|
||||||
|
struct teamd_port *tdport = _port(port_obj);
|
||||||
|
|
||||||
|
teamd_event_port_removed(ctx, tdport);
|
||||||
|
+ teamd_port_remove(ctx, tdport);
|
||||||
|
port_obj_destroy(ctx, port_obj);
|
||||||
|
port_obj_free(port_obj);
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.18.1
|
||||||
|
|
@ -0,0 +1,42 @@
|
|||||||
|
From 4dc3a7a042c88193f0371a33f1043919843e6447 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Xin Long <lucien.xin@gmail.com>
|
||||||
|
Date: Mon, 1 Apr 2019 16:15:24 +0800
|
||||||
|
Subject: [PATCH 2/3] teamd: tdport has to exist if item->per_port is set in
|
||||||
|
__find_by_item_path
|
||||||
|
|
||||||
|
The issue can be reproduced by:
|
||||||
|
|
||||||
|
# teamd -c '{"device":"team0", "runner":{"name":"lacp"}}' &
|
||||||
|
# teamdctl team0 state item set runner.aggregator.selected true
|
||||||
|
|
||||||
|
teamd process will abort in lacp_port_state_aggregator_selected_set()
|
||||||
|
as gsc->info.tdport was set to NULL in teamd_state_item_value_set()
|
||||||
|
|
||||||
|
The item 'runner.aggregator.selected' is of per_port = true, and it
|
||||||
|
shouldn't allow to call its setter/getter().
|
||||||
|
|
||||||
|
This patch is to add the check for it in __find_by_item_path() called
|
||||||
|
by teamd_state_item_value_get/set().
|
||||||
|
|
||||||
|
Fixes: 6c00aaf02553 ("teamd: add support for state item write operation")
|
||||||
|
Signed-off-by: Xin Long <lucien.xin@gmail.com>
|
||||||
|
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
|
||||||
|
---
|
||||||
|
teamd/teamd_state.c | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/teamd/teamd_state.c b/teamd/teamd_state.c
|
||||||
|
index ab64db9..0714880 100644
|
||||||
|
--- a/teamd/teamd_state.c
|
||||||
|
+++ b/teamd/teamd_state.c
|
||||||
|
@@ -333,6 +333,7 @@ static int __find_by_item_path(struct teamd_state_val_item **p_item,
|
||||||
|
list_for_each_node_entry(item, &ctx->state_val_list, list) {
|
||||||
|
/* item->subpath[0] == '.' */
|
||||||
|
if (!strcmp(item->subpath + 1, subpath) &&
|
||||||
|
+ (!item->per_port || tdport) &&
|
||||||
|
(!item->tdport || item->tdport == tdport)) {
|
||||||
|
*p_item = item;
|
||||||
|
*p_tdport = tdport;
|
||||||
|
--
|
||||||
|
2.18.1
|
||||||
|
|
@ -0,0 +1,76 @@
|
|||||||
|
From 90e5279ce0241838d5687739b3bc795235b7d53b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Xin Long <lucien.xin@gmail.com>
|
||||||
|
Date: Mon, 15 Apr 2019 16:56:35 +0800
|
||||||
|
Subject: [PATCH 3/3] teamd: use enabled option_changed to sync enabled to
|
||||||
|
link_up for lb runner
|
||||||
|
|
||||||
|
LiLiang found an issue that after adding two ports into a team device with
|
||||||
|
lb mode their enabled option sometimes is false.
|
||||||
|
|
||||||
|
It was caused by the unexpected events order:
|
||||||
|
|
||||||
|
0. team_port_add() in kernel.
|
||||||
|
1. port_change event A1 sent to userspace.
|
||||||
|
2. option_change event B1 sent to userspace.
|
||||||
|
3. port_change event A2 sent to userspace IF port is up now.
|
||||||
|
4. process port_change event A1 and set port's enabled option 'false'.
|
||||||
|
5. option_change event B2 sent to userspace.
|
||||||
|
6. process option_change event B1 and sync enabled option (value = 1).
|
||||||
|
7. process port_change event A2 and do nothing as enabled option is 1.
|
||||||
|
8. process option_change event B2 and sync enabled option (value = 0).
|
||||||
|
|
||||||
|
In kernel, when the port is still down after dev_open(), which happens more
|
||||||
|
often since it changed to use netif_oper_up() to check the state instead of
|
||||||
|
netif_carrier_ok(), the event A2 in Step 3 can be sent at any moment. When
|
||||||
|
it's ahead of Step 4, Step 7 won't set enabled option to 1 as Step 8 comes
|
||||||
|
late.
|
||||||
|
|
||||||
|
As the port up event can be triggered by dev_watchdog at anytime in kernel,
|
||||||
|
the port_change and option_change events order can not be controlled. What
|
||||||
|
can only be done here is to correct it at Step 8, to sync enabled option to
|
||||||
|
link_up.
|
||||||
|
|
||||||
|
So this patch is to add enabled option_changed for lb mode to do this sync.
|
||||||
|
|
||||||
|
Reported-by: LiLiang <liali@redhat.com>
|
||||||
|
Signed-off-by: Xin Long <lucien.xin@gmail.com>
|
||||||
|
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
|
||||||
|
---
|
||||||
|
teamd/teamd_runner_loadbalance.c | 15 +++++++++++++++
|
||||||
|
1 file changed, 15 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/teamd/teamd_runner_loadbalance.c b/teamd/teamd_runner_loadbalance.c
|
||||||
|
index b9bfc13..a581472 100644
|
||||||
|
--- a/teamd/teamd_runner_loadbalance.c
|
||||||
|
+++ b/teamd/teamd_runner_loadbalance.c
|
||||||
|
@@ -109,12 +109,27 @@ static int lb_event_watch_port_hwaddr_changed(struct teamd_context *ctx,
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
|
+static int lb_event_watch_enabled_option_changed(struct teamd_context *ctx,
|
||||||
|
+ struct team_option *option,
|
||||||
|
+ void *priv)
|
||||||
|
+{
|
||||||
|
+ struct teamd_port *tdport;
|
||||||
|
+
|
||||||
|
+ tdport = teamd_get_port(ctx, team_get_option_port_ifindex(option));
|
||||||
|
+ if (!tdport)
|
||||||
|
+ return 0;
|
||||||
|
+
|
||||||
|
+ return lb_event_watch_port_link_changed(ctx, tdport, priv);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static const struct teamd_event_watch_ops lb_port_watch_ops = {
|
||||||
|
.hwaddr_changed = lb_event_watch_hwaddr_changed,
|
||||||
|
.port_hwaddr_changed = lb_event_watch_port_hwaddr_changed,
|
||||||
|
.port_added = lb_event_watch_port_added,
|
||||||
|
.port_removed = lb_event_watch_port_removed,
|
||||||
|
.port_link_changed = lb_event_watch_port_link_changed,
|
||||||
|
+ .option_changed = lb_event_watch_enabled_option_changed,
|
||||||
|
+ .option_changed_match_name = "enabled",
|
||||||
|
};
|
||||||
|
|
||||||
|
static int lb_init(struct teamd_context *ctx, void *priv)
|
||||||
|
--
|
||||||
|
2.18.1
|
||||||
|
|
31
SOURCES/libteam-teamnl-update-help-message.patch
Normal file
31
SOURCES/libteam-teamnl-update-help-message.patch
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
From 6e67aa89a746ff98d4b4f4fa3c778aa31d4d2c7f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hangbin Liu <liuhangbin@gmail.com>
|
||||||
|
Date: Mon, 17 Dec 2018 16:58:34 +0800
|
||||||
|
Subject: [PATCH 1/6] teamnl: update help message
|
||||||
|
|
||||||
|
Update help message so people could know we support port name directly.
|
||||||
|
|
||||||
|
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
|
||||||
|
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
|
||||||
|
---
|
||||||
|
utils/teamnl.c | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/utils/teamnl.c b/utils/teamnl.c
|
||||||
|
index e8de7e2..c53345d 100644
|
||||||
|
--- a/utils/teamnl.c
|
||||||
|
+++ b/utils/teamnl.c
|
||||||
|
@@ -521,7 +521,9 @@ static void print_help(const char *argv0) {
|
||||||
|
|
||||||
|
printf(
|
||||||
|
"%s [options] teamdevname command [command args]\n"
|
||||||
|
- "\t-h --help Show this help\n",
|
||||||
|
+ "\t-h --help Show this help\n"
|
||||||
|
+ "\t-p --port_name team slave port name\n"
|
||||||
|
+ "\t-a --array_index team option array index\n",
|
||||||
|
argv0);
|
||||||
|
printf("Commands:\n");
|
||||||
|
for (i = 0; i < CMD_TYPE_COUNT; i++) {
|
||||||
|
--
|
||||||
|
2.18.1
|
||||||
|
|
569
SPECS/libteam.spec
Normal file
569
SPECS/libteam.spec
Normal file
@ -0,0 +1,569 @@
|
|||||||
|
Name: libteam
|
||||||
|
Version: 1.28
|
||||||
|
Release: 2%{?dist}
|
||||||
|
Summary: Library for controlling team network device
|
||||||
|
Group: System Environment/Libraries
|
||||||
|
License: LGPLv2+
|
||||||
|
URL: http://www.libteam.org
|
||||||
|
Source: http://www.libteam.org/files/libteam-%{version}.tar.gz
|
||||||
|
Patch1: libteam-teamnl-update-help-message.patch
|
||||||
|
Patch2: libteam-teamd-config-update-local-prio-to-kernel.patch
|
||||||
|
Patch3: libteam-teamd-lw-arp_ping-only-check-arp-reply-message.patch
|
||||||
|
Patch4: libteam-teamd-lw-nsna_ping-only-send-ns-on-enabled-port.patch
|
||||||
|
Patch5: libteam-man-fix-runner.min_ports-default-value.patch
|
||||||
|
Patch6: libteam-teamd-lacp-update-port-state-according-to-partner-s-.patch
|
||||||
|
Patch7: libteam-teamd-remove-port-if-adding-fails.patch
|
||||||
|
Patch8: libteam-teamd-tdport-has-to-exist-if-item-per_port-is-set-in.patch
|
||||||
|
Patch9: libteam-teamd-use-enabled-option_changed-to-sync-enabled-to-.patch
|
||||||
|
BuildRequires: jansson-devel
|
||||||
|
BuildRequires: libdaemon-devel
|
||||||
|
BuildRequires: libnl3-devel
|
||||||
|
BuildRequires: python3-devel
|
||||||
|
BuildRequires: dbus-devel
|
||||||
|
BuildRequires: swig
|
||||||
|
BuildRequires: doxygen
|
||||||
|
BuildRequires: autoconf automake libtool
|
||||||
|
BuildRequires: systemd-units
|
||||||
|
|
||||||
|
%description
|
||||||
|
This package contains a library which is a user-space
|
||||||
|
counterpart for team network driver. It provides an API
|
||||||
|
to control team network devices.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Group: Development/Libraries
|
||||||
|
Summary: Libraries and header files for libteam development
|
||||||
|
Requires: libteam = %{version}-%{release}
|
||||||
|
|
||||||
|
%package doc
|
||||||
|
Group: Documentation
|
||||||
|
Summary: API documentation for libteam and libteamd
|
||||||
|
Requires: libteam = %{version}-%{release}
|
||||||
|
|
||||||
|
%description doc
|
||||||
|
This package contains libteam and libteamd API documentation
|
||||||
|
|
||||||
|
%package -n teamd
|
||||||
|
Group: System Environment/Daemons
|
||||||
|
Summary: Team network device control daemon
|
||||||
|
Requires: libteam = %{version}-%{release}
|
||||||
|
|
||||||
|
%package -n teamd-devel
|
||||||
|
Group: Development/Libraries
|
||||||
|
Summary: Libraries and header files for teamd development
|
||||||
|
Requires: teamd = %{version}-%{release}
|
||||||
|
|
||||||
|
%package -n python3-libteam
|
||||||
|
%{?python_provide:%python_provide python3-libteam}
|
||||||
|
Group: Development/Libraries
|
||||||
|
Summary: Team network device library bindings
|
||||||
|
Requires: libteam = %{version}-%{release}
|
||||||
|
|
||||||
|
%package -n network-scripts-team
|
||||||
|
Group: Development/Libraries
|
||||||
|
Summary: libteam legacy network service support
|
||||||
|
Requires: network-scripts
|
||||||
|
Supplements: (teamd and network-scripts)
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
The libteam-devel package contains the header files and libraries
|
||||||
|
necessary for developing programs using libteam.
|
||||||
|
|
||||||
|
%description -n teamd
|
||||||
|
The teamd package contains team network device control daemon.
|
||||||
|
|
||||||
|
%description -n teamd-devel
|
||||||
|
The teamd-devel package contains the header files and libraries
|
||||||
|
necessary for developing programs using libteamdctl.
|
||||||
|
|
||||||
|
%description -n python3-libteam
|
||||||
|
The team-python package contains a module that permits applications
|
||||||
|
written in the Python programming language to use the interface
|
||||||
|
supplied by team network device library.
|
||||||
|
|
||||||
|
This package should be installed if you want to develop Python
|
||||||
|
programs that will manipulate team network devices.
|
||||||
|
|
||||||
|
%description -n network-scripts-team
|
||||||
|
This provides the ifup and ifdown scripts for libteam use with the legacy
|
||||||
|
network service.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1
|
||||||
|
autoreconf --force --install -I m4
|
||||||
|
|
||||||
|
# prepare example dir for -devel
|
||||||
|
mkdir -p _tmpdoc1/examples
|
||||||
|
cp -p examples/*.c _tmpdoc1/examples
|
||||||
|
# prepare example dir for team-python
|
||||||
|
mkdir -p _tmpdoc2/examples
|
||||||
|
cp -p examples/python/*.py _tmpdoc2/examples
|
||||||
|
chmod -x _tmpdoc2/examples/*.py
|
||||||
|
|
||||||
|
%build
|
||||||
|
%configure --disable-static
|
||||||
|
make %{?_smp_mflags}
|
||||||
|
make html
|
||||||
|
cd binding/python
|
||||||
|
%py3_build
|
||||||
|
|
||||||
|
%install
|
||||||
|
make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
|
||||||
|
find $RPM_BUILD_ROOT -name \*.la -delete
|
||||||
|
rm -rf $RPM_BUILD_ROOT/%{_bindir}/team_*
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/dbus-1/system.d
|
||||||
|
install -p teamd/dbus/teamd.conf $RPM_BUILD_ROOT%{_sysconfdir}/dbus-1/system.d/
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_unitdir}
|
||||||
|
install -p teamd/redhat/systemd/teamd@.service $RPM_BUILD_ROOT%{_unitdir}
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/network-scripts
|
||||||
|
install -p -m 755 teamd/redhat/initscripts_systemd/network-scripts/ifup-Team $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/network-scripts
|
||||||
|
install -p -m 755 teamd/redhat/initscripts_systemd/network-scripts/ifdown-Team $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/network-scripts
|
||||||
|
install -p -m 755 teamd/redhat/initscripts_systemd/network-scripts/ifup-TeamPort $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/network-scripts
|
||||||
|
install -p -m 755 teamd/redhat/initscripts_systemd/network-scripts/ifdown-TeamPort $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/network-scripts
|
||||||
|
install -p -m 755 utils/bond2team $RPM_BUILD_ROOT%{_bindir}/bond2team
|
||||||
|
cd binding/python
|
||||||
|
%py3_install
|
||||||
|
|
||||||
|
%post -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%files
|
||||||
|
%doc COPYING
|
||||||
|
%{_libdir}/libteam.so.*
|
||||||
|
%{_bindir}/teamnl
|
||||||
|
%{_mandir}/man8/teamnl.8*
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%doc COPYING _tmpdoc1/examples
|
||||||
|
%{_includedir}/team.h
|
||||||
|
%{_libdir}/libteam.so
|
||||||
|
%{_libdir}/pkgconfig/libteam.pc
|
||||||
|
|
||||||
|
%files doc
|
||||||
|
%doc COPYING doc/api
|
||||||
|
|
||||||
|
%files -n teamd
|
||||||
|
%doc COPYING teamd/example_configs teamd/redhat/example_ifcfgs/
|
||||||
|
%config(noreplace) %attr(644,root,root) %{_sysconfdir}/dbus-1/system.d/teamd.conf
|
||||||
|
%config(noreplace) %attr(644,root,root) %{_unitdir}/teamd@.service
|
||||||
|
%{_libdir}/libteamdctl.so.*
|
||||||
|
%{_bindir}/teamd
|
||||||
|
%{_bindir}/teamdctl
|
||||||
|
%{_bindir}/bond2team
|
||||||
|
%{_mandir}/man8/teamd.8*
|
||||||
|
%{_mandir}/man8/teamdctl.8*
|
||||||
|
%{_mandir}/man5/teamd.conf.5*
|
||||||
|
%{_mandir}/man1/bond2team.1*
|
||||||
|
|
||||||
|
%files -n teamd-devel
|
||||||
|
%doc COPYING
|
||||||
|
%{_includedir}/teamdctl.h
|
||||||
|
%{_libdir}/libteamdctl.so
|
||||||
|
%{_libdir}/pkgconfig/libteamdctl.pc
|
||||||
|
|
||||||
|
%files -n python3-libteam
|
||||||
|
%doc COPYING _tmpdoc2/examples
|
||||||
|
%{python3_sitearch}/*
|
||||||
|
|
||||||
|
%files -n network-scripts-team
|
||||||
|
%{_sysconfdir}/sysconfig/network-scripts/ifup-Team
|
||||||
|
%{_sysconfdir}/sysconfig/network-scripts/ifdown-Team
|
||||||
|
%{_sysconfdir}/sysconfig/network-scripts/ifup-TeamPort
|
||||||
|
%{_sysconfdir}/sysconfig/network-scripts/ifdown-TeamPort
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Mon Apr 29 2019 Xin Long <lxin@redhat.com> - 1.28-2
|
||||||
|
- teamd: use enabled option_changed to sync enabled to link_up for lb runner [1668132]
|
||||||
|
- teamd: tdport has to exist if item->per_port is set in __find_by_item_path [1687336]
|
||||||
|
- teamd: remove port if adding fails [1668744]
|
||||||
|
* Wed Apr 17 2019 Xin Long <lxin@redhat.com> - 1.28-1
|
||||||
|
- teamd: lacp: update port state according to partner's sync bit
|
||||||
|
- man: fix runner.min_ports default value [1679853]
|
||||||
|
- teamd: lw: nsna_ping: only send ns on enabled port [1671195]
|
||||||
|
- teamd: lw: arp_ping: only check arp reply message [1663093]
|
||||||
|
- teamd: config: update local prio to kernel [1657113]
|
||||||
|
- teamnl: update help message
|
||||||
|
- 1.28 release
|
||||||
|
- teamd: lacp: send LACPDU when port state transitions from DEFAULT to CURRENT
|
||||||
|
- man teamd.conf: Document ARP Ping link_watch.vlanid option
|
||||||
|
- man teamd.conf: fix indentation of link_watch.send_always
|
||||||
|
- libteam/options: fix s32/u32 data storage on big endian
|
||||||
|
- teamd: add an option to force log output to stdout, stderr or syslog
|
||||||
|
- teamd: add port_master_ifindex_changed for teamd_event_watch_ops
|
||||||
|
- man: add 'random' to the list of available runners
|
||||||
|
- examples: fix duplex comparison against best port
|
||||||
|
|
||||||
|
* Thu Jan 10 2019 Xin Long <lxin@redhat.com> - 1.27-10
|
||||||
|
- add new package network-scripts-team [1659846]
|
||||||
|
|
||||||
|
* Mon Aug 20 2018 Xin Long <lxin@redhat.com> - 1.27-9
|
||||||
|
- Added patch to fix the issue that no active port is set [1618710]
|
||||||
|
|
||||||
|
* Fri Aug 03 2018 Xin Long <lxin@redhat.com> - 1.27-8
|
||||||
|
- Add fix to only process LACPDU after port ifinfo is set
|
||||||
|
- Add port_hwaddr_changed for ab, lb and lacp runners
|
||||||
|
- Add patch to fix runner.sys_prio default in man docs
|
||||||
|
- Add patch to empty LDFLAGS before checking for libnl3 in configure.ac
|
||||||
|
- Add patch to not crash when trying to print unregistered device name
|
||||||
|
- Add patch to use SWIG_FromCharPtrAndSize for Python3 support
|
||||||
|
- Add patch to check to_stdout return correctly in bond2team in bond2team
|
||||||
|
- Add 'BuildRequires: systemd-units' in libteam.spec to fix building errors
|
||||||
|
- Add 'autoreconf --force --install -I m4' in libteam.sepc to regenerate configure
|
||||||
|
- Remove ifup/ifdown scripts installation in libteam.sepc
|
||||||
|
|
||||||
|
* Tue Jun 26 2018 Charalampos Stratakis <cstratak@redhat.com> - 1.27-7
|
||||||
|
- Change the python bindings to Python 3
|
||||||
|
|
||||||
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.27-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jan 09 2018 Iryna Shcherbina <ishcherb@redhat.com> - 1.27-5
|
||||||
|
- Update Python 2 dependency declarations to new packaging standards
|
||||||
|
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
|
||||||
|
|
||||||
|
* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.27-4
|
||||||
|
- Python 2 binary package renamed to python2-libteam
|
||||||
|
See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
|
||||||
|
|
||||||
|
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.27-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.27-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jun 05 2017 Jiri Pirko <jiri@resnulli.us> - 1.27-1
|
||||||
|
- 1.27 release
|
||||||
|
- teamd: check target host with nap.nah.nd_na_target
|
||||||
|
- teamd: check ipv6 packet only with the 4 bits version
|
||||||
|
- teamd: set correct bits for standby ports
|
||||||
|
- libteam: Add team_get_port_enabled function
|
||||||
|
- teamd: check port link_up when a port is added with loadbalance runner
|
||||||
|
- libteam: resynchronize ifinfo after lost RTNLGRP_LINK notifications
|
||||||
|
- SubmittingPatches: add checkpatch note
|
||||||
|
- README: add note regarding pull requests
|
||||||
|
- teamd: escape some sensitive characters in ifname with double quotation marks
|
||||||
|
|
||||||
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.26-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Aug 26 2016 Jiri Pirko <jiri@resnulli.us> - 1.26-1
|
||||||
|
- 1.26 release
|
||||||
|
- teamd: lacp: Do not unselect port if it changes state to "expired"
|
||||||
|
- man: in lacp it's 'port_config', not 'port_options'
|
||||||
|
- teamd: fix the issue that network blocks when systemctl stop teamd
|
||||||
|
- teamd: change to Before=network-pre.target in systemd service file
|
||||||
|
- man teamd.conf: fix indentation
|
||||||
|
- misc: fix an out-of-bound write with zero-length hardware address
|
||||||
|
- teamd: LACP runner does not set Agg bit on first slave
|
||||||
|
|
||||||
|
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.25-2
|
||||||
|
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
|
||||||
|
|
||||||
|
* Fri May 20 2016 Jiri Pirko <jiri@resnulli.us> - 1.25-1
|
||||||
|
- 1.25 release
|
||||||
|
- teamd: handle vlan 0 packets
|
||||||
|
- libteam: fix TEAM_OPTION_TYPE_BOOL type for big endian architectures
|
||||||
|
|
||||||
|
* Fri Apr 15 2016 Jiri Pirko <jiri@resnulli.us> - 1.24-1
|
||||||
|
- 1.24 release
|
||||||
|
- teamd: lacp: use original hwaddr as source address in lacpdus
|
||||||
|
- teamd: do correct l3/l4 tx hashing with vlans
|
||||||
|
- libteam: Fix broken links
|
||||||
|
|
||||||
|
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.23-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Dec 17 2015 Jiri Pirko <jiri@resnulli.us> - 1.23-1
|
||||||
|
- 1.23 release
|
||||||
|
- dbus: don't do <deny send_interface="..." /> in template dbus s. f.
|
||||||
|
- libteam: retry on NLE_DUMP_INTR error
|
||||||
|
|
||||||
|
* Tue Nov 03 2015 Jiri Pirko <jiri@resnulli.us> - 1.22-1
|
||||||
|
- 1.22 release
|
||||||
|
- dbus: don't do <deny send_interface="..." /> in dbus service file
|
||||||
|
- teamd: Fix member port state change on master team admin UP.
|
||||||
|
- teamd: add CAP_NET_RAW capability for LACP packet sockets
|
||||||
|
- add teamd.conf.in to EXTRA_DIST
|
||||||
|
|
||||||
|
* Mon Oct 05 2015 Jiri Pirko <jiri@resnulli.us> - 1.21-1
|
||||||
|
- 1.21 release
|
||||||
|
- libteam: add missing "static inline" in nl_updates
|
||||||
|
- libteam: check for definition of NLA_PUT_S* separatelly
|
||||||
|
|
||||||
|
* Mon Oct 05 2015 Jiri Pirko <jiri@resnulli.us> - 1.20-1
|
||||||
|
- 1.20 release
|
||||||
|
- libteam: fix compile error with newer libnl
|
||||||
|
|
||||||
|
* Mon Oct 05 2015 Jiri Pirko <jiri@resnulli.us> - 1.19-1
|
||||||
|
- 1.19 release
|
||||||
|
- teamd: add Before=network.target to systemd service file
|
||||||
|
- teamd: lacp: update actor state before sending LACP frames
|
||||||
|
- regenerate dbus policy file from template when user changed
|
||||||
|
- drop privileges to usr/grp specified at build time
|
||||||
|
- make teamd's run directory configurable
|
||||||
|
- create run directory at teamd program start
|
||||||
|
- teamd: fix cut&paste issue on delay_up
|
||||||
|
- Add stamp-h1 artifact to .gitignore
|
||||||
|
- Reduce usock file permissions to 700.
|
||||||
|
- Do not fail teamd_add_ports() when one port is missing
|
||||||
|
- Add missing prototypes for admin_state functions
|
||||||
|
- teamd: lacp: Don't send LACP frames when master team device is down.
|
||||||
|
- libteam, teamd: Track admin state of team device and add handlers to watch for changes.
|
||||||
|
- teamd: loadbalance mode lacks a .hwaddr_changed in teamd_event_watch_ops
|
||||||
|
- libteamdctl: fix timeval value for select
|
||||||
|
|
||||||
|
* Fri Aug 21 2015 Jiri Pirko <jiri@resnulli.us> - 1.18-1
|
||||||
|
- 1.18 release
|
||||||
|
- teamd: lacp: change actor system value on team mac change
|
||||||
|
- Fix sending duplicate LACP frames at the start of establishing a logical channel.
|
||||||
|
- Fix teamd memory corruption issues seen by missing port unlink in ifinfo_destroy()
|
||||||
|
- libteam: Add check to disallow creating device names longer than 15 chars.
|
||||||
|
|
||||||
|
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.17-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Apr 02 2015 Jiri Pirko <jpirko@redhat.com> - 1.17-1
|
||||||
|
- 1.17 release
|
||||||
|
- update copyright dates
|
||||||
|
- man: teamdctl: add entry for item set of debug_level
|
||||||
|
- teamd: lw: nsna_ping: fix na rx handling
|
||||||
|
- teamd: lw: arp_ping: fix arp rx handling
|
||||||
|
- libteam: ifinfo: fix rtnl dellink handling
|
||||||
|
|
||||||
|
* Tue Mar 24 2015 Jiri Pirko <jpirko@redhat.com> - 1.16-1
|
||||||
|
- 1.16 release
|
||||||
|
- teamd: events: update ctx->hwaddr_len before calling hwaddr_changed handlers
|
||||||
|
- teamd: do not change ctx->hwaddr pointer
|
||||||
|
- teamd: lacp: change port mac address when team mac address is changed
|
||||||
|
- teamdctl: show port link down count in state output
|
||||||
|
- teamd: lw: count how many times has been the port down
|
||||||
|
- init unitialized value to 0/NULL to silence gcc warnings instead of x=x
|
||||||
|
- libteamdctl: rename recvmsg variable to recv_message
|
||||||
|
- teamd: check retval of malloc in lw_tipc_link_state_change
|
||||||
|
- teamd: fix potential memory leak in __set_sockaddr error path
|
||||||
|
- libteamdctl: fix typo in warning message in cli_zmq_recv
|
||||||
|
- libteam: check phys_port_id_len in update_phys_port_id
|
||||||
|
- teamnl: fix potential memory leak in run_cmd_getoption
|
||||||
|
|
||||||
|
* Sat Feb 21 2015 Till Maas <opensource@till.name> - 1.15-2
|
||||||
|
- Rebuilt for Fedora 23 Change
|
||||||
|
https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code
|
||||||
|
|
||||||
|
* Wed Dec 17 2014 Jiri Pirko <jpirko@redhat.com> - 1.15-1
|
||||||
|
- 1.15 release
|
||||||
|
- teamd: ignore SIGPIPE
|
||||||
|
- libteamdctl: Fix a typo in DBus method name
|
||||||
|
|
||||||
|
* Wed Nov 05 2014 Jiri Pirko <jpirko@redhat.com> - 1.14-1
|
||||||
|
- 1.14 release
|
||||||
|
- teamd: lw_arp_ping: make buf static and avoid returning local pointer
|
||||||
|
|
||||||
|
* Wed Nov 05 2014 Jiri Pirko <jpirko@redhat.com> - 1.13-1
|
||||||
|
- 1.13 release
|
||||||
|
- teamd: fix coding style a bit after previous commit
|
||||||
|
- teamd: Don't ever kill PID 0
|
||||||
|
- teamd: tipc: topology-aware failover
|
||||||
|
- teamd: tipc: fix team port removal bugs
|
||||||
|
- zmq: remove unused my_free_msg
|
||||||
|
- libteamdctl: zmq: remove include of teamd.h
|
||||||
|
- teamd: add teamd_zmq_common.h to noinst headers
|
||||||
|
|
||||||
|
* Tue Aug 19 2014 Jiri Pirko <jpirko@redhat.com> - 1.12-1
|
||||||
|
- 1.12 release
|
||||||
|
- teamd: teamd_state_val_dump move TEAMD_BUG_ON so it can be actually triggered
|
||||||
|
- teamd: fix coverity error in teamd_sriov_physfn_addr
|
||||||
|
- libteamdctl: adjust doc comments to be processed by doxygen
|
||||||
|
- remove forgotten src dir
|
||||||
|
- libteam: stringify.c adjust doc comments to be processed by doxygen
|
||||||
|
- libteam: ports.c adjust doc comments to be processed by doxygen
|
||||||
|
- libteam: options.c adjust doc comments to be processed by doxygen
|
||||||
|
- libteam: ifinfo.c adjust doc comments to be processed by doxygen
|
||||||
|
- libteam: libteam.c adjust doc comments to be processed by doxygen
|
||||||
|
- add doxygen html doc generation into autoconf
|
||||||
|
- teamd: tipc: use TIPC_MAX_*_NAME for buffers and check len
|
||||||
|
- fix strncmp len in ifname2ifindex
|
||||||
|
- teamd: fix incorrect usage of sizeof in __str_sockaddr
|
||||||
|
|
||||||
|
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.11-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jun 26 2014 Jiri Pirko <jpirko@redhat.com> - 1.11-1
|
||||||
|
- 1.11 release
|
||||||
|
- teamd: add forgotten teamd_link_watch.h to noinst_HEADERS
|
||||||
|
- teamd: add tipc.h kernel header
|
||||||
|
- teamd: Add support for TIPC link watcher
|
||||||
|
- teamd: add TIPC link watcher
|
||||||
|
- teamd: move icmp6 NS/NA ping link watcher to a separate file
|
||||||
|
- teamd: move arp ping link watcher to a separate file
|
||||||
|
- teamd: move psr template link watcher to a separate file
|
||||||
|
- teamd: move ethtool link watcher to a separate file
|
||||||
|
- teamd_dbus: add PortConfigDump to introspection
|
||||||
|
- teamd: allow restart on failure through systemd
|
||||||
|
- teamd: distinguish exit code between init error and runtime error
|
||||||
|
- man teamd.conf: remove "mandatory" since the options are no longer mandatory
|
||||||
|
- teamd: add "debug_level" config option
|
||||||
|
- teamd: allow to change debug level during run
|
||||||
|
- teamd: register debug callback at the start of callbacks list
|
||||||
|
- libteam: add team_change_handler_register_head function
|
||||||
|
- teamd: lacp: update partner info before setting state
|
||||||
|
- teamd: lacp: do not check SYNCHRO flag before enable of port
|
||||||
|
- teamd: lacp: "expired" port is not selectable, only "current"
|
||||||
|
- teamd: lacp: update actor system (mac) before sending lacpdu
|
||||||
|
- teamd: respect currently set user linkup for created linkwatches
|
||||||
|
- teamd: split --take-over option into --no-quit-destroy
|
||||||
|
- teamd: fix port removal when using take_over
|
||||||
|
- libteam: add SubmittingPatches doc
|
||||||
|
- libteam: Use u8 for put/get TEAM_ATTR_OPTION_TYPE
|
||||||
|
|
||||||
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.10-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Mar 31 2014 Jiri Pirko <jpirko@redhat.com> - 1.10-1
|
||||||
|
- Update to 1.10
|
||||||
|
- teamd: quit when our team device is removed from outside
|
||||||
|
- libteam: ifinfo: watch for dellink messages and call change handlers for that
|
||||||
|
- initscripts: make ifup/ifdown scripts usable by ifup/ifdown-eth scripts
|
||||||
|
- teamdctl: unmess check_teamd_team_devname and fix double free there
|
||||||
|
- man: correct type of "*_host" options
|
||||||
|
- teamd_link_watch: specify "missed_max" option default value
|
||||||
|
- bond2team: do not guess source_host option
|
||||||
|
- teamd_link_watch: allow to send ARP probes if no source_host is specified
|
||||||
|
- initscripts: do not try to re-add port if it is already there
|
||||||
|
- teamdctl: add command for easy port presention checking
|
||||||
|
- Fix potential small memory leak
|
||||||
|
- usock: accept multiline message string parameters
|
||||||
|
- libteamdctl: add notice for caller to do not modify or free certain strings
|
||||||
|
- teamd: do not remove ports from team dev in case of take over mode
|
||||||
|
- teamd: look for existing ports before adding new ones
|
||||||
|
- libteam: introduce ream_refresh
|
||||||
|
- teamd: fixed couple comments.
|
||||||
|
- teamd: update hwaddr when changing team's macaddr
|
||||||
|
- redhat: fix boolean types in example 2
|
||||||
|
- initscripts: fix port up before master and port down after master
|
||||||
|
- lb: enable/disable port according to linkwatch state
|
||||||
|
- fix comment typo in ifdown-Team scripts
|
||||||
|
- man teamd.conf: Minor improvements to style and language
|
||||||
|
- man teamdctl: Minor improvements to style and language
|
||||||
|
|
||||||
|
* Thu Jan 23 2014 Jiri Pirko <jpirko@redhat.com> - 1.9-2
|
||||||
|
- fix multilib
|
||||||
|
|
||||||
|
* Tue Nov 12 2013 Jiri Pirko <jpirko@redhat.com> - 1.9-1
|
||||||
|
- Update to 1.9
|
||||||
|
- libteamdctl: remove false lib dependencies
|
||||||
|
- teamdctl: use new port config get function
|
||||||
|
- libteamdctl: introduce support for port config get
|
||||||
|
- libteamdctl: cache reply strings into list
|
||||||
|
- teamd: introduce PortConfigDump control method
|
||||||
|
- teamd: make teamd_get_port_by_ifname ifname argument const
|
||||||
|
- Minor improvements to style and language.
|
||||||
|
- do not install example binaries
|
||||||
|
- minor man page(s) correction(s) and lintianisation
|
||||||
|
- teamdctl: print error message if ifindex cannot be obtained
|
||||||
|
- fix cflags path in pc files
|
||||||
|
|
||||||
|
* Tue Aug 13 2013 Jiri Pirko <jpirko@redhat.com> - 1.8-1
|
||||||
|
- Update to 1.8
|
||||||
|
|
||||||
|
* Mon Aug 12 2013 Jiri Pirko <jpirko@redhat.com> - 1.7-1
|
||||||
|
- Update to 1.7
|
||||||
|
|
||||||
|
* Thu Aug 08 2013 Jiri Pirko <jpirko@redhat.com> - 1.6-1
|
||||||
|
- Update to 1.6
|
||||||
|
|
||||||
|
* Tue Jul 30 2013 Jiri Pirko <jpirko@redhat.com> - 1.5-1
|
||||||
|
- Update to 1.5
|
||||||
|
|
||||||
|
* Tue Jun 11 2013 Jiri Pirko <jpirko@redhat.com> - 1.3-1
|
||||||
|
- Update to 1.3
|
||||||
|
|
||||||
|
* Wed May 29 2013 Jiri Pirko <jpirko@redhat.com> - 1.2-1
|
||||||
|
- Update to 1.2
|
||||||
|
|
||||||
|
* Thu May 16 2013 Jiri Pirko <jpirko@redhat.com> - 1.1-1
|
||||||
|
- Update to 1.1
|
||||||
|
|
||||||
|
* Thu Jan 31 2013 Jiri Pirko <jpirko@redhat.com> - 1.0-1
|
||||||
|
- Update to 1.0
|
||||||
|
|
||||||
|
* Sun Jan 20 2013 Jiri Pirko <jpirko@redhat.com> - 0.1-27.20130110gitf16805c
|
||||||
|
- Rebuilt for libnl3
|
||||||
|
|
||||||
|
* Sun Jan 20 2013 Kalev Lember <kalevlember@gmail.com> - 0.1-26.20130110gitf16805c
|
||||||
|
- Rebuilt for libnl3
|
||||||
|
|
||||||
|
* Thu Jan 10 2013 Jiri Pirko <jpirko@redhat.com> - 0.1-25.20130110gitf16805c
|
||||||
|
- Rebase to git commit f16805c
|
||||||
|
|
||||||
|
* Wed Dec 12 2012 Jiri Pirko <jpirko@redhat.com> - 0.1-24.20121212git01fe4bd
|
||||||
|
- Rebase to git commit 01fe4bd
|
||||||
|
|
||||||
|
* Thu Dec 06 2012 Jiri Pirko <jpirko@redhat.com> - 0.1-23.20121206git659a848
|
||||||
|
- Rebase to git commit 659a848
|
||||||
|
|
||||||
|
* Thu Nov 22 2012 Jiri Pirko <jpirko@redhat.com> - 0.1-22.20121122git18b6701
|
||||||
|
- Rebase to git commit 18b6701
|
||||||
|
|
||||||
|
* Thu Nov 15 2012 Jiri Pirko <jpirko@redhat.com> - 0.1-21.20121115gitffb5267
|
||||||
|
- Rebase to git commit ffb5267
|
||||||
|
|
||||||
|
* Mon Nov 05 2012 Jiri Pirko <jpirko@redhat.com> - 0.1-20.20121105git3b95b34
|
||||||
|
- Rebase to git commit 3b95b34
|
||||||
|
|
||||||
|
* Thu Oct 25 2012 Jiri Pirko <jpirko@redhat.com> - 0.1-19.20121025git7fe7c72
|
||||||
|
- Rebase to git commit 7fe7c72
|
||||||
|
|
||||||
|
* Fri Oct 19 2012 Jiri Pirko <jpirko@redhat.com> - 0.1-18.20121019git1a91059
|
||||||
|
- Rebase to git commit 1a91059
|
||||||
|
|
||||||
|
* Sun Oct 07 2012 Jiri Pirko <jpirko@redhat.com> - 0.1-17.20121007git6f48751
|
||||||
|
- Rebase to git commit 6f48751
|
||||||
|
|
||||||
|
* Tue Sep 25 2012 Jiri Pirko <jpirko@redhat.com> - 0.1-16.20120925gitcc5cddc
|
||||||
|
- Rebase to git commit cc5cddc
|
||||||
|
|
||||||
|
* Sun Sep 23 2012 Jiri Pirko <jpirko@redhat.com> - 0.1-15.20120923git8448186
|
||||||
|
- Rebase to git commit 8448186
|
||||||
|
|
||||||
|
* Tue Sep 04 2012 Jiri Pirko <jpirko@redhat.com> - 0.1-14.20120904gitbdcf72c
|
||||||
|
- Rebase to git commit bdcf72c
|
||||||
|
|
||||||
|
* Wed Aug 22 2012 Jiri Pirko <jpirko@redhat.com> - 0.1-13.20120822gitc0d943d
|
||||||
|
- Rebase to git commit c0d943d
|
||||||
|
|
||||||
|
* Tue Aug 07 2012 Jiri Pirko <jpirko@redhat.com> - 0.1-12.20120807git9fa4a96
|
||||||
|
- Rebase to git commit 9fa4a96
|
||||||
|
|
||||||
|
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1-11.20120628gitca7b526
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jun 28 2012 Jiri Pirko <jpirko@redhat.com> - 0.1-10.20120628gitca7b526
|
||||||
|
- Rebase to git commit ca7b526
|
||||||
|
|
||||||
|
* Wed Jun 27 2012 Jiri Pirko <jpirko@redhat.com> - 0.1-9.20120627git96569f8
|
||||||
|
- Rebase to git commit 96569f8
|
||||||
|
|
||||||
|
* Wed Jun 27 2012 Jiri Pirko <jpirko@redhat.com> - 0.1-8.20120627gitcd6b557
|
||||||
|
- Rebase to git commit cd6b557
|
||||||
|
|
||||||
|
* Wed Jun 20 2012 Jiri Pirko <jpirko@redhat.com> - 0.1-7.20120620gita88fabf
|
||||||
|
- Rebase to git commit a88fabf
|
||||||
|
|
||||||
|
* Fri May 04 2012 Jiri Pirko <jpirko@redhat.com> - 0.1-6.20120504git11e234a
|
||||||
|
- Rebase to git commit 11e234a
|
||||||
|
|
||||||
|
* Thu Apr 05 2012 Jiri Pirko <jpirko@redhat.com> - 0.1-5.20120405gita82f8ac
|
||||||
|
- Rebase to git commit a82f8ac
|
||||||
|
|
||||||
|
* Tue Feb 21 2012 Jiri Pirko <jpirko@redhat.com> - 0.1-4.20120221gitfe97f63
|
||||||
|
- Rebase to git commit fe97f63
|
||||||
|
|
||||||
|
* Mon Jan 30 2012 Jiri Pirko <jpirko@redhat.com> - 0.1-3.20120130gitb5cf2a8
|
||||||
|
- Rebase to git commit b5cf2a8
|
||||||
|
|
||||||
|
* Wed Jan 25 2012 Jiri Pirko <jpirko@redhat.com> - 0.1-2.20120125gita1718f8
|
||||||
|
- Rebase to git commit a1718f8
|
||||||
|
|
||||||
|
* Wed Jan 18 2012 Jiri Pirko <jpirko@redhat.com> - 0.1-1.20120113git302672e
|
||||||
|
- Initial build.
|
Loading…
Reference in New Issue
Block a user