diff --git a/.gitignore b/.gitignore index a7c181d..ac833f0 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/libteam-1.28.tar.gz +SOURCES/libteam-1.29.tar.gz diff --git a/.libteam.metadata b/.libteam.metadata index f7afdcc..92c4c67 100644 --- a/.libteam.metadata +++ b/.libteam.metadata @@ -1 +1 @@ -c3429d0b29ae78dd1d4899dab6fe9f13af26ff7d SOURCES/libteam-1.28.tar.gz +2dbdd6769c61381f84a31553bc5502a60376e33b SOURCES/libteam-1.29.tar.gz diff --git a/SOURCES/libteam-man-fix-runner.min_ports-default-value.patch b/SOURCES/libteam-man-fix-runner.min_ports-default-value.patch deleted file mode 100644 index b8a6ced..0000000 --- a/SOURCES/libteam-man-fix-runner.min_ports-default-value.patch +++ /dev/null @@ -1,30 +0,0 @@ -From f36c191da3d65a4744582b2eb09fa297dd85f9ae Mon Sep 17 00:00:00 2001 -From: Hangbin Liu -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 -Signed-off-by: Hangbin Liu -Signed-off-by: Jiri Pirko ---- - 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 - diff --git a/SOURCES/libteam-man-teamd.conf-update-some-parameter-default-values.patch b/SOURCES/libteam-man-teamd.conf-update-some-parameter-default-values.patch new file mode 100644 index 0000000..0af662e --- /dev/null +++ b/SOURCES/libteam-man-teamd.conf-update-some-parameter-default-values.patch @@ -0,0 +1,55 @@ +From 337bae54278a112bab9d99e05ee7ec825b12c646 Mon Sep 17 00:00:00 2001 +Message-Id: <337bae54278a112bab9d99e05ee7ec825b12c646.1566966529.git.lucien.xin@gmail.com> +From: Hangbin Liu +Date: Wed, 24 Jul 2019 17:02:21 +0800 +Subject: [PATCH] man teamd.conf: update some parameter default values + +Update default runner.name to roundrobin, default runner.tx_hash array +to ["eth", "ipv4", "ipv6"], default runner.fast_rate to false. + +Signed-off-by: Hangbin Liu +Signed-off-by: Jiri Pirko +--- + man/teamd.conf.5 | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/man/teamd.conf.5 b/man/teamd.conf.5 +index 9090b4a..350ffc9 100644 +--- a/man/teamd.conf.5 ++++ b/man/teamd.conf.5 +@@ -42,6 +42,9 @@ To do passive load balancing, runner only sets up BPF hash function which will d + .PP + .BR "lacp "\(em + Implements 802.3ad LACP protocol. Can use same Tx port selection possibilities as loadbalance runner. ++.PP ++Default: ++.BR "roundrobin" + .RE + .TP + .BR "notify_peers.count " (int) +@@ -182,6 +185,10 @@ Uses source and destination SCTP ports. + .PP + .BR "l4 "\(em + Uses source and destination TCP and UDP and SCTP ports. ++.PP ++Default: ++.B ++["eth", "ipv4", "ipv6"] + .RE + .TP + .BR "runner.tx_balancer.name " (string) +@@ -217,6 +224,11 @@ Default: + Option specifies the rate at which our link partner is asked to transmit LACPDU packets. If this is + .BR "true" + then packets will be sent once per second. Otherwise they will be sent every 30 seconds. ++.RS 7 ++.PP ++Default: ++.BR "false" ++.RE + .TP + .BR "runner.tx_hash " (array) + Same as for load balance runner. +-- +2.18.1 + diff --git a/SOURCES/libteam-teamd-config-update-local-prio-to-kernel.patch b/SOURCES/libteam-teamd-config-update-local-prio-to-kernel.patch deleted file mode 100644 index c3de0a7..0000000 --- a/SOURCES/libteam-teamd-config-update-local-prio-to-kernel.patch +++ /dev/null @@ -1,68 +0,0 @@ -From c8b356a3cd363af10d71e21a4fb7dc26cf90b5bc Mon Sep 17 00:00:00 2001 -From: Hangbin Liu -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 -Signed-off-by: Hangbin Liu -Signed-off-by: Jiri Pirko ---- - 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 - diff --git a/SOURCES/libteam-teamd-lacp-update-port-state-according-to-partner-s-.patch b/SOURCES/libteam-teamd-lacp-update-port-state-according-to-partner-s-.patch deleted file mode 100644 index 567e93a..0000000 --- a/SOURCES/libteam-teamd-lacp-update-port-state-according-to-partner-s-.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 54f137c10579bf97800c61ebb13e732aa1d843e6 Mon Sep 17 00:00:00 2001 -From: Hangbin Liu -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 -Signed-off-by: Jiri Pirko ---- - 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 - diff --git a/SOURCES/libteam-teamd-lw-arp_ping-only-check-arp-reply-message.patch b/SOURCES/libteam-teamd-lw-arp_ping-only-check-arp-reply-message.patch deleted file mode 100644 index 3b081c6..0000000 --- a/SOURCES/libteam-teamd-lw-arp_ping-only-check-arp-reply-message.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 5f355301b7cafbb51b036ad1e5af38e79d4330d6 Mon Sep 17 00:00:00 2001 -From: Hangbin Liu -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 -Signed-off-by: Hangbin Liu -Signed-off-by: Jiri Pirko ---- - 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 - diff --git a/SOURCES/libteam-teamd-lw-nsna_ping-only-send-ns-on-enabled-port.patch b/SOURCES/libteam-teamd-lw-nsna_ping-only-send-ns-on-enabled-port.patch deleted file mode 100644 index 913b24d..0000000 --- a/SOURCES/libteam-teamd-lw-nsna_ping-only-send-ns-on-enabled-port.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 6bf0e87387878654186bcf7287e0eda59b1c2f2c Mon Sep 17 00:00:00 2001 -From: Hangbin Liu -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 -Signed-off-by: Hangbin Liu -Signed-off-by: Jiri Pirko ---- - 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 - diff --git a/SOURCES/libteam-teamd-remove-port-if-adding-fails.patch b/SOURCES/libteam-teamd-remove-port-if-adding-fails.patch deleted file mode 100644 index 454366a..0000000 --- a/SOURCES/libteam-teamd-remove-port-if-adding-fails.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 0f1b2fac03361c5d2bac34e4b19922c60c5c06c6 Mon Sep 17 00:00:00 2001 -From: Hangbin Liu -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 -Signed-off-by: Hangbin Liu -Signed-off-by: Jiri Pirko ---- - 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 - diff --git a/SOURCES/libteam-teamd-tdport-has-to-exist-if-item-per_port-is-set-in.patch b/SOURCES/libteam-teamd-tdport-has-to-exist-if-item-per_port-is-set-in.patch deleted file mode 100644 index c3acc57..0000000 --- a/SOURCES/libteam-teamd-tdport-has-to-exist-if-item-per_port-is-set-in.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 4dc3a7a042c88193f0371a33f1043919843e6447 Mon Sep 17 00:00:00 2001 -From: Xin Long -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 -Signed-off-by: Jiri Pirko ---- - 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 - diff --git a/SOURCES/libteam-teamd-use-enabled-option_changed-to-sync-enabled-to-.patch b/SOURCES/libteam-teamd-use-enabled-option_changed-to-sync-enabled-to-.patch deleted file mode 100644 index b112156..0000000 --- a/SOURCES/libteam-teamd-use-enabled-option_changed-to-sync-enabled-to-.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 90e5279ce0241838d5687739b3bc795235b7d53b Mon Sep 17 00:00:00 2001 -From: Xin Long -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 -Signed-off-by: Xin Long -Signed-off-by: Jiri Pirko ---- - 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 - diff --git a/SOURCES/libteam-teamnl-update-help-message.patch b/SOURCES/libteam-teamnl-update-help-message.patch deleted file mode 100644 index f9c3aa5..0000000 --- a/SOURCES/libteam-teamnl-update-help-message.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 6e67aa89a746ff98d4b4f4fa3c778aa31d4d2c7f Mon Sep 17 00:00:00 2001 -From: Hangbin Liu -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 -Signed-off-by: Jiri Pirko ---- - 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 - diff --git a/SPECS/libteam.spec b/SPECS/libteam.spec index 760f0bb..97ff739 100644 --- a/SPECS/libteam.spec +++ b/SPECS/libteam.spec @@ -1,20 +1,12 @@ Name: libteam -Version: 1.28 -Release: 2%{?dist} +Version: 1.29 +Release: 1%{?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 +Patch1: libteam-man-teamd.conf-update-some-parameter-default-values.patch BuildRequires: jansson-devel BuildRequires: libdaemon-devel BuildRequires: libnl3-devel @@ -173,6 +165,20 @@ cd binding/python %{_sysconfdir}/sysconfig/network-scripts/ifdown-TeamPort %changelog +* Mon Oct 14 2019 Xin Long - 1.29-1 +- man teamd.conf: update some parameter default values [1732587] +- 1.29 release +- teamd: add port_master_ifindex_changed for link_watch_port_watch_ops +- initscripts: fix if/fi align +- teamd: fix a json object memleak in get_port_obj() [1767685] +- libteam: set netlink event socket as non-blocking [1684389] +- libteam: double NETLINK_RCVBUF to fix -ENOMEM error +- teamd: add a default value 1000 for link_watch.interval +* Mon Jul 15 2019 Xin Long - 1.28-4 +- gating: run VM with more RAM [1722449] +* Wed Jul 03 2019 Xin Long - 1.28-3 +- teamd: return 0 if tdport doesn't exist in teamd_config_port_set [1722449] +- teamd: improve the error output for non-integer port prio * Mon Apr 29 2019 Xin Long - 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]