team: add signed 32-bit team option type

Signed-off-by: Jiri Pirko <jiri@resnulli.us>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Jiri Pirko
2012-07-27 06:28:53 +00:00
committed by David S. Miller
parent 4778e0be16
commit 69821638b2
2 changed files with 14 additions and 0 deletions

View File

@@ -1787,6 +1787,12 @@ static int team_nl_fill_one_option_get(struct sk_buff *skb, struct team *team,
nla_put_flag(skb, TEAM_ATTR_OPTION_DATA))
goto nest_cancel;
break;
case TEAM_OPTION_TYPE_S32:
if (nla_put_u8(skb, TEAM_ATTR_OPTION_TYPE, NLA_S32))
goto nest_cancel;
if (nla_put_s32(skb, TEAM_ATTR_OPTION_DATA, ctx.data.s32_val))
goto nest_cancel;
break;
default:
BUG();
}
@@ -1975,6 +1981,9 @@ static int team_nl_cmd_options_set(struct sk_buff *skb, struct genl_info *info)
case NLA_FLAG:
opt_type = TEAM_OPTION_TYPE_BOOL;
break;
case NLA_S32:
opt_type = TEAM_OPTION_TYPE_S32;
break;
default:
goto team_put;
}
@@ -2031,6 +2040,9 @@ static int team_nl_cmd_options_set(struct sk_buff *skb, struct genl_info *info)
case TEAM_OPTION_TYPE_BOOL:
ctx.data.bool_val = attr_data ? true : false;
break;
case TEAM_OPTION_TYPE_S32:
ctx.data.s32_val = nla_get_s32(attr_data);
break;
default:
BUG();
}