diff options
author | John Fastabend <john.r.fastabend@intel.com> | 2011-10-06 10:52:38 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-10-06 21:49:51 +0200 |
commit | 6bd0e1cb10b6d14dda4a8806d0a2f4f0bbf01931 (patch) | |
tree | fa494e77fd2b8f4c6c99fc08e2885d50622be554 | |
parent | dcb: Use ifindex instead of ifname (diff) | |
download | linux-6bd0e1cb10b6d14dda4a8806d0a2f4f0bbf01931.tar.xz linux-6bd0e1cb10b6d14dda4a8806d0a2f4f0bbf01931.zip |
dcb: add DCBX mode to event notifier attributes
Add DCBX mode to event notifiers so listeners can learn
currently enabled mode.
Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | include/net/dcbnl.h | 1 | ||||
-rw-r--r-- | net/dcb/dcbnl.c | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/include/net/dcbnl.h b/include/net/dcbnl.h index 263aa3ae76f5..2cd66d0be348 100644 --- a/include/net/dcbnl.h +++ b/include/net/dcbnl.h @@ -26,6 +26,7 @@ struct dcb_app_type { int ifindex; struct dcb_app app; struct list_head list; + u8 dcbx; }; int dcb_setapp(struct net_device *, struct dcb_app *); diff --git a/net/dcb/dcbnl.c b/net/dcb/dcbnl.c index e508593d589b..9bfbc1d1b50c 100644 --- a/net/dcb/dcbnl.c +++ b/net/dcb/dcbnl.c @@ -2075,6 +2075,8 @@ int dcb_setapp(struct net_device *dev, struct dcb_app *new) event.ifindex = dev->ifindex; memcpy(&event.app, new, sizeof(event.app)); + if (dev->dcbnl_ops->getdcbx) + event.dcbx = dev->dcbnl_ops->getdcbx(dev); spin_lock(&dcb_lock); /* Search for existing match and replace */ @@ -2152,6 +2154,8 @@ int dcb_ieee_setapp(struct net_device *dev, struct dcb_app *new) event.ifindex = dev->ifindex; memcpy(&event.app, new, sizeof(event.app)); + if (dev->dcbnl_ops->getdcbx) + event.dcbx = dev->dcbnl_ops->getdcbx(dev); spin_lock(&dcb_lock); /* Search for existing match and abort if found */ @@ -2196,6 +2200,8 @@ int dcb_ieee_delapp(struct net_device *dev, struct dcb_app *del) event.ifindex = dev->ifindex; memcpy(&event.app, del, sizeof(event.app)); + if (dev->dcbnl_ops->getdcbx) + event.dcbx = dev->dcbnl_ops->getdcbx(dev); spin_lock(&dcb_lock); /* Search for existing match and remove it. */ |