netlink/netlink_linux.go
func DeleteBridge(name string) error {
	s, err := getIfSocket()
	if err != nil {
		return err
	}
	defer syscall.Close(s)

	nameBytePtr, err := syscall.BytePtrFromString(name)
	if err != nil {
		return err
	}

	var ifr ifreqFlags
	copy(ifr.IfrnName[:len(ifr.IfrnName)-1], []byte(name))
	if _, _, err := syscall.Syscall(syscall.SYS_IOCTL, uintptr(s),
		syscall.SIOCSIFFLAGS, uintptr(unsafe.Pointer(&ifr))); err != 0 {
		return err
	}

	if _, _, err := syscall.Syscall(syscall.SYS_IOCTL, uintptr(s),
		SIOC_BRDELBR, uintptr(unsafe.Pointer(nameBytePtr))); err != 0 {
		return err
	}
	return nil
}
func DeleteBridge(name string) error {
	s, err := getIfSocket()
	if err != nil {
		return err
	}
	defer syscall.Close(s)

	nameBytePtr, err := syscall.BytePtrFromString(name)
	if err != nil {
		return err
	}

	var ifr ifreqFlags
	copy(ifr.IfrnName[:len(ifr.IfrnName)-1], []byte(name))
	if _, _, err := syscall.Syscall(syscall.SYS_IOCTL, uintptr(s),
		syscall.SIOCSIFFLAGS, uintptr(unsafe.Pointer(&ifr))); err != 0 {
		return err
	}

	if _, _, err := syscall.Syscall(syscall.SYS_IOCTL, uintptr(s),
		SIOC_BRDELBR, uintptr(unsafe.Pointer(nameBytePtr))); err != 0 {
		return err
	}
	return nil
}
func DeleteBridge ( name string ) error { s , err := getIfSocket ( ) if err != nil { return err } defer syscall . Close ( s ) nameBytePtr , err := syscall . BytePtrFromString ( name ) if err != nil { return err } var ifr ifreqFlags copy ( ifr . IfrnName [ : len ( ifr . IfrnName ) - 1 ] , [ ] byte ( name ) ) if _ , _ , err := syscall . Syscall ( syscall . SYS_IOCTL , uintptr ( s ) , syscall . SIOCSIFFLAGS , uintptr ( unsafe . Pointer ( & ifr ) ) ) ; err != 0 { return err } if _ , _ , err := syscall . Syscall ( syscall . SYS_IOCTL , uintptr ( s ) , SIOC_BRDELBR , uintptr ( unsafe . Pointer ( nameBytePtr ) ) ) ; err != 0 { return err } return nil }
// Delete the actual bridge device.
Delete the actual bridge device .