aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Fastabend <john.r.fastabend@intel.com>2011-10-06 04:52:38 -0400
committerDavid S. Miller <davem@davemloft.net>2011-10-06 15:49:51 -0400
commit6bd0e1cb10b6d14dda4a8806d0a2f4f0bbf01931 (patch)
treefa494e77fd2b8f4c6c99fc08e2885d50622be554
parente290ed81307ca7d92675f0d9c683add693c2f377 (diff)
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.h1
-rw-r--r--net/dcb/dcbnl.c6
2 files changed, 7 insertions, 0 deletions
diff --git a/include/net/dcbnl.h b/include/net/dcbnl.h
index 263aa3ae76f..2cd66d0be34 100644
--- a/include/net/dcbnl.h
+++ b/include/net/dcbnl.h
@@ -26,6 +26,7 @@ struct dcb_app_type {
26 int ifindex; 26 int ifindex;
27 struct dcb_app app; 27 struct dcb_app app;
28 struct list_head list; 28 struct list_head list;
29 u8 dcbx;
29}; 30};
30 31
31int dcb_setapp(struct net_device *, struct dcb_app *); 32int dcb_setapp(struct net_device *, struct dcb_app *);
diff --git a/net/dcb/dcbnl.c b/net/dcb/dcbnl.c
index e508593d589..9bfbc1d1b50 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)
2075 2075
2076 event.ifindex = dev->ifindex; 2076 event.ifindex = dev->ifindex;
2077 memcpy(&event.app, new, sizeof(event.app)); 2077 memcpy(&event.app, new, sizeof(event.app));
2078 if (dev->dcbnl_ops->getdcbx)
2079 event.dcbx = dev->dcbnl_ops->getdcbx(dev);
2078 2080
2079 spin_lock(&dcb_lock); 2081 spin_lock(&dcb_lock);
2080 /* Search for existing match and replace */ 2082 /* Search for existing match and replace */
@@ -2152,6 +2154,8 @@ int dcb_ieee_setapp(struct net_device *dev, struct dcb_app *new)
2152 2154
2153 event.ifindex = dev->ifindex; 2155 event.ifindex = dev->ifindex;
2154 memcpy(&event.app, new, sizeof(event.app)); 2156 memcpy(&event.app, new, sizeof(event.app));
2157 if (dev->dcbnl_ops->getdcbx)
2158 event.dcbx = dev->dcbnl_ops->getdcbx(dev);
2155 2159
2156 spin_lock(&dcb_lock); 2160 spin_lock(&dcb_lock);
2157 /* Search for existing match and abort if found */ 2161 /* Search for existing match and abort if found */
@@ -2196,6 +2200,8 @@ int dcb_ieee_delapp(struct net_device *dev, struct dcb_app *del)
2196 2200
2197 event.ifindex = dev->ifindex; 2201 event.ifindex = dev->ifindex;
2198 memcpy(&event.app, del, sizeof(event.app)); 2202 memcpy(&event.app, del, sizeof(event.app));
2203 if (dev->dcbnl_ops->getdcbx)
2204 event.dcbx = dev->dcbnl_ops->getdcbx(dev);
2199 2205
2200 spin_lock(&dcb_lock); 2206 spin_lock(&dcb_lock);
2201 /* Search for existing match and remove it. */ 2207 /* Search for existing match and remove it. */