** Bug watch added: Debian Bug tracker #975028
   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=975028

** Also affects: iptables (Debian) via
   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=975028
   Importance: Unknown
       Status: Unknown

** Changed in: iptables (Ubuntu Groovy)
       Status: New => In Progress

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to iptables in Ubuntu.
https://bugs.launchpad.net/bugs/1904192

Title:
  ebtables can not rename just created chain

Status in iptables:
  Unknown
Status in iptables package in Ubuntu:
  Confirmed
Status in iptables source package in Groovy:
  In Progress
Status in iptables package in Debian:
  Unknown
Status in iptables package in Fedora:
  Confirmed

Bug description:
  [SRU]

   * Changes that went into 1.8.5 ave broken the errno handling.
     In particular loading extensions. Due to that it has become
     impossible to rename rules.

   * Upstream has created a fix and this backports that change to
     Ubuntu
     => 
http://git.netfilter.org/iptables/commit/?id=55b7c71dce7144f4dc0297c17abf0f04879ee247

  [Test Case]

   * # ebtables -t nat -N foo
     # ebtables -t nat -E foo bar
     ebtables v1.8.5 (nf_tables): Chain 'foo' doesn't exists

   * with the fix the above command sequence works

  [Where problems could occur]

   * The change moved code from nft_chain_user_rename to do_commandeb and 
     therefore in theory any ebtables/xtables subcommand could be affected.
     Yet what it does is just resetting the error code in a better place, so 
     while it "could" affect every subcommand it should (tm) not do so.
     

  [Other Info]
   
   * n/a

  
  ---

  Hi,
  I have an issue with ebtables that affects libvirt.
  While initially found in hirsute I had to realize this is broken in
  Groovy and even Bionic (might be a different reason back then) as well right 
now.
  But working in Focal (witch matches my memory of it being good before [1]).

  I was isolating the commands that libvirt runs (identical between Focal
  and Hirsute) to find a simplified trigger. Gladly I found one that leaves
  libvirt and other components out of the equation.
  The following works on focal, but fails on the other releases.

  Note: I checked which tool is in use and in both cases it is 
xtables-nft-multi.
  /usr/sbin/ebtables -> /etc/alternatives/ebtables*
  /etc/alternatives/ebtables -> /usr/sbin/ebtables-nft*
  /usr/sbin/ebtables-nft -> xtables-nft-multi*
  So I converted the libvirt issued commands into xtables-nft-multi just to be
  sure in case a system to compare has other alternatives set.

  Focal (Good):
  /usr/sbin/xtables-nft-multi ebtables --concurrent -t nat -N testrule3
  /usr/sbin/xtables-nft-multi ebtables --concurrent -t nat -E testrule3 
testrule3-renamed
  <system is happy>

  Groovy/Hirsute (Fail):
  /usr/sbin/xtables-nft-multi ebtables --concurrent -t nat -N testrule3
  /usr/sbin/xtables-nft-multi ebtables --concurrent -t nat -E testrule3 
testrule3-renamed
  ebtables v1.8.5 (nf_tables): Chain 'testrule3' doesn't exists
  Try `ebtables -h' or 'ebtables --help' for more information.

  What might be the root cause for this?

  -- Old test instructions --

  As I said I was tracking a fail in libvirt so the test instructions initially
  were around that:

  # the following us done as 2nd level guest (to not mess with the host,
  # but works on bare metal jst as much)
  uvt-kvm create --host-passthrough --memory 2048 --cpu 4 --disk 16 
--password=ubuntu hirsute-kvm release=hirsute arch=amd64 label=daily
  # On guest then

  sudo apt update
  sudo apt install uvtool uvtool-libvirt
  uvt-simplestreams-libvirt --verbose sync --source 
http://cloud-images.ubuntu.com/daily arch=amd64 label=daily release=hirsute
  uvt-kvm create --disk 5 --machine-type ubuntu --password=ubuntu 
hirsute-2nd-lvm release=hirsute arch=amd64 label=daily
  uvt-kvm wait hirsute-2nd-lvm
  virsh shutdown hirsute-2nd-lvm
  virsh edit hirsute-2nd-lvm
  # add this to the network
        <filterref filter='clean-traffic'>
          <parameter name='CTRL_IP_LEARNING' value='dhcp'/>
        </filterref>
  virsh start hirsute-2nd-lvm
    error: Failed to start domain hirsute-2nd-nwfilter
    error: internal error: applyDHCPOnlyRules failed - spoofing not protected!

  FYI: Get helpful log details with these in /etc/libvirt/libvirtd.conf
  log_filters="1:util.firewall"
  log_outputs="1:syslog:libvirtd"

  -- --

  [1]: https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1758037

To manage notifications about this bug go to:
https://bugs.launchpad.net/iptables/+bug/1904192/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to