[Xorp-hackers] [PATCH 2/2] xorp: fea: data_plane: ifconfig: Fix checking if interface can have broadcast(destination) address
igorm at etf.rs
igorm at etf.rs
Fri Mar 23 09:03:40 PDT 2012
From: Igor Maravic <igorm at etf.rs>
Signed-off-by: Igor Maravic <igorm at etf.rs>
---
xorp/fea/data_plane/ifconfig/ifconfig_set.cc | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/xorp/fea/data_plane/ifconfig/ifconfig_set.cc b/xorp/fea/data_plane/ifconfig/ifconfig_set.cc
index 75013da..98fc505 100644
--- a/xorp/fea/data_plane/ifconfig/ifconfig_set.cc
+++ b/xorp/fea/data_plane/ifconfig/ifconfig_set.cc
@@ -596,14 +596,14 @@ IfConfigSet::push_vif_address(const IfTreeInterface* system_ifp,
}
if (system_vifp != NULL) {
- if (system_vifp->point_to_point() != config_addr.point_to_point()) {
- error_msg = c_format("Can't set destination address for if: %s vif: %s"
+ if (!system_vifp->point_to_point() && config_addr.point_to_point()) {
+ error_msg = c_format("Can't set destination address for if: %s vif: %s\n"
"because it isn't point-to-point interface\n",
system_ifp->ifname().c_str(), system_vifp->vifname().c_str());
goto done;
}
- if (system_vifp->broadcast() != config_addr.broadcast()) {
- error_msg = c_format("Can't set broadcast address for if: %s vif: %s"
+ if (!system_vifp->broadcast() && config_addr.broadcast()) {
+ error_msg = c_format("Can't set broadcast address for if: %s vif: %s\n"
"because it isn't broadcast capable\n",
system_ifp->ifname().c_str(), system_vifp->vifname().c_str());
goto done;
@@ -707,8 +707,8 @@ IfConfigSet::push_vif_address(const IfTreeInterface* system_ifp,
}
if (system_vifp != NULL) {
- if (system_vifp->point_to_point() != config_addr.point_to_point()) {
- error_msg = c_format("Can't set destination address for if: %s vif: %s"
+ if (!system_vifp->point_to_point() && config_addr.point_to_point()) {
+ error_msg = c_format("Can't set destination address for if: %s vif: %s\n"
"because it isn't point-to-point interface\n",
system_ifp->ifname().c_str(), system_vifp->vifname().c_str());
goto done;
--
1.7.5.4
More information about the Xorp-hackers
mailing list