X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=lib%2Fofp-parse.c;h=4c4811b657874e0be942bdc4bb15c5549140558a;hb=d4da3acc2a788d1c1b78c0bea6399660c7851f4a;hp=1c69d880bdda56eb299a6ceea56c88b05fa30501;hpb=0199c526f17c7dbed579436f716a1feae22e192a;p=openvswitch diff --git a/lib/ofp-parse.c b/lib/ofp-parse.c index 1c69d880..4c4811b6 100644 --- a/lib/ofp-parse.c +++ b/lib/ofp-parse.c @@ -22,6 +22,7 @@ #include #include +#include "autopath.h" #include "byte-order.h" #include "dynamic-string.h" #include "netdev.h" @@ -453,6 +454,10 @@ str_to_action(char *str, struct ofpbuf *b) struct nx_action_multipath *nam; nam = ofpbuf_put_uninit(b, sizeof *nam); multipath_parse(nam, arg); + } else if (!strcasecmp(act, "autopath")) { + struct nx_action_autopath *naa; + naa = ofpbuf_put_uninit(b, sizeof *naa); + autopath_parse(naa, arg); } else if (!strcasecmp(act, "output")) { put_output_action(b, str_to_u32(arg)); } else if (!strcasecmp(act, "enqueue")) { @@ -871,8 +876,8 @@ parse_ofp_flow_mod_str(struct list *packets, enum nx_flow_format *cur_format, * 'stream' and the command is always OFPFC_ADD. Returns false if end-of-file * is reached before reading a flow, otherwise true. */ bool -parse_ofp_add_flow_file(struct list *packets, enum nx_flow_format *cur, - FILE *stream) +parse_ofp_flow_mod_file(struct list *packets, enum nx_flow_format *cur, + FILE *stream, uint16_t command) { struct ds s; bool ok; @@ -880,7 +885,7 @@ parse_ofp_add_flow_file(struct list *packets, enum nx_flow_format *cur, ds_init(&s); ok = ds_get_preprocessed_line(&s, stream) == 0; if (ok) { - parse_ofp_flow_mod_str(packets, cur, ds_cstr(&s), OFPFC_ADD); + parse_ofp_flow_mod_str(packets, cur, ds_cstr(&s), command); } ds_destroy(&s);