Lines Matching refs:netdev

224 static int dcbnl_getstate(struct net_device *netdev, struct nlmsghdr *nlh,  in dcbnl_getstate()  argument
228 if (!netdev->dcbnl_ops->getstate) in dcbnl_getstate()
232 netdev->dcbnl_ops->getstate(netdev)); in dcbnl_getstate()
235 static int dcbnl_getpfccfg(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_getpfccfg() argument
247 if (!netdev->dcbnl_ops->getpfccfg) in dcbnl_getpfccfg()
267 netdev->dcbnl_ops->getpfccfg(netdev, i - DCB_PFC_UP_ATTR_0, in dcbnl_getpfccfg()
280 static int dcbnl_getperm_hwaddr(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_getperm_hwaddr() argument
285 if (!netdev->dcbnl_ops->getpermhwaddr) in dcbnl_getperm_hwaddr()
289 netdev->dcbnl_ops->getpermhwaddr(netdev, perm_addr); in dcbnl_getperm_hwaddr()
294 static int dcbnl_getcap(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_getcap() argument
306 if (!netdev->dcbnl_ops->getcap) in dcbnl_getcap()
325 if (!netdev->dcbnl_ops->getcap(netdev, i, &value)) { in dcbnl_getcap()
338 static int dcbnl_getnumtcs(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_getnumtcs() argument
350 if (!netdev->dcbnl_ops->getnumtcs) in dcbnl_getnumtcs()
369 ret = netdev->dcbnl_ops->getnumtcs(netdev, i, &value); in dcbnl_getnumtcs()
384 static int dcbnl_setnumtcs(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_setnumtcs() argument
395 if (!netdev->dcbnl_ops->setnumtcs) in dcbnl_setnumtcs()
409 ret = netdev->dcbnl_ops->setnumtcs(netdev, i, value); in dcbnl_setnumtcs()
417 static int dcbnl_getpfcstate(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_getpfcstate() argument
420 if (!netdev->dcbnl_ops->getpfcstate) in dcbnl_getpfcstate()
424 netdev->dcbnl_ops->getpfcstate(netdev)); in dcbnl_getpfcstate()
427 static int dcbnl_setpfcstate(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_setpfcstate() argument
435 if (!netdev->dcbnl_ops->setpfcstate) in dcbnl_setpfcstate()
440 netdev->dcbnl_ops->setpfcstate(netdev, value); in dcbnl_setpfcstate()
445 static int dcbnl_getapp(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_getapp() argument
475 if (netdev->dcbnl_ops->getapp) { in dcbnl_getapp()
476 ret = netdev->dcbnl_ops->getapp(netdev, idtype, id); in dcbnl_getapp()
486 up = dcb_getapp(netdev, &app); in dcbnl_getapp()
514 static int dcbnl_setapp(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_setapp() argument
545 if (netdev->dcbnl_ops->setapp) { in dcbnl_setapp()
546 ret = netdev->dcbnl_ops->setapp(netdev, idtype, id, up); in dcbnl_setapp()
554 ret = dcb_setapp(netdev, &app); in dcbnl_setapp()
558 dcbnl_cee_notify(netdev, RTM_SETDCB, DCB_CMD_SAPP, seq, 0); in dcbnl_setapp()
563 static int __dcbnl_pg_getcfg(struct net_device *netdev, struct nlmsghdr *nlh, in __dcbnl_pg_getcfg() argument
577 if (!netdev->dcbnl_ops->getpgtccfgtx || in __dcbnl_pg_getcfg()
578 !netdev->dcbnl_ops->getpgtccfgrx || in __dcbnl_pg_getcfg()
579 !netdev->dcbnl_ops->getpgbwgcfgtx || in __dcbnl_pg_getcfg()
580 !netdev->dcbnl_ops->getpgbwgcfgrx) in __dcbnl_pg_getcfg()
619 netdev->dcbnl_ops->getpgtccfgrx(netdev, in __dcbnl_pg_getcfg()
624 netdev->dcbnl_ops->getpgtccfgtx(netdev, in __dcbnl_pg_getcfg()
673 netdev->dcbnl_ops->getpgbwgcfgrx(netdev, in __dcbnl_pg_getcfg()
677 netdev->dcbnl_ops->getpgbwgcfgtx(netdev, in __dcbnl_pg_getcfg()
697 static int dcbnl_pgtx_getcfg(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_pgtx_getcfg() argument
700 return __dcbnl_pg_getcfg(netdev, nlh, tb, skb, 0); in dcbnl_pgtx_getcfg()
703 static int dcbnl_pgrx_getcfg(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_pgrx_getcfg() argument
706 return __dcbnl_pg_getcfg(netdev, nlh, tb, skb, 1); in dcbnl_pgrx_getcfg()
709 static int dcbnl_setstate(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_setstate() argument
717 if (!netdev->dcbnl_ops->setstate) in dcbnl_setstate()
723 netdev->dcbnl_ops->setstate(netdev, value)); in dcbnl_setstate()
726 static int dcbnl_setpfccfg(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_setpfccfg() argument
737 if (!netdev->dcbnl_ops->setpfccfg) in dcbnl_setpfccfg()
750 netdev->dcbnl_ops->setpfccfg(netdev, in dcbnl_setpfccfg()
757 static int dcbnl_setall(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_setall() argument
765 if (!netdev->dcbnl_ops->setall) in dcbnl_setall()
769 netdev->dcbnl_ops->setall(netdev)); in dcbnl_setall()
770 dcbnl_cee_notify(netdev, RTM_SETDCB, DCB_CMD_SET_ALL, seq, 0); in dcbnl_setall()
775 static int __dcbnl_pg_setcfg(struct net_device *netdev, struct nlmsghdr *nlh, in __dcbnl_pg_setcfg() argument
791 if (!netdev->dcbnl_ops->setpgtccfgtx || in __dcbnl_pg_setcfg()
792 !netdev->dcbnl_ops->setpgtccfgrx || in __dcbnl_pg_setcfg()
793 !netdev->dcbnl_ops->setpgbwgcfgtx || in __dcbnl_pg_setcfg()
794 !netdev->dcbnl_ops->setpgbwgcfgrx) in __dcbnl_pg_setcfg()
833 netdev->dcbnl_ops->setpgtccfgrx(netdev, in __dcbnl_pg_setcfg()
838 netdev->dcbnl_ops->setpgtccfgtx(netdev, in __dcbnl_pg_setcfg()
853 netdev->dcbnl_ops->setpgbwgcfgrx(netdev, in __dcbnl_pg_setcfg()
857 netdev->dcbnl_ops->setpgbwgcfgtx(netdev, in __dcbnl_pg_setcfg()
865 static int dcbnl_pgtx_setcfg(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_pgtx_setcfg() argument
868 return __dcbnl_pg_setcfg(netdev, nlh, seq, tb, skb, 0); in dcbnl_pgtx_setcfg()
871 static int dcbnl_pgrx_setcfg(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_pgrx_setcfg() argument
874 return __dcbnl_pg_setcfg(netdev, nlh, seq, tb, skb, 1); in dcbnl_pgrx_setcfg()
877 static int dcbnl_bcn_getcfg(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_bcn_getcfg() argument
891 if (!netdev->dcbnl_ops->getbcnrp || in dcbnl_bcn_getcfg()
892 !netdev->dcbnl_ops->getbcncfg) in dcbnl_bcn_getcfg()
911 netdev->dcbnl_ops->getbcnrp(netdev, i - DCB_BCN_ATTR_RP_0, in dcbnl_bcn_getcfg()
922 netdev->dcbnl_ops->getbcncfg(netdev, i, in dcbnl_bcn_getcfg()
938 static int dcbnl_bcn_setcfg(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_bcn_setcfg() argument
950 if (!netdev->dcbnl_ops->setbcncfg || in dcbnl_bcn_setcfg()
951 !netdev->dcbnl_ops->setbcnrp) in dcbnl_bcn_setcfg()
964 netdev->dcbnl_ops->setbcnrp(netdev, in dcbnl_bcn_setcfg()
972 netdev->dcbnl_ops->setbcncfg(netdev, in dcbnl_bcn_setcfg()
979 static int dcbnl_build_peer_app(struct net_device *netdev, struct sk_buff* skb, in dcbnl_build_peer_app() argument
985 const struct dcbnl_rtnl_ops *ops = netdev->dcbnl_ops; in dcbnl_build_peer_app()
994 err = ops->peer_getappinfo(netdev, &info, &app_count); in dcbnl_build_peer_app()
1000 err = ops->peer_getapptable(netdev, table); in dcbnl_build_peer_app()
1036 static int dcbnl_ieee_fill(struct sk_buff *skb, struct net_device *netdev) in dcbnl_ieee_fill() argument
1040 const struct dcbnl_rtnl_ops *ops = netdev->dcbnl_ops; in dcbnl_ieee_fill()
1044 if (nla_put_string(skb, DCB_ATTR_IFNAME, netdev->name)) in dcbnl_ieee_fill()
1054 err = ops->ieee_getets(netdev, &ets); in dcbnl_ieee_fill()
1063 err = ops->ieee_getmaxrate(netdev, &maxrate); in dcbnl_ieee_fill()
1076 err = ops->ieee_getqcn(netdev, &qcn); in dcbnl_ieee_fill()
1089 err = ops->ieee_getqcnstats(netdev, &qcn_stats); in dcbnl_ieee_fill()
1101 err = ops->ieee_getpfc(netdev, &pfc); in dcbnl_ieee_fill()
1113 if (itr->ifindex == netdev->ifindex) { in dcbnl_ieee_fill()
1123 if (netdev->dcbnl_ops->getdcbx) in dcbnl_ieee_fill()
1124 dcbx = netdev->dcbnl_ops->getdcbx(netdev); in dcbnl_ieee_fill()
1135 err = ops->ieee_peer_getets(netdev, &ets); in dcbnl_ieee_fill()
1144 err = ops->ieee_peer_getpfc(netdev, &pfc); in dcbnl_ieee_fill()
1151 err = dcbnl_build_peer_app(netdev, skb, in dcbnl_ieee_fill()
1222 static int dcbnl_cee_fill(struct sk_buff *skb, struct net_device *netdev) in dcbnl_cee_fill() argument
1226 const struct dcbnl_rtnl_ops *ops = netdev->dcbnl_ops; in dcbnl_cee_fill()
1230 if (nla_put_string(skb, DCB_ATTR_IFNAME, netdev->name)) in dcbnl_cee_fill()
1238 err = dcbnl_cee_pg_fill(skb, netdev, 1); in dcbnl_cee_fill()
1244 err = dcbnl_cee_pg_fill(skb, netdev, 0); in dcbnl_cee_fill()
1257 ops->getpfccfg(netdev, i - DCB_PFC_UP_ATTR_0, &value); in dcbnl_cee_fill()
1271 if (itr->ifindex == netdev->ifindex) { in dcbnl_cee_fill()
1297 if (netdev->dcbnl_ops->getdcbx) in dcbnl_cee_fill()
1298 dcbx = netdev->dcbnl_ops->getdcbx(netdev); in dcbnl_cee_fill()
1312 if (!ops->getfeatcfg(netdev, i, &value) && in dcbnl_cee_fill()
1323 err = ops->cee_peer_getpg(netdev, &pg); in dcbnl_cee_fill()
1332 err = ops->cee_peer_getpfc(netdev, &pfc); in dcbnl_cee_fill()
1339 err = dcbnl_build_peer_app(netdev, skb, in dcbnl_cee_fill()
1416 static int dcbnl_ieee_set(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_ieee_set() argument
1419 const struct dcbnl_rtnl_ops *ops = netdev->dcbnl_ops; in dcbnl_ieee_set()
1436 err = ops->ieee_setets(netdev, ets); in dcbnl_ieee_set()
1444 err = ops->ieee_setmaxrate(netdev, maxrate); in dcbnl_ieee_set()
1453 err = ops->ieee_setqcn(netdev, qcn); in dcbnl_ieee_set()
1460 err = ops->ieee_setpfc(netdev, pfc); in dcbnl_ieee_set()
1475 err = ops->ieee_setapp(netdev, app_data); in dcbnl_ieee_set()
1477 err = dcb_ieee_setapp(netdev, app_data); in dcbnl_ieee_set()
1485 dcbnl_ieee_notify(netdev, RTM_SETDCB, DCB_CMD_IEEE_SET, seq, 0); in dcbnl_ieee_set()
1489 static int dcbnl_ieee_get(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_ieee_get() argument
1492 const struct dcbnl_rtnl_ops *ops = netdev->dcbnl_ops; in dcbnl_ieee_get()
1497 return dcbnl_ieee_fill(skb, netdev); in dcbnl_ieee_get()
1500 static int dcbnl_ieee_del(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_ieee_del() argument
1503 const struct dcbnl_rtnl_ops *ops = netdev->dcbnl_ops; in dcbnl_ieee_del()
1529 err = ops->ieee_delapp(netdev, app_data); in dcbnl_ieee_del()
1531 err = dcb_ieee_delapp(netdev, app_data); in dcbnl_ieee_del()
1539 dcbnl_ieee_notify(netdev, RTM_SETDCB, DCB_CMD_IEEE_DEL, seq, 0); in dcbnl_ieee_del()
1545 static int dcbnl_getdcbx(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_getdcbx() argument
1548 if (!netdev->dcbnl_ops->getdcbx) in dcbnl_getdcbx()
1552 netdev->dcbnl_ops->getdcbx(netdev)); in dcbnl_getdcbx()
1555 static int dcbnl_setdcbx(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_setdcbx() argument
1560 if (!netdev->dcbnl_ops->setdcbx) in dcbnl_setdcbx()
1569 netdev->dcbnl_ops->setdcbx(netdev, value)); in dcbnl_setdcbx()
1572 static int dcbnl_getfeatcfg(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_getfeatcfg() argument
1580 if (!netdev->dcbnl_ops->getfeatcfg) in dcbnl_getfeatcfg()
1602 ret = netdev->dcbnl_ops->getfeatcfg(netdev, i, &value); in dcbnl_getfeatcfg()
1617 static int dcbnl_setfeatcfg(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_setfeatcfg() argument
1624 if (!netdev->dcbnl_ops->setfeatcfg) in dcbnl_setfeatcfg()
1642 ret = netdev->dcbnl_ops->setfeatcfg(netdev, i, value); in dcbnl_setfeatcfg()
1654 static int dcbnl_cee_get(struct net_device *netdev, struct nlmsghdr *nlh, in dcbnl_cee_get() argument
1657 const struct dcbnl_rtnl_ops *ops = netdev->dcbnl_ops; in dcbnl_cee_get()
1662 return dcbnl_cee_fill(skb, netdev); in dcbnl_cee_get()
1707 struct net_device *netdev; in dcb_doit() local
1735 netdev = __dev_get_by_name(net, nla_data(tb[DCB_ATTR_IFNAME])); in dcb_doit()
1736 if (!netdev) in dcb_doit()
1739 if (!netdev->dcbnl_ops) in dcb_doit()
1747 ret = fn->cb(netdev, nlh, nlh->nlmsg_seq, tb, reply_skb); in dcb_doit()