]> rtime.felk.cvut.cz Git - lisovros/iproute2_canprio.git/commitdiff
iproute2: parse flag XFRM_POLICY_ICMP
authorUlrich Weber <uweber@astaro.com>
Thu, 7 Apr 2011 07:37:05 +0000 (09:37 +0200)
committerStephen Hemminger <shemminger@vyatta.com>
Tue, 12 Apr 2011 21:38:32 +0000 (14:38 -0700)
parse flag XFRM_POLICY_ICMP

Signed-off-by: Ulrich Weber <uweber@astaro.com>
ip/ipxfrm.c
ip/xfrm_policy.c

index 0c7aaad872a7b9906fbb1924c6bf74eea67bd33d..48a732f0306f5bc6a7792d3c0945d1db146a141d 100644 (file)
@@ -981,6 +981,7 @@ void xfrm_policy_info_print(struct xfrm_userpolicy_info *xpinfo,
 
                fprintf(fp, "flag ");
                XFRM_FLAG_PRINT(fp, flags, XFRM_POLICY_LOCALOK, "localok");
+               XFRM_FLAG_PRINT(fp, flags, XFRM_POLICY_ICMP, "icmp");
                if (flags)
                        fprintf(fp, "%x", flags);
        }
index 9ef5c09d28dd42517bf7367d26b7123e1535f8aa..7827f91a02ed0eca87f5e124795327b0a0faf9b9 100644 (file)
@@ -77,7 +77,7 @@ static void usage(void)
        //fprintf(stderr, "PRIORITY - priority value(default=0)\n");
 
        fprintf(stderr, "FLAG-LIST := [ FLAG-LIST ] FLAG\n");
-       fprintf(stderr, "FLAG := [ localok ]\n");
+       fprintf(stderr, "FLAG := [ localok | icmp ]\n");
 
        fprintf(stderr, "LIMIT-LIST := [ LIMIT-LIST ] | [ limit LIMIT ]\n");
        fprintf(stderr, "LIMIT := [ [time-soft|time-hard|time-use-soft|time-use-hard] SECONDS ] |\n");
@@ -156,6 +156,8 @@ static int xfrm_policy_flag_parse(__u8 *flags, int *argcp, char ***argvp)
                while (1) {
                        if (strcmp(*argv, "localok") == 0)
                                *flags |= XFRM_POLICY_LOCALOK;
+                       else if (strcmp(*argv, "icmp") == 0)
+                               *flags |= XFRM_POLICY_ICMP;
                        else {
                                PREV_ARG(); /* back track */
                                break;