From patchwork Fri Apr 20 14:42:06 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 154057 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 86EE6B7058 for ; Sat, 21 Apr 2012 00:42:26 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756863Ab2DTOmV (ORCPT ); Fri, 20 Apr 2012 10:42:21 -0400 Received: from mx1.redhat.com ([209.132.183.28]:27628 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756881Ab2DTOmS (ORCPT ); Fri, 20 Apr 2012 10:42:18 -0400 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q3KEgGZc002330 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 20 Apr 2012 10:42:16 -0400 Received: from localhost (minipsycho.brq.redhat.com [10.34.26.17]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q3KEgFLv004890; Fri, 20 Apr 2012 10:42:16 -0400 From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, eric.dumazet@gmail.com Subject: [patch net-next 3/3] team: add per-port option for enabling/disabling ports Date: Fri, 20 Apr 2012 16:42:06 +0200 Message-Id: <1334932926-23996-4-git-send-email-jpirko@redhat.com> In-Reply-To: <1334932926-23996-1-git-send-email-jpirko@redhat.com> References: <1334932926-23996-1-git-send-email-jpirko@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Signed-off-by: Jiri Pirko --- drivers/net/team/team.c | 24 ++++++++++++++++++++++++ 1 files changed, 24 insertions(+), 0 deletions(-) diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c index fe7ca40..c61ae35 100644 --- a/drivers/net/team/team.c +++ b/drivers/net/team/team.c @@ -904,6 +904,23 @@ static int team_mode_option_set(struct team *team, struct team_gsetter_ctx *ctx) return team_change_mode(team, ctx->data.str_val); } +static int team_port_en_option_get(struct team *team, + struct team_gsetter_ctx *ctx) +{ + ctx->data.bool_val = team_port_enabled(ctx->port); + return 0; +} + +static int team_port_en_option_set(struct team *team, + struct team_gsetter_ctx *ctx) +{ + if (ctx->data.bool_val) + team_port_enable(team, ctx->port); + else + team_port_disable(team, ctx->port); + return 0; +} + static int team_user_linkup_option_get(struct team *team, struct team_gsetter_ctx *ctx) { @@ -946,6 +963,13 @@ static const struct team_option team_options[] = { .setter = team_mode_option_set, }, { + .name = "enabled", + .type = TEAM_OPTION_TYPE_BOOL, + .per_port = true, + .getter = team_port_en_option_get, + .setter = team_port_en_option_set, + }, + { .name = "user_linkup", .type = TEAM_OPTION_TYPE_BOOL, .per_port = true,