Hello,

I would like to use a round robin aggregation of 2 (or more) gif(4) interfaces.

For example:
# ifconfig gif0 create
# ifconfig gif0 tunnel 10.16.10.14 10.16.10.12
# ifconfig gif0 10.9.1.1 netmask 255.255.255.255 10.9.2.1
# ifconfig gif0 mtu 1500 up
#
# ifconfig gif1 create
# ifconfig gif1 tunnel 10.16.10.100 10.16.10.12
# ifconfig gif1 10.9.1.2 netmask 255.255.255.255 10.9.2.2
# ifconfig gif1 mtu 1500 up
#
# ifconfig trunk0 trunkport gif0 trunkport gif1 192.168.1.1 netmask 255.255.255.0
ifconfig: SIOCSTRUNKPORT: Protocol not supported

Well, it looks like this functionality isn't implemented yet with gif(4) driver...
Would it be possible to implement it?

I know pf(4) can also do load balancing, but I find this way less intuitive as the resulting interface cannot be monitored as easily as a trunk(4).

Thanks for your help.

Matthias Bertschy

OpenBSD 3.9 on i386 unpatched

# ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33224
       groups: lo
       inet 127.0.0.1 netmask 0xff000000
       inet6 ::1 prefixlen 128
       inet6 fe80::1%lo0 prefixlen 64 scopeid 0x6
xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
       lladdr 00:01:02:1c:c6:7b
       media: Ethernet autoselect (100baseTX full-duplex)
       status: active
       inet 10.16.10.100 netmask 0xffff0000 broadcast 10.16.255.255
       inet6 fe80::201:2ff:fe1c:c67b%xl0 prefixlen 64 scopeid 0x1
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
       lladdr 00:0d:61:3f:37:d1
       groups: egress
       media: Ethernet autoselect (100baseTX full-duplex)
       status: active
       inet6 fe80::20d:61ff:fe3f:37d1%rl0 prefixlen 64 scopeid 0x2
       inet 10.16.10.14 netmask 0xffff0000 broadcast 10.16.10.255
pflog0: flags=0<> mtu 33224
pfsync0: flags=0<> mtu 1460
enc0: flags=0<> mtu 1536
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
       groups: gif
       physical address inet 10.16.10.14 --> 10.16.10.12
       inet6 fe80::201:2ff:fe1c:c67b%gif0 ->  prefixlen 64 scopeid 0x7
       inet 10.9.1.1 --> 10.9.2.1 netmask 0xffffffff
gif1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
       groups: gif
       physical address inet 10.16.10.100 --> 10.16.10.12
       inet6 fe80::201:2ff:fe1c:c67b%gif1 ->  prefixlen 64 scopeid 0x8
       inet 10.9.1.2 --> 10.9.2.2 netmask 0xffffffff
trunk0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
       lladdr 00:00:00:00:00:00
       trunk: trunkproto roundrobin
       groups: trunk
       media: Ethernet autoselect
       status: no carrier

# dmesg
OpenBSD 3.9 (GENERIC) #617: Thu Mar  2 02:26:48 MST 2006
   [EMAIL PROTECTED]:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: AMD Athlon(tm)  ("AuthenticAMD" 686-class, 256KB L2 cache) 1.12 GHz
cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE
cpu0: AMD Powernow: TS
real mem  = 234397696 (228904K)
avail mem = 206905344 (202056K)
using 2886 buffers containing 11821056 bytes (11544K) of memory
mainbus0 (root)
bios0 at mainbus0: AT/286+(a2) BIOS, date 10/01/04, BIOS32 rev. 0 @ 0xfb660
apm0 at bios0: Power Management spec V1.2
apm0: AC on, battery charge unknown
apm0: flags 70102 dobusy 1 doidle 1
pcibios0 at bios0: rev 2.1 @ 0xf0000/0xdda4
pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xfdcd0/208 (11 entries)
pcibios0: PCI Exclusive IRQs: 5 10 11
pcibios0: PCI Interrupt Router at 000:17:0 ("VIA VT82C596A ISA" rev 0x00)
pcibios0: PCI bus #1 is the last bus
bios0: ROM list: 0xc0000/0x7e00 0xc8000/0x800
cpu0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
pchb0 at pci0 dev 0 function 0 "VIA VT8378 PCI" rev 0x00
ppb0 at pci0 dev 1 function 0 "VIA VT8377 PCI-PCI" rev 0x00
pci1 at ppb0 bus 1
vga1 at pci1 dev 0 function 0 "VIA VT8378 VGA" rev 0x01: aperture at 0xd8000000, size 0x10000000
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
xl0 at pci0 dev 9 function 0 "3Com 3c905C 100Base-TX" rev 0x78: irq 10, address 00:01:02:1c:c6:7b
bmtphy0 at xl0 phy 24: Broadcom 3C905C internal PHY, rev. 7
pciide0 at pci0 dev 15 function 0 "VIA VT6420 SATA" rev 0x80: DMA
pciide0: using irq 11 for native-PCI interrupt
pciide1 at pci0 dev 15 function 1 "VIA VT82C571 IDE" rev 0x06: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility
wd0 at pciide1 channel 0 drive 0: <SAMSUNG SP0802N>
wd0: 16-sector PIO, LBA48, 76350MB, 156365903 sectors
atapiscsi0 at pciide1 channel 0 drive 1
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: <TOSHIBA, DVD-ROM SD-M1912, TM00> SCSI0 5/cdrom removable
wd0(pciide1:0:0): using PIO mode 4, DMA mode 2
cd0(pciide1:0:1): using PIO mode 4, DMA mode 2
pciide1: channel 1 disabled (no drives)
uhci0 at pci0 dev 16 function 0 "VIA VT83C572 USB" rev 0x81: irq 5
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: VIA UHCI root hub, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1 at pci0 dev 16 function 1 "VIA VT83C572 USB" rev 0x81: irq 5
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: VIA UHCI root hub, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2 at pci0 dev 16 function 2 "VIA VT83C572 USB" rev 0x81: irq 10
usb2 at uhci2: USB revision 1.0
uhub2 at usb2
uhub2: VIA UHCI root hub, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3 at pci0 dev 16 function 3 "VIA VT83C572 USB" rev 0x81: irq 10
usb3 at uhci3: USB revision 1.0
uhub3 at usb3
uhub3: VIA UHCI root hub, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
ehci0 at pci0 dev 16 function 4 "VIA VT6202 USB" rev 0x86: irq 11
usb4 at ehci0: USB revision 2.0
uhub4 at usb4
uhub4: VIA EHCI root hub, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
viapm0 at pci0 dev 17 function 0 "VIA VT8237 ISA" rev 0x00
iic0 at viapm0
auvia0 at pci0 dev 17 function 5 "VIA VT8233 AC97" rev 0x60: irq 11
ac97: codec id 0x414c4760 (Avance Logic ALC655)
audio0 at auvia0
rl0 at pci0 dev 19 function 0 "Realtek 8139" rev 0x10: irq 11, address 00:0d:61:3f:37:d1
rlphy0 at rl0 phy 0: RTL internal PHY
isa0 at mainbus0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pmsi0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pmsi0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
it0 at isa0 port 0x290/8: IT87
npx0 at isa0 port 0xf0/16: using exception 16
pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
biomask ef65 netmask ef65 ttymask ffe7
pctr: user-level cycle counter enabled
mtrr: Pentium Pro MTRR support
dkcsum: wd0 matches BIOS drive 0x80
root on wd0a
rootdev=0x0 rrootdev=0x300 rawdev=0x302

Reply via email to