Message ID | 20220412121337.207203-3-pbonzini@redhat.com |
---|---|
State | New |
Headers | show |
Series | net: support for CFI with libslirp >= 4.7 | expand |
Paolo Bonzini, le mar. 12 avril 2022 14:13:35 +0200, a ecrit: > Replace slirp_init with slirp_new, so that a more recent cfg.version > can be specified. > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org> > --- > net/slirp.c | 27 +++++++++++++++++++++------ > 1 file changed, 21 insertions(+), 6 deletions(-) > > diff --git a/net/slirp.c b/net/slirp.c > index f1e25d741f..b3a92d6e38 100644 > --- a/net/slirp.c > +++ b/net/slirp.c > @@ -389,6 +389,7 @@ static int net_slirp_init(NetClientState *peer, const char *model, > #if defined(CONFIG_SMBD_COMMAND) > struct in_addr smbsrv = { .s_addr = 0 }; > #endif > + SlirpConfig cfg = { 0 }; > NetClientState *nc; > SlirpState *s; > char buf[20]; > @@ -577,12 +578,26 @@ static int net_slirp_init(NetClientState *peer, const char *model, > > s = DO_UPCAST(SlirpState, nc, nc); > > - s->slirp = slirp_init(restricted, ipv4, net, mask, host, > - ipv6, ip6_prefix, vprefix6_len, ip6_host, > - vhostname, tftp_server_name, > - tftp_export, bootfile, dhcp, > - dns, ip6_dns, dnssearch, vdomainname, > - &slirp_cb, s); > + cfg.version = 3; > + cfg.restricted = restricted; > + cfg.in_enabled = ipv4; > + cfg.vnetwork = net; > + cfg.vnetmask = mask; > + cfg.vhost = host; > + cfg.in6_enabled = ipv6; > + cfg.vprefix_addr6 = ip6_prefix; > + cfg.vprefix_len = vprefix6_len; > + cfg.vhost6 = ip6_host; > + cfg.vhostname = vhostname; > + cfg.tftp_server_name = tftp_server_name; > + cfg.tftp_path = tftp_export; > + cfg.bootfile = bootfile; > + cfg.vdhcp_start = dhcp; > + cfg.vnameserver = dns; > + cfg.vnameserver6 = ip6_dns; > + cfg.vdnssearch = dnssearch; > + cfg.vdomainname = vdomainname; > + s->slirp = slirp_new(&cfg, &slirp_cb, s); > QTAILQ_INSERT_TAIL(&slirp_stacks, s, entry); > > /* > -- > 2.35.1 > >
diff --git a/net/slirp.c b/net/slirp.c index f1e25d741f..b3a92d6e38 100644 --- a/net/slirp.c +++ b/net/slirp.c @@ -389,6 +389,7 @@ static int net_slirp_init(NetClientState *peer, const char *model, #if defined(CONFIG_SMBD_COMMAND) struct in_addr smbsrv = { .s_addr = 0 }; #endif + SlirpConfig cfg = { 0 }; NetClientState *nc; SlirpState *s; char buf[20]; @@ -577,12 +578,26 @@ static int net_slirp_init(NetClientState *peer, const char *model, s = DO_UPCAST(SlirpState, nc, nc); - s->slirp = slirp_init(restricted, ipv4, net, mask, host, - ipv6, ip6_prefix, vprefix6_len, ip6_host, - vhostname, tftp_server_name, - tftp_export, bootfile, dhcp, - dns, ip6_dns, dnssearch, vdomainname, - &slirp_cb, s); + cfg.version = 3; + cfg.restricted = restricted; + cfg.in_enabled = ipv4; + cfg.vnetwork = net; + cfg.vnetmask = mask; + cfg.vhost = host; + cfg.in6_enabled = ipv6; + cfg.vprefix_addr6 = ip6_prefix; + cfg.vprefix_len = vprefix6_len; + cfg.vhost6 = ip6_host; + cfg.vhostname = vhostname; + cfg.tftp_server_name = tftp_server_name; + cfg.tftp_path = tftp_export; + cfg.bootfile = bootfile; + cfg.vdhcp_start = dhcp; + cfg.vnameserver = dns; + cfg.vnameserver6 = ip6_dns; + cfg.vdnssearch = dnssearch; + cfg.vdomainname = vdomainname; + s->slirp = slirp_new(&cfg, &slirp_cb, s); QTAILQ_INSERT_TAIL(&slirp_stacks, s, entry); /*
Replace slirp_init with slirp_new, so that a more recent cfg.version can be specified. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- net/slirp.c | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-)