dcb: add DCBX mode to event notifier attributes
authorJohn Fastabend <john.r.fastabend@intel.com>
Thu, 6 Oct 2011 08:52:38 +0000 (08:52 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 6 Oct 2011 19:49:51 +0000 (15:49 -0400)
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>
include/net/dcbnl.h
net/dcb/dcbnl.c

index 263aa3ae76f50a64c49820c64f82ab4eca3be966..2cd66d0be34839276e202e900dd17392ba15e124 100644 (file)
@@ -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 *);
index e508593d589bc809b1729e3098a79571bcf6e363..9bfbc1d1b50c0a015cb60092fbfd121afa196e13 100644 (file)
@@ -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. */