On Thu, Aug 31, 2023 at 10:19 PM Mark Michelson <mmich...@redhat.com> wrote:
>
> Thanks for this Ales.
>
> Acked-by: Mark Michelson <mmich...@redhat.com>
>
> Which branches is this a candidate for? Main only?

Hi Mark,

thank you for the review. For now I would say main only and we can
discuss how far back it might be useful. We need custom backport
patches anyway for every branch except 23.06.

Thanks,
Ales

>
> On 8/31/23 03:27, Ales Musil wrote:
> > Bump submodule to branch-3.2 mainly for:
> > 759a29dc2d97 ("backtrace: Extend the backtrace functionality.")
> > 1d78a3f3164a ("netdev-dpdk: Disable net/tap Tx L4 checksum offloads.")
> >
> > Unfortunately we cannot use the tag because we need
> > the DPDK offload fix, which was merged later on.
> >
> > At the same time fix three issues caused by the bump.
> >
> > Remove our custom 'struct sctp_chunk_header' that was added
> > to packets.h as part of:
> > 501f665a5a4b ("conntrack: Extract l4 information for SCTP.")
> >
> > Adjust "daemonize_start" to accept two parameters
> > and set the second to false, as we don't need access
> > to DPDK devices directly at this moment. This was introduced
> > by commit:
> > 07cf5810de8d ("dpdk: Allow retaining CAP_SYS_RAWIO privileges.")
> >
> > Adjust the path for OvS python helpers, introduced by:
> > bb0dd1135ba9 ("python: Rename build related code to ovs_build_helpers.")
> >
> > Reported-at: https://bugzilla.redhat.com/2164058
> > Signed-off-by: Ales Musil <amu...@redhat.com>
> > ---
> >   Makefile.am                           |  2 +-
> >   build-aux/sodepends.py                |  2 +-
> >   build-aux/soexpand.py                 |  2 +-
> >   build-aux/xml2nroff                   | 14 +++++++-------
> >   controller-vtep/ovn-controller-vtep.c |  2 +-
> >   controller/ovn-controller.c           |  2 +-
> >   controller/pinctrl.c                  | 10 +++++-----
> >   ic/ovn-ic.c                           |  2 +-
> >   lib/ovn-util.h                        |  7 -------
> >   northd/ovn-northd.c                   |  2 +-
> >   ovs                                   |  2 +-
> >   utilities/ovn-dbctl.c                 |  2 +-
> >   utilities/ovn-trace.c                 |  2 +-
> >   13 files changed, 22 insertions(+), 29 deletions(-)
> >
> > diff --git a/Makefile.am b/Makefile.am
> > index 27182c7bc..b58d4a501 100644
> > --- a/Makefile.am
> > +++ b/Makefile.am
> > @@ -430,7 +430,7 @@ endif
> >   CLEANFILES += flake8-check
> >
> >   include $(srcdir)/manpages.mk
> > -$(srcdir)/manpages.mk: $(MAN_ROOTS) build-aux/sodepends.py 
> > $(OVS_SRCDIR)/python/build/soutil.py
> > +$(srcdir)/manpages.mk: $(MAN_ROOTS) build-aux/sodepends.py 
> > $(OVS_SRCDIR)/python/ovs_build_helpers/soutil.py
> >       
> > @PYTHONPATH=$(OVS_SRCDIR)/python$(psep)$$PYTHONPATH$(psep)$(srcdir)/python 
> > $(PYTHON3) $(srcdir)/build-aux/sodepends.py -I. -Isrcdir,$(srcdir) 
> > -IOVS_MANDIR,$(OVS_MANDIR) $(MAN_ROOTS) >$(@F).tmp
> >       @if cmp -s $(@F).tmp $@; then \
> >         touch $@; \
> > diff --git a/build-aux/sodepends.py b/build-aux/sodepends.py
> > index 7b1f9c840..c04a5c681 100755
> > --- a/build-aux/sodepends.py
> > +++ b/build-aux/sodepends.py
> > @@ -14,7 +14,7 @@
> >   # See the License for the specific language governing permissions and
> >   # limitations under the License.
> >
> > -from build import soutil
> > +from ovs_build_helpers import soutil
> >   import sys
> >   import getopt
> >   import os
> > diff --git a/build-aux/soexpand.py b/build-aux/soexpand.py
> > index 00adcf47a..f9ab80963 100755
> > --- a/build-aux/soexpand.py
> > +++ b/build-aux/soexpand.py
> > @@ -14,7 +14,7 @@
> >   # See the License for the specific language governing permissions and
> >   # limitations under the License.
> >
> > -from build import soutil
> > +from ovs_build_helpers import soutil
> >   import sys
> >
> >
> > diff --git a/build-aux/xml2nroff b/build-aux/xml2nroff
> > index 9e781a396..dd9577204 100755
> > --- a/build-aux/xml2nroff
> > +++ b/build-aux/xml2nroff
> > @@ -18,7 +18,7 @@ import getopt
> >   import sys
> >   import xml.dom.minidom
> >
> > -import build.nroff
> > +from ovs_build_helpers import nroff
> >
> >   argv0 = sys.argv[0]
> >
> > @@ -94,12 +94,12 @@ def manpage_to_nroff(xml_file, subst, include_path, 
> > version=None):
> >   .  PP
> >   .  I "\\$1"
> >   ..
> > -''' % (build.nroff.text_to_nroff(program),
> > -       build.nroff.text_to_nroff(section),
> > -       build.nroff.text_to_nroff(title),
> > -       build.nroff.text_to_nroff(version))
> > +''' % (nroff.text_to_nroff(program),
> > +       nroff.text_to_nroff(section),
> > +       nroff.text_to_nroff(title),
> > +       nroff.text_to_nroff(version))
> >
> > -    s += build.nroff.block_xml_to_nroff(doc.childNodes) + "\n"
> > +    s += nroff.block_xml_to_nroff(doc.childNodes) + "\n"
> >
> >       return s
> >
> > @@ -145,7 +145,7 @@ if __name__ == "__main__":
> >
> >       try:
> >           s = manpage_to_nroff(args[0], subst, include_path, version)
> > -    except build.nroff.error.Error as e:
> > +    except nroff.error.Error as e:
> >           sys.stderr.write("%s: %s\n" % (argv0, e.msg))
> >           sys.exit(1)
> >       for line in s.splitlines():
> > diff --git a/controller-vtep/ovn-controller-vtep.c 
> > b/controller-vtep/ovn-controller-vtep.c
> > index 5f017d87d..23b368179 100644
> > --- a/controller-vtep/ovn-controller-vtep.c
> > +++ b/controller-vtep/ovn-controller-vtep.c
> > @@ -116,7 +116,7 @@ main(int argc, char *argv[])
> >       parse_options(argc, argv);
> >       fatal_ignore_sigpipe();
> >
> > -    daemonize_start(false);
> > +    daemonize_start(false, false);
> >
> >       char *abs_unixctl_path = get_abs_unix_ctl_path(NULL);
> >       retval = unixctl_server_create(abs_unixctl_path, &unixctl);
> > diff --git a/controller/ovn-controller.c b/controller/ovn-controller.c
> > index 1e49f423f..64d21b39e 100644
> > --- a/controller/ovn-controller.c
> > +++ b/controller/ovn-controller.c
> > @@ -4988,7 +4988,7 @@ main(int argc, char *argv[])
> >       char *ovs_remote = parse_options(argc, argv);
> >       fatal_ignore_sigpipe();
> >
> > -    daemonize_start(true);
> > +    daemonize_start(true, false);
> >
> >       char *abs_unixctl_path = get_abs_unix_ctl_path(NULL);
> >       retval = unixctl_server_create(abs_unixctl_path, &unixctl);
> > diff --git a/controller/pinctrl.c b/controller/pinctrl.c
> > index bed90fe0b..472f2dd20 100644
> > --- a/controller/pinctrl.c
> > +++ b/controller/pinctrl.c
> > @@ -1760,14 +1760,14 @@ pinctrl_handle_sctp_abort(struct rconn *swconn, 
> > const struct flow *ip_flow,
> >           return;
> >       }
> >
> > -    if (sh_in_chunk->sctp_chunk_type == SCTP_CHUNK_TYPE_ABORT) {
> > +    if (sh_in_chunk->type == SCTP_CHUNK_TYPE_ABORT) {
> >           static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(1, 5);
> >           VLOG_WARN_RL(&rl, "sctp_abort action on incoming SCTP ABORT.");
> >           return;
> >       }
> >
> >       const struct sctp_16aligned_init_chunk *sh_in_init = NULL;
> > -    if (sh_in_chunk->sctp_chunk_type == SCTP_CHUNK_TYPE_INIT) {
> > +    if (sh_in_chunk->type == SCTP_CHUNK_TYPE_INIT) {
> >           static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(1, 5);
> >           sh_in_init = dp_packet_at(pkt_in, pkt_in->l4_ofs +
> >                                             SCTP_HEADER_LEN +
> > @@ -1823,9 +1823,9 @@ pinctrl_handle_sctp_abort(struct rconn *swconn, const 
> > struct flow *ip_flow,
> >
> >       struct sctp_chunk_header *ah =
> >           ALIGNED_CAST(struct sctp_chunk_header *, sh + 1);
> > -    ah->sctp_chunk_type = SCTP_CHUNK_TYPE_ABORT;
> > -    ah->sctp_chunk_flags = tag_reflected ? SCTP_ABORT_CHUNK_FLAG_T : 0,
> > -    ah->sctp_chunk_len = htons(SCTP_CHUNK_HEADER_LEN),
> > +    ah->type = SCTP_CHUNK_TYPE_ABORT;
> > +    ah->flags = tag_reflected ? SCTP_ABORT_CHUNK_FLAG_T : 0,
> > +    ah->length = htons(SCTP_CHUNK_HEADER_LEN),
> >
> >       put_16aligned_be32(&sh->sctp_csum, crc32c((void *) sh,
> >                                                 
> > dp_packet_l4_size(&packet)));
> > diff --git a/ic/ovn-ic.c b/ic/ovn-ic.c
> > index db7e86bc1..160a8c21a 100644
> > --- a/ic/ovn-ic.c
> > +++ b/ic/ovn-ic.c
> > @@ -1917,7 +1917,7 @@ main(int argc, char *argv[])
> >       service_start(&argc, &argv);
> >       parse_options(argc, argv);
> >
> > -    daemonize_start(false);
> > +    daemonize_start(false, false);
> >
> >       char *abs_unixctl_path = get_abs_unix_ctl_path(unixctl_path);
> >       retval = unixctl_server_create(abs_unixctl_path, &unixctl);
> > diff --git a/lib/ovn-util.h b/lib/ovn-util.h
> > index e1953322a..16f18353d 100644
> > --- a/lib/ovn-util.h
> > +++ b/lib/ovn-util.h
> > @@ -285,13 +285,6 @@ char *ovn_get_internal_version(void);
> >    * packets.h file. For the time being, they live here because OVN uses 
> > them
> >    * and OVS does not.
> >    */
> > -#define SCTP_CHUNK_HEADER_LEN 4
> > -struct sctp_chunk_header {
> > -    uint8_t sctp_chunk_type;
> > -    uint8_t sctp_chunk_flags;
> > -    ovs_be16 sctp_chunk_len;
> > -};
> > -BUILD_ASSERT_DECL(SCTP_CHUNK_HEADER_LEN == sizeof(struct 
> > sctp_chunk_header));
> >
> >   #define SCTP_INIT_CHUNK_LEN 16
> >   struct sctp_16aligned_init_chunk {
> > diff --git a/northd/ovn-northd.c b/northd/ovn-northd.c
> > index 060c6407b..d417bd1d0 100644
> > --- a/northd/ovn-northd.c
> > +++ b/northd/ovn-northd.c
> > @@ -765,7 +765,7 @@ main(int argc, char *argv[])
> >       service_start(&argc, &argv);
> >       parse_options(argc, argv, &state.paused, &n_threads);
> >
> > -    daemonize_start(false);
> > +    daemonize_start(false, false);
> >
> >       char *abs_unixctl_path = get_abs_unix_ctl_path(unixctl_path);
> >       retval = unixctl_server_create(abs_unixctl_path, &unixctl);
> > diff --git a/ovs b/ovs
> > index 0187eadfc..1d78a3f31 160000
> > --- a/ovs
> > +++ b/ovs
> > @@ -1 +1 @@
> > -Subproject commit 0187eadfce4505d502e57c0e688b830f0a1ec728
> > +Subproject commit 1d78a3f3164a6bf651b34f52812f38655b28a9ce
> > diff --git a/utilities/ovn-dbctl.c b/utilities/ovn-dbctl.c
> > index 1d41157df..2e9348c47 100644
> > --- a/utilities/ovn-dbctl.c
> > +++ b/utilities/ovn-dbctl.c
> > @@ -1112,7 +1112,7 @@ server_loop(const struct ovn_dbctl_options 
> > *dbctl_options,
> >       bool exiting = false;
> >
> >       service_start(&argc, &argv);
> > -    daemonize_start(false);
> > +    daemonize_start(false, false);
> >
> >       char *abs_unixctl_path = get_abs_unix_ctl_path(unixctl_path);
> >       int error = unixctl_server_create(abs_unixctl_path, &server);
> > diff --git a/utilities/ovn-trace.c b/utilities/ovn-trace.c
> > index e6b161850..0b86eae7b 100644
> > --- a/utilities/ovn-trace.c
> > +++ b/utilities/ovn-trace.c
> > @@ -127,7 +127,7 @@ main(int argc, char *argv[])
> >       struct unixctl_server *server = NULL;
> >       bool exiting = false;
> >       if (get_detach()) {
> > -        daemonize_start(false);
> > +        daemonize_start(false, false);
> >
> >           char *abs_unixctl_path = get_abs_unix_ctl_path(unixctl_path);
> >           int error = unixctl_server_create(abs_unixctl_path, &server);
>


-- 

Ales Musil

Senior Software Engineer - OVN Core

Red Hat EMEA

amu...@redhat.com    IM: amusil

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to