On Wed, May 2, 2018 at 11:56 PM, Andrew Lunn <and...@lunn.ch> wrote: > On Wed, May 02, 2018 at 11:20:05PM +0300, Ran Shalit wrote: >> Hello, >> >> Is it possible to use switch just like external real switch, >> connecting all ports to the same subnet ? > > Yes. Just bridge all ports/interfaces together and put your host IP > address on the bridge. > > Andrew
Hi, I get error on trying to add bridge. I am trying to =understand which configuration is missing probably in my kernel, I ran strace, but not sure , does it point to any missing configuration ? root@dm814x-evm:~# ip link add br0 type bridge RTNETLINK answers: Operation not supported root@dm814x-evm:~# ./strace ip link add br0 type bridge execve("/bin/ip", ["ip", "link", "add", "br0", "type", "bridge"], [/* 11 vars */]) = 0 brk(0) = 0x44000 uname({sys="Linux", node="dm814x-evm", ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x400c1000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = -1 ENOENT (No such file or directory) open("/lib/tls/v7l/fast-mult/half/libresolv.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/v7l/fast-mult/half", 0xbe8bb3c0) = -1 ENOENT (No such file or directory) open("/lib/tls/v7l/fast-mult/libresolv.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/v7l/fast-mult", 0xbe8bb3c0) = -1 ENOENT (No such file or directory) open("/lib/tls/v7l/half/libresolv.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/v7l/half", 0xbe8bb3c0) = -1 ENOENT (No such file or directory) open("/lib/tls/v7l/libresolv.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/v7l", 0xbe8bb3c0) = -1 ENOENT (No such file or directory) open("/lib/tls/fast-mult/half/libresolv.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/fast-mult/half", 0xbe8bb3c0) = -1 ENOENT (No such file or directory) open("/lib/tls/fast-mult/libresolv.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/fast-mult", 0xbe8bb3c0) = -1 ENOENT (No such file or directory) open("/lib/tls/half/libresolv.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/half", 0xbe8bb3c0) = -1 ENOENT (No such file or directory) open("/lib/tls/libresolv.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls", 0xbe8bb3c0) = -1 ENOENT (No such file or directory) open("/lib/v7l/fast-mult/half/libresolv.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/v7l/fast-mult/half", 0xbe8bb3c0) = -1 ENOENT (No such file or directory) open("/lib/v7l/fast-mult/libresolv.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/v7l/fast-mult", 0xbe8bb3c0) = -1 ENOENT (No such file or directory) open("/lib/v7l/half/libresolv.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/v7l/half", 0xbe8bb3c0) = -1 ENOENT (No such file or directory) open("/lib/v7l/libresolv.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/v7l", 0xbe8bb3c0) = -1 ENOENT (No such file or directory) open("/lib/fast-mult/half/libresolv.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/fast-mult/half", 0xbe8bb3c0) = -1 ENOENT (No such file or directory) open("/lib/fast-mult/libresolv.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/fast-mult", 0xbe8bb3c0) = -1 ENOENT (No such file or directory) open("/lib/half/libresolv.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/half", 0xbe8bb3c0) = -1 ENOENT (No such file or directory) open("/lib/libresolv.so.2", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\234 \0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=67624, ...}) = 0 mmap2(NULL, 108588, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x40164000 mprotect(0x40174000, 28672, PROT_NONE) = 0 mmap2(0x4017b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf) = 0x4017b000 mmap2(0x4017d000, 6188, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4017d000 close(3) = 0 open("/lib/libdl.so.2", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0l\n\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=18080, ...}) = 0 mmap2(NULL, 49364, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x400b2000 mprotect(0x400b6000, 28672, PROT_NONE) = 0 mmap2(0x400bd000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3) = 0x400bd000 close(3) = 0 open("/lib/libgcc_s.so.1", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0x'\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=70650, ...}) = 0 mmap2(NULL, 79984, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x400d1000 mprotect(0x400dd000, 28672, PROT_NONE) = 0 mmap2(0x400e4000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xb) = 0x400e4000 close(3) = 0 open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\240Q\1\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1181160, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x400c2000 mmap2(NULL, 1217096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4017f000 mprotect(0x4029c000, 28672, PROT_NONE) = 0 mmap2(0x402a3000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11c) = 0x402a3000 mmap2(0x402a6000, 8776, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x402a6000 close(3) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x400e5000 set_tls(0x400e54a0, 0x400e5b70, 0x4002867c, 0x400e5b78, 0x40028050) = 0 mprotect(0x402a3000, 8192, PROT_READ) = 0 mprotect(0x400bd000, 4096, PROT_READ) = 0 mprotect(0x4017b000, 4096, PROT_READ) = 0 mprotect(0x40027000, 4096, PROT_READ) = 0 socket(PF_NETLINK, SOCK_RAW, 0) = 3 setsockopt(3, SOL_SOCKET, SO_SNDBUF, [32768], 4) = 0 setsockopt(3, SOL_SOCKET, SO_RCVBUF, [1048576], 4) = 0 bind(3, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0 getsockname(3, {sa_family=AF_NETLINK, pid=1274, groups=00000000}, [12]) = 0 gettimeofday({1356950670, 688093}, NULL) = 0 send(3, " \0\0\0\20\0\5\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 32, 0) = 32 recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"4\0\0\0\2\0\0\0\0\0\0\0\372\4\0\0\355\377\377\377 \0\0\0\20\0\5\0\0\0\0\0"..., 8192}], msg_controllen=0, msg_flags=0}, 0) = 52 send(3, "\24\0\0\0\22\0\1\3\217l\341P\0\0\0\0\0\0\0\0", 20, 0) = 20 recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\254\1\0\0\20\0\2\0\217l\341P\372\4\0\0\0\0\4\3\1\0\0\0I\0\1\0\0\0\0\0"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 2664 brk(0) = 0x44000 brk(0x65000) = 0x65000 recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\24\0\0\0\3\0\2\0\217l\341P\372\4\0\0\0\0\0\0\1\0\0\0I\0\1\0\0\0\0\0"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 20 open("/usr/lib//ip/link_bridge.so", O_RDONLY) = -1 ENOENT (No such file or directory) sendmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"8\0\0\0\20\0\5\6\220l\341P\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 56}], msg_controllen=0, msg_flags=0}, 0) = 56 recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"L\0\0\0\2\0\0\0\220l\341P\372\4\0\0\241\377\377\3778\0\0\0\20\0\5\6\220l\341P"..., 16384}], msg_controllen=0, msg_flags=0}, 0) = 76 dup(2) = 4 fcntl64(4, F_GETFL) = 0x20002 (flags O_RDWR|O_LARGEFILE) fstat64(4, {st_mode=S_IFCHR|0600, st_rdev=makedev(252, 0), ...}) = 0 ioctl(4, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B115200 opost isig icanon echo ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4011b000 _llseek(4, 0, 0xbe8b7510, SEEK_CUR) = -1 ESPIPE (Illegal seek) write(4, "RTNETLINK answers: Operation not"..., 43RTNETLINK answers: Operation not supported ) = 43 close(4) = 0 munmap(0x4011b000, 4096) = 0 exit_group(2) = ? root@dm814x-evm:~# Thank you, ran