I'm afraid that I don't understand the question. Are you asking how you'd backport meter support for an older kernel? If so, you'd need to talk to the Centos/Red Hat maintainers.
--Justin > On Jan 28, 2019, at 5:29 PM, taoyunupt <taoyun...@126.com> wrote: > > The distribution version of OS of mime is CentOS Linux release 7.5.1804 > (Core),and the kernel version is 3.10.0-862.14.4.el7.x86_64. I plan to > merge the meters patch to the 3.10.0-862 kernel of CentOS7.5. > Where is the function patch address? Do you have some suggestions? > > Regards, > yunxiang > > > > > > > At 2019-01-29 02:49:59, "Justin Pettit" <jpet...@ovn.org> wrote: > >I'd have to look at the history, but the feature wouldn't have been added to > >OVN unless it was supported by OVS. Currently, we expect OVN to work with > >the same version number of OVS. (Although, I expect you could use a newer > >version of OVS and an older OVN.) We plan to break that requirement so that > >each OVS and OVN can use different version going forward, but we're not > >there yet. > > > >--Justin > > > > > >> On Jan 28, 2019, at 3:15 AM, taoyunupt <taoyun...@126.com> wrote: > >> > >> Hello,justin > >> Forgive me! I have another question. As OVN use meters to > >> implement QoS and meters was added from ovs2.10, how the ovn(<2.10) > >> support QoS? > >> > >> > >> > >> Regards, > >> Yunxiang > >> > >> > >> At 2019-01-28 15:43:24, "Justin Pettit" <jpet...@ovn.org> wrote: > >> >Sorry, I was thinking of another system that used OVS's tc instead of > >> >meters to implement basic QoS. OVN does use meters to implement most > >> >modes of QoS. If you don't want to use meters, you could try looking at > >> >the "qos_max_rate" and "qos_burst" options in the ovn-nb man page, but I > >> >don't have any experience using them. > >> > > >> >--Justin > >> > > >> > > >> >> On Jan 27, 2019, at 11:26 PM, taoyunupt <taoyun...@126.com> wrote: > >> >> > >> >> The method build_qos in /ovn/northd/ovn-northd.c is as fellows,in the > >> >> end of the method,it adds logical flow by the code of > >> >> ovn_lflow_add(lflows, od, stage,qos->priority,qos->match, > >> >> ds_cstr(&meter_action)); > >> >> > >> >> Does this mean the meter table is the only way for ovn to add Qos? > >> >> > >> >> > >> >> > >> >> build_qos(struct ovn_datapath *od, struct hmap *lflows) { > >> >> ovn_lflow_add(lflows, od, S_SWITCH_IN_QOS_MARK, 0, "1", "next;"); > >> >> ovn_lflow_add(lflows, od, S_SWITCH_OUT_QOS_MARK, 0, "1", "next;"); > >> >> ovn_lflow_add(lflows, od, S_SWITCH_IN_QOS_METER, 0, "1", "next;"); > >> >> ovn_lflow_add(lflows, od, S_SWITCH_OUT_QOS_METER, 0, "1", "next;"); > >> >> > >> >> for (size_t i = 0; i < od->nbs->n_qos_rules; i++) { > >> >> struct nbrec_qos *qos = od->nbs->qos_rules[i]; > >> >> bool ingress = !strcmp(qos->direction, "from-lport") ? true > >> >> :false; > >> >> enum ovn_stage stage = ingress ? S_SWITCH_IN_QOS_MARK : > >> >> S_SWITCH_OUT_QOS_MARK; > >> >> int64_t rate = 0; > >> >> int64_t burst = 0; > >> >> > >> >> for (size_t j = 0; j < qos->n_action; j++) { > >> >> if (!strcmp(qos->key_action[j], "dscp")) { > >> >> struct ds dscp_action = DS_EMPTY_INITIALIZER; > >> >> > >> >> ds_put_format(&dscp_action, "ip.dscp = %"PRId64"; > >> >> next;", > >> >> qos->value_action[j]); > >> >> ovn_lflow_add(lflows, od, stage, > >> >> qos->priority, > >> >> qos->match, ds_cstr(&dscp_action)); > >> >> ds_destroy(&dscp_action); > >> >> } > >> >> } > >> >> > >> >> for (size_t n = 0; n < qos->n_bandwidth; n++) { > >> >> if (!strcmp(qos->key_bandwidth[n], "rate")) { > >> >> rate = qos->value_bandwidth[n]; > >> >> } else if (!strcmp(qos->key_bandwidth[n], "burst")) { > >> >> burst = qos->value_bandwidth[n]; > >> >> } > >> >> } > >> >> if (rate) { > >> >> struct ds meter_action = DS_EMPTY_INITIALIZER; > >> >> stage = ingress ? S_SWITCH_IN_QOS_METER : > >> >> S_SWITCH_OUT_QOS_METER; > >> >> if (burst) { > >> >> ds_put_format(&meter_action, > >> >> "set_meter(%"PRId64", %"PRId64"); next;", > >> >> rate, burst); > >> >> } else { > >> >> ds_put_format(&meter_action, > >> >> "set_meter(%"PRId64"); next;", > >> >> rate); > >> >> } > >> >> > >> >> /* Ingress and Egress QoS Meter Table. > >> >> * > >> >> * We limit the bandwidth of this flow by adding a meter > >> >> table. > >> >> */ > >> >> ovn_lflow_add(lflows, od, stage, > >> >> qos->priority, > >> >> qos->match, ds_cstr(&meter_action)); > >> >> ds_destroy(&meter_action); > >> >> } > >> >> } > >> >> } > >> >> > >> >> > >> >> > >> >> > >> >> > >> >> At 2019-01-28 15:15:51, "Justin Pettit" <jpet...@ovn.org> wrote: > >> >> >QoS is most likely using the kernel's built-in traffic-shaping > >> >> >algorithms in tc. Those should work the same on all supported kernels. > >> >> > > >> >> >--Justin > >> >> > > >> >> > > >> >> >> On Jan 27, 2019, at 11:10 PM, taoyunupt <taoyun...@126.com> wrote: > >> >> >> > >> >> >> > >> >> >> Thanks justin, > >> >> >> > >> >> >> My environment is OVS for the OVN/openstack.I also want to know ,if > >> >> >> i must use meter for the openstack/ovn feature 'Qos'.Does any other > >> >> >> methods to achive this? > >> >> >> > >> >> >> Regards, > >> >> >> Yunxiang > >> >> >> > >> >> >> > >> >> >> > >> >> >> > >> >> >> > >> >> >> At 2019-01-28 14:58:19, "Justin Pettit" <jpet...@ovn.org> wrote: > >> >> >> >This is the patch: > >> >> >> > > >> >> >> > http://patchwork.ozlabs.org/patch/950513/ > >> >> >> > > >> >> >> >I think it was only broken in kernels 4.15, 4.16, and 4.17. I > >> >> >> >expect that 4.20 will be fine. > >> >> >> > > >> >> >> >--Justin > >> >> >> > > >> >> >> > > >> >> >> >> On Jan 27, 2019, at 10:16 PM, taoyunupt <taoyun...@126.com> wrote: > >> >> >> >> > >> >> >> >> Hello,justin, > >> >> >> >> I met a supporting problem of meter of OVS 2.10. I > >> >> >> >> found a mail from you,after searching the internet.The address of > >> >> >> >> this mail is > >> >> >> >> "https://www.mail-archive.com/ovs-discuss@openvswitch.org/msg04180.html" > >> >> >> >> The kernel version of "4.20.5-1.el7.elrepo.x86_64" goes > >> >> >> >> well with meter table of ovs,but I want to know how to fit the > >> >> >> >> maintained older kernels. > >> >> >> >> If i want to use ovs with maintained older kernels,which > >> >> >> >> patch you metioned in the mail, should i import ? > >> >> >> >> > >> >> >> >> > >> >> >> >> > >> >> >> >> > >> >> >> >> Regards, > >> >> >> >> yunxiang > >> >> >> >> > >> >> >> >> _______________________________________________ > >> >> >> >> discuss mailing list > >> >> >> >> disc...@openvswitch.org > >> >> >> >> https://mail.openvswitch.org/mailman/listinfo/ovs-discuss > >> >> >> > >> >> > >> > _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev