Lines Matching refs:dump

641 static int switchdev_port_vlan_dump_put(struct switchdev_vlan_dump *dump)  in switchdev_port_vlan_dump_put()  argument
645 vinfo.flags = dump->flags; in switchdev_port_vlan_dump_put()
647 if (dump->begin == 0 && dump->end == 0) { in switchdev_port_vlan_dump_put()
649 } else if (dump->begin == dump->end) { in switchdev_port_vlan_dump_put()
650 vinfo.vid = dump->begin; in switchdev_port_vlan_dump_put()
651 if (nla_put(dump->skb, IFLA_BRIDGE_VLAN_INFO, in switchdev_port_vlan_dump_put()
655 vinfo.vid = dump->begin; in switchdev_port_vlan_dump_put()
657 if (nla_put(dump->skb, IFLA_BRIDGE_VLAN_INFO, in switchdev_port_vlan_dump_put()
660 vinfo.vid = dump->end; in switchdev_port_vlan_dump_put()
663 if (nla_put(dump->skb, IFLA_BRIDGE_VLAN_INFO, in switchdev_port_vlan_dump_put()
674 struct switchdev_vlan_dump *dump = in switchdev_port_vlan_dump_cb() local
681 if (dump->filter_mask & RTEXT_FILTER_BRVLAN) { in switchdev_port_vlan_dump_cb()
682 dump->flags = vlan->flags; in switchdev_port_vlan_dump_cb()
683 for (dump->begin = dump->end = vlan->vid_begin; in switchdev_port_vlan_dump_cb()
684 dump->begin <= vlan->vid_end; in switchdev_port_vlan_dump_cb()
685 dump->begin++, dump->end++) { in switchdev_port_vlan_dump_cb()
686 err = switchdev_port_vlan_dump_put(dump); in switchdev_port_vlan_dump_cb()
690 } else if (dump->filter_mask & RTEXT_FILTER_BRVLAN_COMPRESSED) { in switchdev_port_vlan_dump_cb()
691 if (dump->begin > vlan->vid_begin && in switchdev_port_vlan_dump_cb()
692 dump->begin >= vlan->vid_end) { in switchdev_port_vlan_dump_cb()
693 if ((dump->begin - 1) == vlan->vid_end && in switchdev_port_vlan_dump_cb()
694 dump->flags == vlan->flags) { in switchdev_port_vlan_dump_cb()
696 dump->begin = vlan->vid_begin; in switchdev_port_vlan_dump_cb()
698 err = switchdev_port_vlan_dump_put(dump); in switchdev_port_vlan_dump_cb()
699 dump->flags = vlan->flags; in switchdev_port_vlan_dump_cb()
700 dump->begin = vlan->vid_begin; in switchdev_port_vlan_dump_cb()
701 dump->end = vlan->vid_end; in switchdev_port_vlan_dump_cb()
703 } else if (dump->end <= vlan->vid_begin && in switchdev_port_vlan_dump_cb()
704 dump->end < vlan->vid_end) { in switchdev_port_vlan_dump_cb()
705 if ((dump->end + 1) == vlan->vid_begin && in switchdev_port_vlan_dump_cb()
706 dump->flags == vlan->flags) { in switchdev_port_vlan_dump_cb()
708 dump->end = vlan->vid_end; in switchdev_port_vlan_dump_cb()
710 err = switchdev_port_vlan_dump_put(dump); in switchdev_port_vlan_dump_cb()
711 dump->flags = vlan->flags; in switchdev_port_vlan_dump_cb()
712 dump->begin = vlan->vid_begin; in switchdev_port_vlan_dump_cb()
713 dump->end = vlan->vid_end; in switchdev_port_vlan_dump_cb()
726 struct switchdev_vlan_dump dump = { in switchdev_port_vlan_fill() local
735 err = switchdev_port_obj_dump(dev, &dump.vlan.obj, in switchdev_port_vlan_fill()
741 err = switchdev_port_vlan_dump_put(&dump); in switchdev_port_vlan_fill()
1024 struct switchdev_fdb_dump *dump = in switchdev_port_fdb_dump_cb() local
1026 u32 portid = NETLINK_CB(dump->cb->skb).portid; in switchdev_port_fdb_dump_cb()
1027 u32 seq = dump->cb->nlh->nlmsg_seq; in switchdev_port_fdb_dump_cb()
1031 if (dump->idx < dump->cb->args[0]) in switchdev_port_fdb_dump_cb()
1034 nlh = nlmsg_put(dump->skb, portid, seq, RTM_NEWNEIGH, in switchdev_port_fdb_dump_cb()
1045 ndm->ndm_ifindex = dump->dev->ifindex; in switchdev_port_fdb_dump_cb()
1048 if (nla_put(dump->skb, NDA_LLADDR, ETH_ALEN, fdb->addr)) in switchdev_port_fdb_dump_cb()
1051 if (fdb->vid && nla_put_u16(dump->skb, NDA_VLAN, fdb->vid)) in switchdev_port_fdb_dump_cb()
1054 nlmsg_end(dump->skb, nlh); in switchdev_port_fdb_dump_cb()
1057 dump->idx++; in switchdev_port_fdb_dump_cb()
1061 nlmsg_cancel(dump->skb, nlh); in switchdev_port_fdb_dump_cb()
1080 struct switchdev_fdb_dump dump = { in switchdev_port_fdb_dump() local
1088 switchdev_port_obj_dump(dev, &dump.fdb.obj, switchdev_port_fdb_dump_cb); in switchdev_port_fdb_dump()
1089 return dump.idx; in switchdev_port_fdb_dump()