Lines Matching refs:netdev
221 static int dcbnl_getstate(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_getstate() argument
225 if (!netdev->dcbnl_ops->getstate) in dcbnl_getstate()
229 netdev->dcbnl_ops->getstate(netdev)); in dcbnl_getstate()
232 static int dcbnl_getpfccfg(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_getpfccfg() argument
244 if (!netdev->dcbnl_ops->getpfccfg) in dcbnl_getpfccfg()
264 netdev->dcbnl_ops->getpfccfg(netdev, i - DCB_PFC_UP_ATTR_0, in dcbnl_getpfccfg()
277 static int dcbnl_getperm_hwaddr(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_getperm_hwaddr() argument
282 if (!netdev->dcbnl_ops->getpermhwaddr) in dcbnl_getperm_hwaddr()
286 netdev->dcbnl_ops->getpermhwaddr(netdev, perm_addr); in dcbnl_getperm_hwaddr()
291 static int dcbnl_getcap(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_getcap() argument
303 if (!netdev->dcbnl_ops->getcap) in dcbnl_getcap()
322 if (!netdev->dcbnl_ops->getcap(netdev, i, &value)) { in dcbnl_getcap()
335 static int dcbnl_getnumtcs(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_getnumtcs() argument
347 if (!netdev->dcbnl_ops->getnumtcs) in dcbnl_getnumtcs()
366 ret = netdev->dcbnl_ops->getnumtcs(netdev, i, &value); in dcbnl_getnumtcs()
381 static int dcbnl_setnumtcs(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_setnumtcs() argument
392 if (!netdev->dcbnl_ops->setnumtcs) in dcbnl_setnumtcs()
406 ret = netdev->dcbnl_ops->setnumtcs(netdev, i, value); in dcbnl_setnumtcs()
414 static int dcbnl_getpfcstate(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_getpfcstate() argument
417 if (!netdev->dcbnl_ops->getpfcstate) in dcbnl_getpfcstate()
421 netdev->dcbnl_ops->getpfcstate(netdev)); in dcbnl_getpfcstate()
424 static int dcbnl_setpfcstate(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_setpfcstate() argument
432 if (!netdev->dcbnl_ops->setpfcstate) in dcbnl_setpfcstate()
437 netdev->dcbnl_ops->setpfcstate(netdev, value); in dcbnl_setpfcstate()
442 static int dcbnl_getapp(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_getapp() argument
472 if (netdev->dcbnl_ops->getapp) { in dcbnl_getapp()
473 ret = netdev->dcbnl_ops->getapp(netdev, idtype, id); in dcbnl_getapp()
483 up = dcb_getapp(netdev, &app); in dcbnl_getapp()
511 static int dcbnl_setapp(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_setapp() argument
542 if (netdev->dcbnl_ops->setapp) { in dcbnl_setapp()
543 ret = netdev->dcbnl_ops->setapp(netdev, idtype, id, up); in dcbnl_setapp()
551 ret = dcb_setapp(netdev, &app); in dcbnl_setapp()
555 dcbnl_cee_notify(netdev, RTM_SETDCB, DCB_CMD_SAPP, seq, 0); in dcbnl_setapp()
560 static int __dcbnl_pg_getcfg(struct net_device *netdev, struct nlmsghdr *nlh, in __dcbnl_pg_getcfg() argument
574 if (!netdev->dcbnl_ops->getpgtccfgtx || in __dcbnl_pg_getcfg()
575 !netdev->dcbnl_ops->getpgtccfgrx || in __dcbnl_pg_getcfg()
576 !netdev->dcbnl_ops->getpgbwgcfgtx || in __dcbnl_pg_getcfg()
577 !netdev->dcbnl_ops->getpgbwgcfgrx) in __dcbnl_pg_getcfg()
616 netdev->dcbnl_ops->getpgtccfgrx(netdev, in __dcbnl_pg_getcfg()
621 netdev->dcbnl_ops->getpgtccfgtx(netdev, in __dcbnl_pg_getcfg()
670 netdev->dcbnl_ops->getpgbwgcfgrx(netdev, in __dcbnl_pg_getcfg()
674 netdev->dcbnl_ops->getpgbwgcfgtx(netdev, in __dcbnl_pg_getcfg()
694 static int dcbnl_pgtx_getcfg(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_pgtx_getcfg() argument
697 return __dcbnl_pg_getcfg(netdev, nlh, tb, skb, 0); in dcbnl_pgtx_getcfg()
700 static int dcbnl_pgrx_getcfg(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_pgrx_getcfg() argument
703 return __dcbnl_pg_getcfg(netdev, nlh, tb, skb, 1); in dcbnl_pgrx_getcfg()
706 static int dcbnl_setstate(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_setstate() argument
714 if (!netdev->dcbnl_ops->setstate) in dcbnl_setstate()
720 netdev->dcbnl_ops->setstate(netdev, value)); in dcbnl_setstate()
723 static int dcbnl_setpfccfg(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_setpfccfg() argument
734 if (!netdev->dcbnl_ops->setpfccfg) in dcbnl_setpfccfg()
747 netdev->dcbnl_ops->setpfccfg(netdev, in dcbnl_setpfccfg()
754 static int dcbnl_setall(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_setall() argument
762 if (!netdev->dcbnl_ops->setall) in dcbnl_setall()
766 netdev->dcbnl_ops->setall(netdev)); in dcbnl_setall()
767 dcbnl_cee_notify(netdev, RTM_SETDCB, DCB_CMD_SET_ALL, seq, 0); in dcbnl_setall()
772 static int __dcbnl_pg_setcfg(struct net_device *netdev, struct nlmsghdr *nlh, in __dcbnl_pg_setcfg() argument
788 if (!netdev->dcbnl_ops->setpgtccfgtx || in __dcbnl_pg_setcfg()
789 !netdev->dcbnl_ops->setpgtccfgrx || in __dcbnl_pg_setcfg()
790 !netdev->dcbnl_ops->setpgbwgcfgtx || in __dcbnl_pg_setcfg()
791 !netdev->dcbnl_ops->setpgbwgcfgrx) in __dcbnl_pg_setcfg()
830 netdev->dcbnl_ops->setpgtccfgrx(netdev, in __dcbnl_pg_setcfg()
835 netdev->dcbnl_ops->setpgtccfgtx(netdev, in __dcbnl_pg_setcfg()
850 netdev->dcbnl_ops->setpgbwgcfgrx(netdev, in __dcbnl_pg_setcfg()
854 netdev->dcbnl_ops->setpgbwgcfgtx(netdev, in __dcbnl_pg_setcfg()
862 static int dcbnl_pgtx_setcfg(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_pgtx_setcfg() argument
865 return __dcbnl_pg_setcfg(netdev, nlh, seq, tb, skb, 0); in dcbnl_pgtx_setcfg()
868 static int dcbnl_pgrx_setcfg(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_pgrx_setcfg() argument
871 return __dcbnl_pg_setcfg(netdev, nlh, seq, tb, skb, 1); in dcbnl_pgrx_setcfg()
874 static int dcbnl_bcn_getcfg(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_bcn_getcfg() argument
888 if (!netdev->dcbnl_ops->getbcnrp || in dcbnl_bcn_getcfg()
889 !netdev->dcbnl_ops->getbcncfg) in dcbnl_bcn_getcfg()
908 netdev->dcbnl_ops->getbcnrp(netdev, i - DCB_BCN_ATTR_RP_0, in dcbnl_bcn_getcfg()
919 netdev->dcbnl_ops->getbcncfg(netdev, i, in dcbnl_bcn_getcfg()
935 static int dcbnl_bcn_setcfg(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_bcn_setcfg() argument
947 if (!netdev->dcbnl_ops->setbcncfg || in dcbnl_bcn_setcfg()
948 !netdev->dcbnl_ops->setbcnrp) in dcbnl_bcn_setcfg()
961 netdev->dcbnl_ops->setbcnrp(netdev, in dcbnl_bcn_setcfg()
969 netdev->dcbnl_ops->setbcncfg(netdev, in dcbnl_bcn_setcfg()
976 static int dcbnl_build_peer_app(struct net_device *netdev, struct sk_buff* skb, in dcbnl_build_peer_app() argument
982 const struct dcbnl_rtnl_ops *ops = netdev->dcbnl_ops; in dcbnl_build_peer_app()
991 err = ops->peer_getappinfo(netdev, &info, &app_count); in dcbnl_build_peer_app()
997 err = ops->peer_getapptable(netdev, table); in dcbnl_build_peer_app()
1033 static int dcbnl_ieee_fill(struct sk_buff *skb, struct net_device *netdev) in dcbnl_ieee_fill() argument
1037 const struct dcbnl_rtnl_ops *ops = netdev->dcbnl_ops; in dcbnl_ieee_fill()
1041 if (nla_put_string(skb, DCB_ATTR_IFNAME, netdev->name)) in dcbnl_ieee_fill()
1051 err = ops->ieee_getets(netdev, &ets); in dcbnl_ieee_fill()
1060 err = ops->ieee_getmaxrate(netdev, &maxrate); in dcbnl_ieee_fill()
1073 err = ops->ieee_getqcn(netdev, &qcn); in dcbnl_ieee_fill()
1086 err = ops->ieee_getqcnstats(netdev, &qcn_stats); in dcbnl_ieee_fill()
1098 err = ops->ieee_getpfc(netdev, &pfc); in dcbnl_ieee_fill()
1110 if (itr->ifindex == netdev->ifindex) { in dcbnl_ieee_fill()
1120 if (netdev->dcbnl_ops->getdcbx) in dcbnl_ieee_fill()
1121 dcbx = netdev->dcbnl_ops->getdcbx(netdev); in dcbnl_ieee_fill()
1132 err = ops->ieee_peer_getets(netdev, &ets); in dcbnl_ieee_fill()
1141 err = ops->ieee_peer_getpfc(netdev, &pfc); in dcbnl_ieee_fill()
1148 err = dcbnl_build_peer_app(netdev, skb, in dcbnl_ieee_fill()
1219 static int dcbnl_cee_fill(struct sk_buff *skb, struct net_device *netdev) in dcbnl_cee_fill() argument
1223 const struct dcbnl_rtnl_ops *ops = netdev->dcbnl_ops; in dcbnl_cee_fill()
1227 if (nla_put_string(skb, DCB_ATTR_IFNAME, netdev->name)) in dcbnl_cee_fill()
1235 err = dcbnl_cee_pg_fill(skb, netdev, 1); in dcbnl_cee_fill()
1241 err = dcbnl_cee_pg_fill(skb, netdev, 0); in dcbnl_cee_fill()
1254 ops->getpfccfg(netdev, i - DCB_PFC_UP_ATTR_0, &value); in dcbnl_cee_fill()
1268 if (itr->ifindex == netdev->ifindex) { in dcbnl_cee_fill()
1294 if (netdev->dcbnl_ops->getdcbx) in dcbnl_cee_fill()
1295 dcbx = netdev->dcbnl_ops->getdcbx(netdev); in dcbnl_cee_fill()
1309 if (!ops->getfeatcfg(netdev, i, &value) && in dcbnl_cee_fill()
1320 err = ops->cee_peer_getpg(netdev, &pg); in dcbnl_cee_fill()
1329 err = ops->cee_peer_getpfc(netdev, &pfc); in dcbnl_cee_fill()
1336 err = dcbnl_build_peer_app(netdev, skb, in dcbnl_cee_fill()
1413 static int dcbnl_ieee_set(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_ieee_set() argument
1416 const struct dcbnl_rtnl_ops *ops = netdev->dcbnl_ops; in dcbnl_ieee_set()
1433 err = ops->ieee_setets(netdev, ets); in dcbnl_ieee_set()
1441 err = ops->ieee_setmaxrate(netdev, maxrate); in dcbnl_ieee_set()
1450 err = ops->ieee_setqcn(netdev, qcn); in dcbnl_ieee_set()
1457 err = ops->ieee_setpfc(netdev, pfc); in dcbnl_ieee_set()
1472 err = ops->ieee_setapp(netdev, app_data); in dcbnl_ieee_set()
1474 err = dcb_ieee_setapp(netdev, app_data); in dcbnl_ieee_set()
1482 dcbnl_ieee_notify(netdev, RTM_SETDCB, DCB_CMD_IEEE_SET, seq, 0); in dcbnl_ieee_set()
1486 static int dcbnl_ieee_get(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_ieee_get() argument
1489 const struct dcbnl_rtnl_ops *ops = netdev->dcbnl_ops; in dcbnl_ieee_get()
1494 return dcbnl_ieee_fill(skb, netdev); in dcbnl_ieee_get()
1497 static int dcbnl_ieee_del(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_ieee_del() argument
1500 const struct dcbnl_rtnl_ops *ops = netdev->dcbnl_ops; in dcbnl_ieee_del()
1526 err = ops->ieee_delapp(netdev, app_data); in dcbnl_ieee_del()
1528 err = dcb_ieee_delapp(netdev, app_data); in dcbnl_ieee_del()
1536 dcbnl_ieee_notify(netdev, RTM_SETDCB, DCB_CMD_IEEE_DEL, seq, 0); in dcbnl_ieee_del()
1542 static int dcbnl_getdcbx(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_getdcbx() argument
1545 if (!netdev->dcbnl_ops->getdcbx) in dcbnl_getdcbx()
1549 netdev->dcbnl_ops->getdcbx(netdev)); in dcbnl_getdcbx()
1552 static int dcbnl_setdcbx(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_setdcbx() argument
1557 if (!netdev->dcbnl_ops->setdcbx) in dcbnl_setdcbx()
1566 netdev->dcbnl_ops->setdcbx(netdev, value)); in dcbnl_setdcbx()
1569 static int dcbnl_getfeatcfg(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_getfeatcfg() argument
1577 if (!netdev->dcbnl_ops->getfeatcfg) in dcbnl_getfeatcfg()
1599 ret = netdev->dcbnl_ops->getfeatcfg(netdev, i, &value); in dcbnl_getfeatcfg()
1614 static int dcbnl_setfeatcfg(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_setfeatcfg() argument
1621 if (!netdev->dcbnl_ops->setfeatcfg) in dcbnl_setfeatcfg()
1639 ret = netdev->dcbnl_ops->setfeatcfg(netdev, i, value); in dcbnl_setfeatcfg()
1651 static int dcbnl_cee_get(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_cee_get() argument
1654 const struct dcbnl_rtnl_ops *ops = netdev->dcbnl_ops; in dcbnl_cee_get()
1659 return dcbnl_cee_fill(skb, netdev); in dcbnl_cee_get()
1704 struct net_device *netdev; in dcb_doit() local
1732 netdev = __dev_get_by_name(net, nla_data(tb[DCB_ATTR_IFNAME])); in dcb_doit()
1733 if (!netdev) in dcb_doit()
1736 if (!netdev->dcbnl_ops) in dcb_doit()
1744 ret = fn->cb(netdev, nlh, nlh->nlmsg_seq, tb, reply_skb); in dcb_doit()