Allow the specification of a protocol when the user
adds/modifies/deletes a rule.

Signed-off-by: Donald Sharp <sha...@cumulusnetworks.com>
---
 ip/iprule.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/ip/iprule.c b/ip/iprule.c
index 39008768..192fe215 100644
--- a/ip/iprule.c
+++ b/ip/iprule.c
@@ -683,6 +683,12 @@ static int iprule_modify(int cmd, int argc, char **argv)
                        if (get_rt_realms_or_raw(&realm, *argv))
                                invarg("invalid realms\n", *argv);
                        addattr32(&req.n, sizeof(req), FRA_FLOW, realm);
+               } else if (matches(*argv, "protocol") == 0) {
+                       __u32 proto;
+                       NEXT_ARG();
+                       if (rtnl_rtprot_a2n(&proto, *argv))
+                               invarg("\"protocol\" value is invalid\n", 
*argv);
+                       req.frh.proto = proto;
                } else if (matches(*argv, "table") == 0 ||
                           strcmp(*argv, "lookup") == 0) {
                        NEXT_ARG();
-- 
2.14.3

Reply via email to