diff options
-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 263aa3ae76f..2cd66d0be34 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 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) 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. */ |