nla_total_size(sizeof(u16)); /* IFLA_BRIDGE_VLAN_TUNNEL_FLAGS */
}
-static bool vlan_tunnel_id_isrange(struct net_bridge_vlan *v,
- struct net_bridge_vlan *v_end)
+static bool vlan_tunid_inrange(struct net_bridge_vlan *v_curr,
+ struct net_bridge_vlan *v_last)
{
- __be32 tunid_curr = tunnel_id_to_key32(v->tinfo.tunnel_id);
- __be32 tunid_end = tunnel_id_to_key32(v_end->tinfo.tunnel_id);
+ __be32 tunid_curr = tunnel_id_to_key32(v_curr->tinfo.tunnel_id);
+ __be32 tunid_last = tunnel_id_to_key32(v_last->tinfo.tunnel_id);
- return (be32_to_cpu(tunid_curr) - be32_to_cpu(tunid_end)) == 1;
+ return (be32_to_cpu(tunid_curr) - be32_to_cpu(tunid_last)) == 1;
}
static int __get_num_vlan_tunnel_infos(struct net_bridge_vlan_group *vg)
{
- struct net_bridge_vlan *v, *v_start = NULL, *v_end = NULL;
+ struct net_bridge_vlan *v, *vtbegin = NULL, *vtend = NULL;
int num_tinfos = 0;
/* Count number of vlan infos */
if (!br_vlan_should_use(v) || !v->tinfo.tunnel_id)
continue;
- if (!v_start) {
+ if (!vtbegin) {
goto initvars;
- } else if ((v->vid - v_end->vid) == 1 &&
- vlan_tunnel_id_isrange(v_end, v) == 1) {
- v_end = v;
+ } else if ((v->vid - vtend->vid) == 1 &&
+ vlan_tunid_inrange(v, vtend)) {
+ vtend = v;
continue;
} else {
- if ((v_end->vid - v->vid) > 0 &&
- vlan_tunnel_id_isrange(v_end, v) > 0)
+ if ((vtend->vid - vtbegin->vid) > 0)
num_tinfos += 2;
else
num_tinfos += 1;
}
initvars:
- v_start = v;
- v_end = v;
+ vtbegin = v;
+ vtend = v;
}
- if (v_start) {
- if ((v_end->vid - v->vid) > 0 &&
- vlan_tunnel_id_isrange(v_end, v) > 0)
+ if (vtbegin && vtend) {
+ if ((vtend->vid - vtbegin->vid) > 0)
num_tinfos += 2;
else
num_tinfos += 1;
if (!vtbegin) {
goto initvars;
} else if ((v->vid - vtend->vid) == 1 &&
- vlan_tunnel_id_isrange(v, vtend)) {
+ vlan_tunid_inrange(v, vtend)) {
vtend = v;
continue;
} else {