[Touch-packages] [Bug 1628591] Re: ifup & ifdown don't work for vlan devices when raw device name is the new "enp" convention

2023-09-27 Thread L-reimann
That's sad.

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

Title:
  ifup & ifdown don't work for vlan devices when raw device name is the
  new "enp" convention

Status in ifupdown package in Ubuntu:
  Won't Fix

Bug description:
  The regular expressions used in  /etc/network/if-post-down.d/vlan and 
/etc/network/if-pre-up.d/vlan
  do not match the name of my network card enp4s0f0.
  This can be fixed by broadening the regular expression.

  This is only a problem when the device is a vlan device!

  See below for the fix that worked on my system.

  if-pre-up:

  #!/bin/sh

  # Most of this stuff is to enable vlans

  case "$IFACE" in
    # Ignore any alias (#272891) which uses :
    *:*)
  exit 0
    ;;
    vlan0*)
  vconfig set_name_type VLAN_PLUS_VID
  VLANID=`echo $IFACE|sed "s/vlan0*//"`
    ;;
    vlan*)
  vconfig set_name_type VLAN_PLUS_VID_NO_PAD
  VLANID=`echo $IFACE|sed "s/vlan0*//"`
    ;;
    eth*.0*|bond*.0*|wlan*.0*|em*.0*|p[0-9]*.0*|enp[0-9]*.0*)
  vconfig set_name_type DEV_PLUS_VID
  VLANID=`echo $IFACE|sed 
"s/eth[0-9][0-9]*\.0*//g;s/bond[0-9][0-9]*\.0*//g;s/wlan[0-9][0-9]*\.0*//g;s/em[0-9][0-9]*\.0*//g;s/p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\.0*//g;s/enp[0-9]s[0-9]f[0-9]\.0*//g"`
  IF_VLAN_RAW_DEVICE=`echo $IFACE|sed 
"s/\(eth[0-9][0-9]*\)\..*/\1/;s/\(bond[0-9][0-9]*\)\..*/\1/;s/\(wlan[0-9][0-9]*\)\..*/\1/;s/\(em[0-9][0-9]*\)\..*/\1/;s/\(p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\)\..*/\1/;s/\(enp[0-9]s[0-9]f[0-9]\)\..*/\1/"`
    ;;
    eth*.*|bond*.*|wlan*.*|em*.*|p[0-9]*.*|enp[0-9]*.*)
  vconfig set_name_type DEV_PLUS_VID_NO_PAD
  VLANID=`echo $IFACE|sed 
"s/eth[0-9][0-9]*\.0*//g;s/bond[0-9][0-9]*\.0*//g;s/wlan[0-9][0-9]*\.0*//g;s/em[0-9][0-9]*\.0*//g;s/p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\.0*//g;s/enp[0-9]s[0-9]f[0-9]\.//g"`
  IF_VLAN_RAW_DEVICE=`echo $IFACE|sed 
"s/\(eth[0-9][0-9]*\)\..*/\1/;s/\(bond[0-9][0-9]*\)\..*/\1/;s/\(wlan[0-9][0-9]*\)\..*/\1/;s/\(em[0-9][0-9]*\)\..*/\1/;s/\(p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\)\..*/\1/;s/\(enp[0-9]s[0-9]f[0-9]\)\..*/\1/"`
    ;;
    *.0*)
  # Silently ignore interfaces which we do not (know how to) support
  [ -z "$IF_VLAN_RAW_DEVICE" ] && exit 0
  vconfig set_name_type DEV_PLUS_VID
  VLANID=`echo $IFACE|sed "s/[^.]*\.0*//g"`
    ;;
    *.*)
  # Silently ignore interfaces which we do not (know how to) support
  [ -z "$IF_VLAN_RAW_DEVICE" ] && exit 0
  vconfig set_name_type DEV_PLUS_VID_NO_PAD
  VLANID=`echo $IFACE|sed "s/[^.]*\.0*//g"`
    ;;

    *)
  exit 0
    ;;
  esac

  if [ -n "$IF_VLAN_RAW_DEVICE" ] && [ ! -d /sys/class/net/$IFACE ]; then
  if [ ! -x /sbin/vconfig ]; then
  exit 0
  fi
  if ! ip link show dev "$IF_VLAN_RAW_DEVICE" > /dev/null; then
  echo "$IF_VLAN_RAW_DEVICE does not exist, unable to create $IFACE"
  exit 1
  fi
  if [ ! -e "/sys/class/net/$IFACE" ]; then
  ip link set up dev $IF_VLAN_RAW_DEVICE
  vconfig add $IF_VLAN_RAW_DEVICE $VLANID
  fi
  fi

  # This is not vlan specific, and should actually go somewhere else.
  if [ -n "$IF_HW_MAC_ADDRESS" ]; then
  ip link set $IFACE address $IF_HW_MAC_ADDRESS
  fi

  if-post-down:

  #!/bin/sh

  # If IFACE is an automagic vlan interface (without the vlan-raw-device
  # parameter) then let's try to discover the magic here..  Another way would be
  # to just probe for the right device name in /proc/net/vlan

  case "$IFACE" in
    # Ignore any alias (#272891)
    *:*)
  exit 0
    ;;
    eth*.0*|bond*.0*|wlan*.0*|em*.0*|p[0-9]*.0*|enp[0-9]*\.0*)
  IF_VLAN_RAW_DEVICE=`echo $IFACE|sed 
"s/\(eth[0-9][0-9]*\)\..*/\1/;s/\(bond[0-9][0-9]*\)\..*/\1/;s/\(wlan[0-9][0-9]*\)\..*/\1/;s/\(em[0-9][0-9]*\)\..*/\1/;s/\(p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\)\..*/\1/"`
    ;;
    eth*.*|bond*.*|wlan*.*|em*.*|p[0-9]*.*|enp[0-9]*\.*)
  IF_VLAN_RAW_DEVICE=`echo $IFACE|sed 
"s/\(eth[0-9][0-9]*\)\..*/\1/;s/\(bond[0-9][0-9]*\)\..*/\1/;s/\(wlan[0-9][0-9]*\)\..*/\1/;s/\(em[0-9][0-9]*\)\..*/\1/;s/\(p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\)\..*/\1/"`
    ;;
    # Test for vlan raw device (#196890, #292648)
    *)
  [ -z "$IF_VLAN_RAW_DEVICE" ] && exit 0
    ;;
  esac
  if [ ! -x /sbin/vconfig ]; then
  exit 0
  fi

  vconfig rem $IFACE

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1628591/+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


[Touch-packages] [Bug 1628591] Re: ifup & ifdown don't work for vlan devices when raw device name is the new "enp" convention

2021-10-28 Thread Robie Basak
Ubuntu focuses on netplan with systemd-networkd or Network Manager, and
ifupdown isn't really supported any more except for edge cases not
supported by netplan. Since vlan is supported by netplan, I'm therefore
marking this Won't Fix for the Ubuntu development release.

Note that ifupdown in Ubuntu barely differs from Debian now, so it seems
likely to me that there would be no difference in behaviour from Debian
here.

** Changed in: ifupdown (Ubuntu)
   Status: Confirmed => Won't Fix

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

Title:
  ifup & ifdown don't work for vlan devices when raw device name is the
  new "enp" convention

Status in ifupdown package in Ubuntu:
  Won't Fix

Bug description:
  The regular expressions used in  /etc/network/if-post-down.d/vlan and 
/etc/network/if-pre-up.d/vlan
  do not match the name of my network card enp4s0f0.
  This can be fixed by broadening the regular expression.

  This is only a problem when the device is a vlan device!

  See below for the fix that worked on my system.

  if-pre-up:

  #!/bin/sh

  # Most of this stuff is to enable vlans

  case "$IFACE" in
    # Ignore any alias (#272891) which uses :
    *:*)
  exit 0
    ;;
    vlan0*)
  vconfig set_name_type VLAN_PLUS_VID
  VLANID=`echo $IFACE|sed "s/vlan0*//"`
    ;;
    vlan*)
  vconfig set_name_type VLAN_PLUS_VID_NO_PAD
  VLANID=`echo $IFACE|sed "s/vlan0*//"`
    ;;
    eth*.0*|bond*.0*|wlan*.0*|em*.0*|p[0-9]*.0*|enp[0-9]*.0*)
  vconfig set_name_type DEV_PLUS_VID
  VLANID=`echo $IFACE|sed 
"s/eth[0-9][0-9]*\.0*//g;s/bond[0-9][0-9]*\.0*//g;s/wlan[0-9][0-9]*\.0*//g;s/em[0-9][0-9]*\.0*//g;s/p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\.0*//g;s/enp[0-9]s[0-9]f[0-9]\.0*//g"`
  IF_VLAN_RAW_DEVICE=`echo $IFACE|sed 
"s/\(eth[0-9][0-9]*\)\..*/\1/;s/\(bond[0-9][0-9]*\)\..*/\1/;s/\(wlan[0-9][0-9]*\)\..*/\1/;s/\(em[0-9][0-9]*\)\..*/\1/;s/\(p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\)\..*/\1/;s/\(enp[0-9]s[0-9]f[0-9]\)\..*/\1/"`
    ;;
    eth*.*|bond*.*|wlan*.*|em*.*|p[0-9]*.*|enp[0-9]*.*)
  vconfig set_name_type DEV_PLUS_VID_NO_PAD
  VLANID=`echo $IFACE|sed 
"s/eth[0-9][0-9]*\.0*//g;s/bond[0-9][0-9]*\.0*//g;s/wlan[0-9][0-9]*\.0*//g;s/em[0-9][0-9]*\.0*//g;s/p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\.0*//g;s/enp[0-9]s[0-9]f[0-9]\.//g"`
  IF_VLAN_RAW_DEVICE=`echo $IFACE|sed 
"s/\(eth[0-9][0-9]*\)\..*/\1/;s/\(bond[0-9][0-9]*\)\..*/\1/;s/\(wlan[0-9][0-9]*\)\..*/\1/;s/\(em[0-9][0-9]*\)\..*/\1/;s/\(p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\)\..*/\1/;s/\(enp[0-9]s[0-9]f[0-9]\)\..*/\1/"`
    ;;
    *.0*)
  # Silently ignore interfaces which we do not (know how to) support
  [ -z "$IF_VLAN_RAW_DEVICE" ] && exit 0
  vconfig set_name_type DEV_PLUS_VID
  VLANID=`echo $IFACE|sed "s/[^.]*\.0*//g"`
    ;;
    *.*)
  # Silently ignore interfaces which we do not (know how to) support
  [ -z "$IF_VLAN_RAW_DEVICE" ] && exit 0
  vconfig set_name_type DEV_PLUS_VID_NO_PAD
  VLANID=`echo $IFACE|sed "s/[^.]*\.0*//g"`
    ;;

    *)
  exit 0
    ;;
  esac

  if [ -n "$IF_VLAN_RAW_DEVICE" ] && [ ! -d /sys/class/net/$IFACE ]; then
  if [ ! -x /sbin/vconfig ]; then
  exit 0
  fi
  if ! ip link show dev "$IF_VLAN_RAW_DEVICE" > /dev/null; then
  echo "$IF_VLAN_RAW_DEVICE does not exist, unable to create $IFACE"
  exit 1
  fi
  if [ ! -e "/sys/class/net/$IFACE" ]; then
  ip link set up dev $IF_VLAN_RAW_DEVICE
  vconfig add $IF_VLAN_RAW_DEVICE $VLANID
  fi
  fi

  # This is not vlan specific, and should actually go somewhere else.
  if [ -n "$IF_HW_MAC_ADDRESS" ]; then
  ip link set $IFACE address $IF_HW_MAC_ADDRESS
  fi

  if-post-down:

  #!/bin/sh

  # If IFACE is an automagic vlan interface (without the vlan-raw-device
  # parameter) then let's try to discover the magic here..  Another way would be
  # to just probe for the right device name in /proc/net/vlan

  case "$IFACE" in
    # Ignore any alias (#272891)
    *:*)
  exit 0
    ;;
    eth*.0*|bond*.0*|wlan*.0*|em*.0*|p[0-9]*.0*|enp[0-9]*\.0*)
  IF_VLAN_RAW_DEVICE=`echo $IFACE|sed 
"s/\(eth[0-9][0-9]*\)\..*/\1/;s/\(bond[0-9][0-9]*\)\..*/\1/;s/\(wlan[0-9][0-9]*\)\..*/\1/;s/\(em[0-9][0-9]*\)\..*/\1/;s/\(p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\)\..*/\1/"`
    ;;
    eth*.*|bond*.*|wlan*.*|em*.*|p[0-9]*.*|enp[0-9]*\.*)
  IF_VLAN_RAW_DEVICE=`echo $IFACE|sed 
"s/\(eth[0-9][0-9]*\)\..*/\1/;s/\(bond[0-9][0-9]*\)\..*/\1/;s/\(wlan[0-9][0-9]*\)\..*/\1/;s/\(em[0-9][0-9]*\)\..*/\1/;s/\(p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\)\..*/\1/"`
    ;;
    # Test for vlan raw device (#196890, #292648)
    *)
  [ -z "$IF_VLAN_RAW_DEVICE" ] && exit 0
    ;;
  esac
  if [ ! -x /sbin/vconfig ]; then
  exit 0
  fi

  vconfig rem $IFACE

To manage notifications about this

[Touch-packages] [Bug 1628591] Re: ifup & ifdown don't work for vlan devices when raw device name is the new "enp" convention

2017-05-08 Thread Andrei Coada
In Debian 9 Stretch, works as it should.

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

Title:
  ifup & ifdown don't work for vlan devices when raw device name is the
  new "enp" convention

Status in ifupdown package in Ubuntu:
  Confirmed

Bug description:
  The regular expressions used in  /etc/network/if-post-down.d/vlan and 
/etc/network/if-pre-up.d/vlan
  do not match the name of my network card enp4s0f0.
  This can be fixed by broadening the regular expression.

  This is only a problem when the device is a vlan device!

  See below for the fix that worked on my system.

  if-pre-up:

  #!/bin/sh

  # Most of this stuff is to enable vlans

  case "$IFACE" in
    # Ignore any alias (#272891) which uses :
    *:*)
  exit 0
    ;;
    vlan0*)
  vconfig set_name_type VLAN_PLUS_VID
  VLANID=`echo $IFACE|sed "s/vlan0*//"`
    ;;
    vlan*)
  vconfig set_name_type VLAN_PLUS_VID_NO_PAD
  VLANID=`echo $IFACE|sed "s/vlan0*//"`
    ;;
    eth*.0*|bond*.0*|wlan*.0*|em*.0*|p[0-9]*.0*|enp[0-9]*.0*)
  vconfig set_name_type DEV_PLUS_VID
  VLANID=`echo $IFACE|sed 
"s/eth[0-9][0-9]*\.0*//g;s/bond[0-9][0-9]*\.0*//g;s/wlan[0-9][0-9]*\.0*//g;s/em[0-9][0-9]*\.0*//g;s/p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\.0*//g;s/enp[0-9]s[0-9]f[0-9]\.0*//g"`
  IF_VLAN_RAW_DEVICE=`echo $IFACE|sed 
"s/\(eth[0-9][0-9]*\)\..*/\1/;s/\(bond[0-9][0-9]*\)\..*/\1/;s/\(wlan[0-9][0-9]*\)\..*/\1/;s/\(em[0-9][0-9]*\)\..*/\1/;s/\(p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\)\..*/\1/;s/\(enp[0-9]s[0-9]f[0-9]\)\..*/\1/"`
    ;;
    eth*.*|bond*.*|wlan*.*|em*.*|p[0-9]*.*|enp[0-9]*.*)
  vconfig set_name_type DEV_PLUS_VID_NO_PAD
  VLANID=`echo $IFACE|sed 
"s/eth[0-9][0-9]*\.0*//g;s/bond[0-9][0-9]*\.0*//g;s/wlan[0-9][0-9]*\.0*//g;s/em[0-9][0-9]*\.0*//g;s/p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\.0*//g;s/enp[0-9]s[0-9]f[0-9]\.//g"`
  IF_VLAN_RAW_DEVICE=`echo $IFACE|sed 
"s/\(eth[0-9][0-9]*\)\..*/\1/;s/\(bond[0-9][0-9]*\)\..*/\1/;s/\(wlan[0-9][0-9]*\)\..*/\1/;s/\(em[0-9][0-9]*\)\..*/\1/;s/\(p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\)\..*/\1/;s/\(enp[0-9]s[0-9]f[0-9]\)\..*/\1/"`
    ;;
    *.0*)
  # Silently ignore interfaces which we do not (know how to) support
  [ -z "$IF_VLAN_RAW_DEVICE" ] && exit 0
  vconfig set_name_type DEV_PLUS_VID
  VLANID=`echo $IFACE|sed "s/[^.]*\.0*//g"`
    ;;
    *.*)
  # Silently ignore interfaces which we do not (know how to) support
  [ -z "$IF_VLAN_RAW_DEVICE" ] && exit 0
  vconfig set_name_type DEV_PLUS_VID_NO_PAD
  VLANID=`echo $IFACE|sed "s/[^.]*\.0*//g"`
    ;;

    *)
  exit 0
    ;;
  esac

  if [ -n "$IF_VLAN_RAW_DEVICE" ] && [ ! -d /sys/class/net/$IFACE ]; then
  if [ ! -x /sbin/vconfig ]; then
  exit 0
  fi
  if ! ip link show dev "$IF_VLAN_RAW_DEVICE" > /dev/null; then
  echo "$IF_VLAN_RAW_DEVICE does not exist, unable to create $IFACE"
  exit 1
  fi
  if [ ! -e "/sys/class/net/$IFACE" ]; then
  ip link set up dev $IF_VLAN_RAW_DEVICE
  vconfig add $IF_VLAN_RAW_DEVICE $VLANID
  fi
  fi

  # This is not vlan specific, and should actually go somewhere else.
  if [ -n "$IF_HW_MAC_ADDRESS" ]; then
  ip link set $IFACE address $IF_HW_MAC_ADDRESS
  fi

  if-post-down:

  #!/bin/sh

  # If IFACE is an automagic vlan interface (without the vlan-raw-device
  # parameter) then let's try to discover the magic here..  Another way would be
  # to just probe for the right device name in /proc/net/vlan

  case "$IFACE" in
    # Ignore any alias (#272891)
    *:*)
  exit 0
    ;;
    eth*.0*|bond*.0*|wlan*.0*|em*.0*|p[0-9]*.0*|enp[0-9]*\.0*)
  IF_VLAN_RAW_DEVICE=`echo $IFACE|sed 
"s/\(eth[0-9][0-9]*\)\..*/\1/;s/\(bond[0-9][0-9]*\)\..*/\1/;s/\(wlan[0-9][0-9]*\)\..*/\1/;s/\(em[0-9][0-9]*\)\..*/\1/;s/\(p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\)\..*/\1/"`
    ;;
    eth*.*|bond*.*|wlan*.*|em*.*|p[0-9]*.*|enp[0-9]*\.*)
  IF_VLAN_RAW_DEVICE=`echo $IFACE|sed 
"s/\(eth[0-9][0-9]*\)\..*/\1/;s/\(bond[0-9][0-9]*\)\..*/\1/;s/\(wlan[0-9][0-9]*\)\..*/\1/;s/\(em[0-9][0-9]*\)\..*/\1/;s/\(p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\)\..*/\1/"`
    ;;
    # Test for vlan raw device (#196890, #292648)
    *)
  [ -z "$IF_VLAN_RAW_DEVICE" ] && exit 0
    ;;
  esac
  if [ ! -x /sbin/vconfig ]; then
  exit 0
  fi

  vconfig rem $IFACE

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1628591/+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


[Touch-packages] [Bug 1628591] Re: ifup & ifdown don't work for vlan devices when raw device name is the new "enp" convention

2017-05-05 Thread Andrei Coada
As a workaround, you could add "vlan-raw-device", like this:

auto enp0s8
iface enp0s8 inet manual

auto enp0s8.7
iface enp0s8.7 inet static
  vlan-raw-device enp0s8
  address x.x.x.x/y


It's a pity that such a project doesn't pay more attention to basic features...

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

Title:
  ifup & ifdown don't work for vlan devices when raw device name is the
  new "enp" convention

Status in ifupdown package in Ubuntu:
  Confirmed

Bug description:
  The regular expressions used in  /etc/network/if-post-down.d/vlan and 
/etc/network/if-pre-up.d/vlan
  do not match the name of my network card enp4s0f0.
  This can be fixed by broadening the regular expression.

  This is only a problem when the device is a vlan device!

  See below for the fix that worked on my system.

  if-pre-up:

  #!/bin/sh

  # Most of this stuff is to enable vlans

  case "$IFACE" in
    # Ignore any alias (#272891) which uses :
    *:*)
  exit 0
    ;;
    vlan0*)
  vconfig set_name_type VLAN_PLUS_VID
  VLANID=`echo $IFACE|sed "s/vlan0*//"`
    ;;
    vlan*)
  vconfig set_name_type VLAN_PLUS_VID_NO_PAD
  VLANID=`echo $IFACE|sed "s/vlan0*//"`
    ;;
    eth*.0*|bond*.0*|wlan*.0*|em*.0*|p[0-9]*.0*|enp[0-9]*.0*)
  vconfig set_name_type DEV_PLUS_VID
  VLANID=`echo $IFACE|sed 
"s/eth[0-9][0-9]*\.0*//g;s/bond[0-9][0-9]*\.0*//g;s/wlan[0-9][0-9]*\.0*//g;s/em[0-9][0-9]*\.0*//g;s/p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\.0*//g;s/enp[0-9]s[0-9]f[0-9]\.0*//g"`
  IF_VLAN_RAW_DEVICE=`echo $IFACE|sed 
"s/\(eth[0-9][0-9]*\)\..*/\1/;s/\(bond[0-9][0-9]*\)\..*/\1/;s/\(wlan[0-9][0-9]*\)\..*/\1/;s/\(em[0-9][0-9]*\)\..*/\1/;s/\(p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\)\..*/\1/;s/\(enp[0-9]s[0-9]f[0-9]\)\..*/\1/"`
    ;;
    eth*.*|bond*.*|wlan*.*|em*.*|p[0-9]*.*|enp[0-9]*.*)
  vconfig set_name_type DEV_PLUS_VID_NO_PAD
  VLANID=`echo $IFACE|sed 
"s/eth[0-9][0-9]*\.0*//g;s/bond[0-9][0-9]*\.0*//g;s/wlan[0-9][0-9]*\.0*//g;s/em[0-9][0-9]*\.0*//g;s/p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\.0*//g;s/enp[0-9]s[0-9]f[0-9]\.//g"`
  IF_VLAN_RAW_DEVICE=`echo $IFACE|sed 
"s/\(eth[0-9][0-9]*\)\..*/\1/;s/\(bond[0-9][0-9]*\)\..*/\1/;s/\(wlan[0-9][0-9]*\)\..*/\1/;s/\(em[0-9][0-9]*\)\..*/\1/;s/\(p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\)\..*/\1/;s/\(enp[0-9]s[0-9]f[0-9]\)\..*/\1/"`
    ;;
    *.0*)
  # Silently ignore interfaces which we do not (know how to) support
  [ -z "$IF_VLAN_RAW_DEVICE" ] && exit 0
  vconfig set_name_type DEV_PLUS_VID
  VLANID=`echo $IFACE|sed "s/[^.]*\.0*//g"`
    ;;
    *.*)
  # Silently ignore interfaces which we do not (know how to) support
  [ -z "$IF_VLAN_RAW_DEVICE" ] && exit 0
  vconfig set_name_type DEV_PLUS_VID_NO_PAD
  VLANID=`echo $IFACE|sed "s/[^.]*\.0*//g"`
    ;;

    *)
  exit 0
    ;;
  esac

  if [ -n "$IF_VLAN_RAW_DEVICE" ] && [ ! -d /sys/class/net/$IFACE ]; then
  if [ ! -x /sbin/vconfig ]; then
  exit 0
  fi
  if ! ip link show dev "$IF_VLAN_RAW_DEVICE" > /dev/null; then
  echo "$IF_VLAN_RAW_DEVICE does not exist, unable to create $IFACE"
  exit 1
  fi
  if [ ! -e "/sys/class/net/$IFACE" ]; then
  ip link set up dev $IF_VLAN_RAW_DEVICE
  vconfig add $IF_VLAN_RAW_DEVICE $VLANID
  fi
  fi

  # This is not vlan specific, and should actually go somewhere else.
  if [ -n "$IF_HW_MAC_ADDRESS" ]; then
  ip link set $IFACE address $IF_HW_MAC_ADDRESS
  fi

  if-post-down:

  #!/bin/sh

  # If IFACE is an automagic vlan interface (without the vlan-raw-device
  # parameter) then let's try to discover the magic here..  Another way would be
  # to just probe for the right device name in /proc/net/vlan

  case "$IFACE" in
    # Ignore any alias (#272891)
    *:*)
  exit 0
    ;;
    eth*.0*|bond*.0*|wlan*.0*|em*.0*|p[0-9]*.0*|enp[0-9]*\.0*)
  IF_VLAN_RAW_DEVICE=`echo $IFACE|sed 
"s/\(eth[0-9][0-9]*\)\..*/\1/;s/\(bond[0-9][0-9]*\)\..*/\1/;s/\(wlan[0-9][0-9]*\)\..*/\1/;s/\(em[0-9][0-9]*\)\..*/\1/;s/\(p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\)\..*/\1/"`
    ;;
    eth*.*|bond*.*|wlan*.*|em*.*|p[0-9]*.*|enp[0-9]*\.*)
  IF_VLAN_RAW_DEVICE=`echo $IFACE|sed 
"s/\(eth[0-9][0-9]*\)\..*/\1/;s/\(bond[0-9][0-9]*\)\..*/\1/;s/\(wlan[0-9][0-9]*\)\..*/\1/;s/\(em[0-9][0-9]*\)\..*/\1/;s/\(p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\)\..*/\1/"`
    ;;
    # Test for vlan raw device (#196890, #292648)
    *)
  [ -z "$IF_VLAN_RAW_DEVICE" ] && exit 0
    ;;
  esac
  if [ ! -x /sbin/vconfig ]; then
  exit 0
  fi

  vconfig rem $IFACE

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1628591/+subscriptions

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

[Touch-packages] [Bug 1628591] Re: ifup & ifdown don't work for vlan devices when raw device name is the new "enp" convention

2017-05-05 Thread Andrei Coada
** Summary changed:

- ifup and ifdown dont work for vlan devices when raw ethernet device name does 
not meet regular conventions
+ ifup & ifdown don't work for vlan devices when raw device name is the new 
"enp" convention

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

Title:
  ifup & ifdown don't work for vlan devices when raw device name is the
  new "enp" convention

Status in ifupdown package in Ubuntu:
  Confirmed

Bug description:
  The regular expressions used in  /etc/network/if-post-down.d/vlan and 
/etc/network/if-pre-up.d/vlan
  do not match the name of my network card enp4s0f0.
  This can be fixed by broadening the regular expression.

  This is only a problem when the device is a vlan device!

  See below for the fix that worked on my system.

  if-pre-up:

  #!/bin/sh

  # Most of this stuff is to enable vlans

  case "$IFACE" in
    # Ignore any alias (#272891) which uses :
    *:*)
  exit 0
    ;;
    vlan0*)
  vconfig set_name_type VLAN_PLUS_VID
  VLANID=`echo $IFACE|sed "s/vlan0*//"`
    ;;
    vlan*)
  vconfig set_name_type VLAN_PLUS_VID_NO_PAD
  VLANID=`echo $IFACE|sed "s/vlan0*//"`
    ;;
    eth*.0*|bond*.0*|wlan*.0*|em*.0*|p[0-9]*.0*|enp[0-9]*.0*)
  vconfig set_name_type DEV_PLUS_VID
  VLANID=`echo $IFACE|sed 
"s/eth[0-9][0-9]*\.0*//g;s/bond[0-9][0-9]*\.0*//g;s/wlan[0-9][0-9]*\.0*//g;s/em[0-9][0-9]*\.0*//g;s/p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\.0*//g;s/enp[0-9]s[0-9]f[0-9]\.0*//g"`
  IF_VLAN_RAW_DEVICE=`echo $IFACE|sed 
"s/\(eth[0-9][0-9]*\)\..*/\1/;s/\(bond[0-9][0-9]*\)\..*/\1/;s/\(wlan[0-9][0-9]*\)\..*/\1/;s/\(em[0-9][0-9]*\)\..*/\1/;s/\(p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\)\..*/\1/;s/\(enp[0-9]s[0-9]f[0-9]\)\..*/\1/"`
    ;;
    eth*.*|bond*.*|wlan*.*|em*.*|p[0-9]*.*|enp[0-9]*.*)
  vconfig set_name_type DEV_PLUS_VID_NO_PAD
  VLANID=`echo $IFACE|sed 
"s/eth[0-9][0-9]*\.0*//g;s/bond[0-9][0-9]*\.0*//g;s/wlan[0-9][0-9]*\.0*//g;s/em[0-9][0-9]*\.0*//g;s/p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\.0*//g;s/enp[0-9]s[0-9]f[0-9]\.//g"`
  IF_VLAN_RAW_DEVICE=`echo $IFACE|sed 
"s/\(eth[0-9][0-9]*\)\..*/\1/;s/\(bond[0-9][0-9]*\)\..*/\1/;s/\(wlan[0-9][0-9]*\)\..*/\1/;s/\(em[0-9][0-9]*\)\..*/\1/;s/\(p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\)\..*/\1/;s/\(enp[0-9]s[0-9]f[0-9]\)\..*/\1/"`
    ;;
    *.0*)
  # Silently ignore interfaces which we do not (know how to) support
  [ -z "$IF_VLAN_RAW_DEVICE" ] && exit 0
  vconfig set_name_type DEV_PLUS_VID
  VLANID=`echo $IFACE|sed "s/[^.]*\.0*//g"`
    ;;
    *.*)
  # Silently ignore interfaces which we do not (know how to) support
  [ -z "$IF_VLAN_RAW_DEVICE" ] && exit 0
  vconfig set_name_type DEV_PLUS_VID_NO_PAD
  VLANID=`echo $IFACE|sed "s/[^.]*\.0*//g"`
    ;;

    *)
  exit 0
    ;;
  esac

  if [ -n "$IF_VLAN_RAW_DEVICE" ] && [ ! -d /sys/class/net/$IFACE ]; then
  if [ ! -x /sbin/vconfig ]; then
  exit 0
  fi
  if ! ip link show dev "$IF_VLAN_RAW_DEVICE" > /dev/null; then
  echo "$IF_VLAN_RAW_DEVICE does not exist, unable to create $IFACE"
  exit 1
  fi
  if [ ! -e "/sys/class/net/$IFACE" ]; then
  ip link set up dev $IF_VLAN_RAW_DEVICE
  vconfig add $IF_VLAN_RAW_DEVICE $VLANID
  fi
  fi

  # This is not vlan specific, and should actually go somewhere else.
  if [ -n "$IF_HW_MAC_ADDRESS" ]; then
  ip link set $IFACE address $IF_HW_MAC_ADDRESS
  fi

  if-post-down:

  #!/bin/sh

  # If IFACE is an automagic vlan interface (without the vlan-raw-device
  # parameter) then let's try to discover the magic here..  Another way would be
  # to just probe for the right device name in /proc/net/vlan

  case "$IFACE" in
    # Ignore any alias (#272891)
    *:*)
  exit 0
    ;;
    eth*.0*|bond*.0*|wlan*.0*|em*.0*|p[0-9]*.0*|enp[0-9]*\.0*)
  IF_VLAN_RAW_DEVICE=`echo $IFACE|sed 
"s/\(eth[0-9][0-9]*\)\..*/\1/;s/\(bond[0-9][0-9]*\)\..*/\1/;s/\(wlan[0-9][0-9]*\)\..*/\1/;s/\(em[0-9][0-9]*\)\..*/\1/;s/\(p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\)\..*/\1/"`
    ;;
    eth*.*|bond*.*|wlan*.*|em*.*|p[0-9]*.*|enp[0-9]*\.*)
  IF_VLAN_RAW_DEVICE=`echo $IFACE|sed 
"s/\(eth[0-9][0-9]*\)\..*/\1/;s/\(bond[0-9][0-9]*\)\..*/\1/;s/\(wlan[0-9][0-9]*\)\..*/\1/;s/\(em[0-9][0-9]*\)\..*/\1/;s/\(p[0-9][0-9]*\(p[0-9][0-9]*\)\?\(_[0-9][0-9]*\)\?\)\..*/\1/"`
    ;;
    # Test for vlan raw device (#196890, #292648)
    *)
  [ -z "$IF_VLAN_RAW_DEVICE" ] && exit 0
    ;;
  esac
  if [ ! -x /sbin/vconfig ]; then
  exit 0
  fi

  vconfig rem $IFACE

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1628591/+subscriptions

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