dcb: add DCBX mode to event notifier attributes
John Fastabend [Thu, 6 Oct 2011 08:52:38 +0000 (08:52 +0000)]
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 263aa3a..2cd66d0 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 e508593..9bfbc1d 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. */