Roopa Prabhu <ro...@cumulusnetworks.com> writes: > From: Roopa Prabhu <ro...@cumulusnetworks.com> > > Kernel expects type RTN_UNICAST for mpls route/dels
There almost a bug in this patch. You test req.r.rtm_family just before the default case of AF_UNSPEC is set to AF_INET. Which should not affect anything in this case but is down right confusing to think about, and could lead to maintenance problems in the future. Otherwise Acked-by: "Eric W. Biederman" <ebied...@xmission.com> > Signed-off-by: Vivek Venkataraman <vi...@cumulusnetworks.com> > Signed-off-by: Roopa Prabhu <ro...@cumulusnetworks.com> > Reviewed-by: Robert Shearman <rshea...@brocade.com> > --- > ip/iproute.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/ip/iproute.c b/ip/iproute.c > index 670a4c6..71c088b 100644 > --- a/ip/iproute.c > +++ b/ip/iproute.c > @@ -803,6 +803,7 @@ static int iproute_modify(int cmd, unsigned flags, int > argc, char **argv) > int scope_ok = 0; > int table_ok = 0; > int raw = 0; > + int type_ok = 0; > > memset(&req, 0, sizeof(req)); > > @@ -1095,6 +1096,7 @@ static int iproute_modify(int cmd, unsigned flags, int > argc, char **argv) > rtnl_rtntype_a2n(&type, *argv) == 0) { > NEXT_ARG(); > req.r.rtm_type = type; > + type_ok = 1; > } > > if (matches(*argv, "help") == 0) > @@ -1160,6 +1162,9 @@ static int iproute_modify(int cmd, unsigned flags, int > argc, char **argv) > } > } > > + if (!type_ok && req.r.rtm_family == AF_MPLS) > + req.r.rtm_type = RTN_UNICAST; > + > if (req.r.rtm_family == AF_UNSPEC) > req.r.rtm_family = AF_INET; -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html