Lines Matching refs:vi

73 	struct vlan_info *vi;
75 if ((vi = calloc(1, sizeof(*vi))) == NULL)
78 link->l_info = vi;
87 struct vlan_info *vi;
98 vi = link->l_info;
101 vi->vi_vlan_id = nla_get_u16(tb[IFLA_VLAN_ID]);
102 vi->vi_mask |= VLAN_HAS_ID;
109 vi->vi_flags = flags.flags;
110 vi->vi_mask |= VLAN_HAS_FLAGS;
118 memset(vi->vi_ingress_qos, 0, sizeof(vi->vi_ingress_qos));
129 vi->vi_ingress_qos[map->from] = map->to;
132 vi->vi_mask |= VLAN_HAS_INGRESS_QOS;
147 vi->vi_egress_size = (i + 32) & ~31;
148 vi->vi_egress_qos = calloc(vi->vi_egress_size, sizeof(*map));
149 if (vi->vi_egress_qos == NULL)
156 vi->vi_egress_qos[i].vm_from = map->from;
157 vi->vi_egress_qos[i++].vm_to = map->to;
160 vi->vi_negress = i;
161 vi->vi_mask |= VLAN_HAS_EGRESS_QOS;
171 struct vlan_info *vi = link->l_info;
173 if (vi) {
174 free(vi->vi_egress_qos);
175 vi->vi_egress_qos = NULL;
178 free(vi);
184 struct vlan_info *vi = link->l_info;
186 nl_dump(p, "vlan-id %d", vi->vi_vlan_id);
191 struct vlan_info *vi = link->l_info;
195 rtnl_link_vlan_flags2str(vi->vi_flags, buf, sizeof(buf));
196 nl_dump_line(p, " vlan-info id %d <%s>\n", vi->vi_vlan_id, buf);
198 if (vi->vi_mask & VLAN_HAS_INGRESS_QOS) {
202 if (vi->vi_ingress_qos[i]) {
206 i, vi->vi_ingress_qos[i]);
218 if (vi->vi_mask & VLAN_HAS_EGRESS_QOS) {
221 for (i = 0, printed = 0; i < vi->vi_negress; i++) {
225 vi->vi_egress_qos[i].vm_from,
226 vi->vi_egress_qos[i].vm_to);
261 struct vlan_info *vi = link->l_info;
267 if (vi->vi_mask & VLAN_HAS_ID)
268 NLA_PUT_U16(msg, IFLA_VLAN_ID, vi->vi_vlan_id);
270 if (vi->vi_mask & VLAN_HAS_FLAGS) {
272 .flags = vi->vi_flags,
273 .mask = vi->vi_flags_mask,
279 if (vi->vi_mask & VLAN_HAS_INGRESS_QOS) {
288 if (vi->vi_ingress_qos[i]) {
290 map.to = vi->vi_ingress_qos[i];
299 if (vi->vi_mask & VLAN_HAS_EGRESS_QOS) {
307 for (i = 0; i < vi->vi_negress; i++) {
308 map.from = vi->vi_egress_qos[i].vm_from;
309 map.to = vi->vi_egress_qos[i].vm_to;
339 struct vlan_info *vi = link->l_info;
344 vi->vi_vlan_id = id;
345 vi->vi_mask |= VLAN_HAS_ID;
352 struct vlan_info *vi = link->l_info;
357 if (vi->vi_mask & VLAN_HAS_ID)
358 return vi->vi_vlan_id;
365 struct vlan_info *vi = link->l_info;
370 vi->vi_flags_mask |= flags;
371 vi->vi_flags |= flags;
372 vi->vi_mask |= VLAN_HAS_FLAGS;
379 struct vlan_info *vi = link->l_info;
384 vi->vi_flags_mask |= flags;
385 vi->vi_flags &= ~flags;
386 vi->vi_mask |= VLAN_HAS_FLAGS;
393 struct vlan_info *vi = link->l_info;
398 return vi->vi_flags;
404 struct vlan_info *vi = link->l_info;
412 vi->vi_ingress_qos[from] = to;
413 vi->vi_mask |= VLAN_HAS_INGRESS_QOS;
420 struct vlan_info *vi = link->l_info;
425 if (vi->vi_mask & VLAN_HAS_INGRESS_QOS)
426 return vi->vi_ingress_qos;
433 struct vlan_info *vi = link->l_info;
441 if (vi->vi_negress >= vi->vi_egress_size) {
442 int new_size = vi->vi_egress_size + 32;
445 ptr = realloc(vi->vi_egress_qos, new_size);
449 vi->vi_egress_qos = ptr;
450 vi->vi_egress_size = new_size;
453 vi->vi_egress_qos[vi->vi_negress].vm_from = from;
454 vi->vi_egress_qos[vi->vi_negress].vm_to = to;
455 vi->vi_negress++;
456 vi->vi_mask |= VLAN_HAS_EGRESS_QOS;
464 struct vlan_info *vi = link->l_info;
472 if (vi->vi_mask & VLAN_HAS_EGRESS_QOS) {
473 *negress = vi->vi_negress;
474 return vi->vi_egress_qos;