BGP Router Hardware Suggestions

2023-06-29 Thread Lyndon Nerenberg (VE7TFX/VE6BBM)
We are about to discover the joys of upstream BGP routing :-P  The
current plan is to use a pair of OpenBSD+bgpd hosts as the routers.

Each host will require 4x10gig ports (SFP+).  One of those links
(to AWS) will be close to saturated, along with the downlink to our
switches.  The other two will only need to carry ~1Gb/s of traffic.

We are pretty much a Supermicro shop, and I'm wondering if anyone
out there is running a similar setup on SM hardware.  My main concern
is finding NICs that will let us squeeze every last drop of bandwidth
on the 10gig links.

I did run some brief ttcp tests on a pair of SM 1Us (don't have the
model number handy, maybe 5018-FTN4s?) with add-in Intel cards
(550s?) and was able to get 700 MBytes/s of throughput.  This would
have been circa the 6.7 or 6.8 releases.

I'm hoping to get >70% of the theoretical bandwidth out of the new
hardware, and my gut says it's the NIC that's constraining us.

So, I'd be interested in hearing from anyone running a similar
setup, or who has benchmarked any of the current crop of 10gig NICs
and has good/bad things to say about specific models.

Thanks,

--lyndon



Re: OpenBSD 7.3 ixl SIOCSIFMEDIA: Operation not supported

2023-06-29 Thread Zack Newman

On 6/29/23 16:34, Rachel Roch wrote:

Looking at some of the release notes staying on newer firmware would
obviously be more preferable, but I'll keep downgrading as a
last-resort if the other side of the link can't turn on autoneg.


If you end up downgrading, I would be interested in knowing the version
you settle on. I may end up downgrading myself because I would like to
set the media value and options if I could.



Re: OpenBSD 7.3 ixl SIOCSIFMEDIA: Operation not supported

2023-06-29 Thread Rachel Roch




29 Jun 2023, 15:58 by z...@philomathiclife.com:

> Just checked again, and my memory did not betray me: I am unable to set
> the media let alone media options. It is likely the API being too new.
> ixl(4) does state that one should flash their card with "the most recent
> (stable) firmware", but it appears this firmware is too new. You can
> try progressively downgrading your firmware to the newest version that
> does have a working API:
>
> https://www.intel.com/content/www/us/en/download/683939/nvm-downgrade-packages-for-intel-ethernet-adapters-700-series.html
>

Thanks Zack.

Looking at some of the release notes staying on newer firmware would obviously 
be more preferable, but I'll keep downgrading as a last-resort if the other 
side of the link can't turn on autoneg.



Re: OpenBSD 7.3 ixl SIOCSIFMEDIA: Operation not supported

2023-06-29 Thread Zack Newman

Just checked again, and my memory did not betray me: I am unable to set
the media let alone media options. It is likely the API being too new.
ixl(4) does state that one should flash their card with "the most recent
(stable) firmware", but it appears this firmware is too new. You can
try progressively downgrading your firmware to the newest version that
does have a working API:

https://www.intel.com/content/www/us/en/download/683939/nvm-downgrade-packages-for-intel-ethernet-adapters-700-series.html



Re: relayd: pfe_route: failed to add gateway 22 Invalid argument

2023-06-29 Thread Claudio Jeker
On Thu, Jun 29, 2023 at 09:34:10AM +0200, Jörg Streckfuß wrote:
> Hi Claudio,
> 
> Am 29.06.23 um 09:01 schrieb Claudio Jeker:
> > On Thu, Jun 29, 2023 at 08:53:05AM +0200, Jörg Streckfuß wrote:
> > > 
> > > Hi list,
> > > 
> > > here is a small addition. Adding and deleting the route to and from 
> > > routing
> > > table on the command line works as expected:
> > > 
> > > fw1 # route add 2001:::::4/128 2001:::::4 -label
> > > geo_service
> > > add host 2001:::::4/128: gateway 2001:::::4
> > > 
> > > fw# route -n show -inet6 | grep 2001:::::4
> > > 2001:::::4  52:01:8d:e4:fd:63  UHLch
> > > 123015 - 3 vlan18
> > > 2001:::::4  2001:::::4  UGHS
> > > 00 - 8 vlan18
> > > 
> > > fw1 # route del 2001:::::4/128 2001:::::4 -label
> > > geo_service
> > > del host 2001:::::4/128: gateway 2001:::::4
> > > 
> > > fw1# route -n show -inet6 | grep 2001:::::4
> > > 
> > > 2001:638:dfce:3000::4  52:01:8d:e4:fd:63  UHLc
> > >  0
> > > 23015 - 3 vlan18
> > > 
> > > 
> > > Why can't relayd add the route to the table and what does the following 
> > > log
> > > concretely mean:
> > > 
> > > 
> > > pfe_route: failed to add gateway 2001:638:dfce:3000::4: 22 Invalid 
> > > argument
> > > 
> > > 
> > 
> > Run route -n monitor will give you more insights at what is sent to the
> > kernel. At least unless the route message is so mangled that the kernel
> > fails to parse it.
> 
> This is interesting. I ran route -n monitor and run relayd but it says
> nothing. No output at all.
 
Ugh, relayd pfe_route is utterly broken for IPv6. That code never worked,
the encoded message is not properly aligned because struct sockaddr_in6
does not align to a long word boundary.

This function requires a rewrite.
-- 
:wq Claudio



Re: relayd: pfe_route: failed to add gateway 22 Invalid argument

2023-06-29 Thread Jörg Streckfuß

Hi Claudio,

Am 29.06.23 um 09:01 schrieb Claudio Jeker:

On Thu, Jun 29, 2023 at 08:53:05AM +0200, Jörg Streckfuß wrote:


Hi list,

here is a small addition. Adding and deleting the route to and from routing
table on the command line works as expected:

fw1 # route add 2001:::::4/128 2001:::::4 -label
geo_service
add host 2001:::::4/128: gateway 2001:::::4

fw# route -n show -inet6 | grep 2001:::::4
2001:::::4  52:01:8d:e4:fd:63  UHLch
123015 - 3 vlan18
2001:::::4  2001:::::4  UGHS
00 - 8 vlan18

fw1 # route del 2001:::::4/128 2001:::::4 -label
geo_service
del host 2001:::::4/128: gateway 2001:::::4

fw1# route -n show -inet6 | grep 2001:::::4

2001:638:dfce:3000::4  52:01:8d:e4:fd:63  UHLc 0
23015 - 3 vlan18


Why can't relayd add the route to the table and what does the following log
concretely mean:


pfe_route: failed to add gateway 2001:638:dfce:3000::4: 22 Invalid argument




Run route -n monitor will give you more insights at what is sent to the
kernel. At least unless the route message is so mangled that the kernel
fails to parse it.


This is interesting. I ran route -n monitor and run relayd but it says 
nothing. No output at all.



Also  all IPs does not help to understand what is going on.


I will rebuild my setup to 2001:db adresses so I can post the full ipv6 
address. Sorry this is because of a company policy.



Why do you add /128 route with the same IP as the gateway? That just makes
no sense.


The idea is to check the availability of a service and announce the ip 
address to a bgp peer only if the service is up. I know it looks weird 
but for ipv4 it works. My naive assumption was to simply adopt it to IPv6.


Is there a more elegant way to do this?

Regards Joerg



Re: OpenBSD 7.3 ixl SIOCSIFMEDIA: Operation not supported

2023-06-29 Thread Rachel Roch




29 Jun 2023, 07:26 by stu.li...@spacehopper.org:

> On 2023-06-28, Rachel Roch  wrote:
>
>> Sadly the other side of the link is beyond my control, different company.  
>> I'll certainly ask if they can turn on autonegotiation.
>>
>
> autonegotiation isn't really a thing with fibre.
>
> "media autoselect" (i.e. the default) on fibre nics on OpenBSD isn't the
> same thing as autonegotiation on copper. if you already get link, there
> is probably no more to be done on your side.
>

Except the problem here is I'm not getting link ("status: no carrier").  
Physical cabling is confirmed and light presence has been confirmed 
independently on both sides.  Which is why my mind was wandering towards 
autonegotiation.

>
> not being able to force media might prevent talking at 1G with a 10G
> SFP+, but that's usually easiest solved by using a 1G SFP in the SFP+
> slot instead.
>
> accessing stats from DOM (ifconfig ixl sff) probably requires chasing
> API changes in the NIC firmware - those are running much newer firmware
> than my working ixl(4) cards:
>
> ixl3 at pci1 dev 0 function 3 "Intel X710 SFP+" rev 0x02: port 1, FW 
> 6.80.48603 API 1.7, msix, 2 queues, address f8:f2:1e:...
>
I see, thanks.



Re: relayd: pfe_route: failed to add gateway 22 Invalid argument

2023-06-29 Thread Claudio Jeker
On Thu, Jun 29, 2023 at 08:53:05AM +0200, Jörg Streckfuß wrote:
> 
> Hi list,
> 
> here is a small addition. Adding and deleting the route to and from routing
> table on the command line works as expected:
> 
> fw1 # route add 2001:::::4/128 2001:::::4 -label
> geo_service
> add host 2001:::::4/128: gateway 2001:::::4
> 
> fw# route -n show -inet6 | grep 2001:::::4
> 2001:::::4  52:01:8d:e4:fd:63  UHLch
> 123015 - 3 vlan18
> 2001:::::4  2001:::::4  UGHS
> 00 - 8 vlan18
> 
> fw1 # route del 2001:::::4/128 2001:::::4 -label
> geo_service
> del host 2001:::::4/128: gateway 2001:::::4
> 
> fw1# route -n show -inet6 | grep 2001:::::4
> 
> 2001:638:dfce:3000::4  52:01:8d:e4:fd:63  UHLc 0
> 23015 - 3 vlan18
> 
> 
> Why can't relayd add the route to the table and what does the following log
> concretely mean:
> 
> 
> pfe_route: failed to add gateway 2001:638:dfce:3000::4: 22 Invalid argument
> 
> 

Run route -n monitor will give you more insights at what is sent to the
kernel. At least unless the route message is so mangled that the kernel
fails to parse it.

Also  all IPs does not help to understand what is going on.
Why do you add /128 route with the same IP as the gateway? That just makes
no sense.

-- 
:wq Claudio



Re: relayd: pfe_route: failed to add gateway 22 Invalid argument

2023-06-29 Thread Jörg Streckfuß



Hi list,

here is a small addition. Adding and deleting the route to and from 
routing table on the command line works as expected:


fw1 # route add 2001:::::4/128 2001:::::4 -label 
geo_service

add host 2001:::::4/128: gateway 2001:::::4

fw# route -n show -inet6 | grep 2001:::::4
2001:::::4  52:01:8d:e4:fd:63  UHLch 
 123015 - 3 vlan18
2001:::::4  2001:::::4  UGHS 
  00 - 8 vlan18


fw1 # route del 2001:::::4/128 2001:::::4 -label 
geo_service

del host 2001:::::4/128: gateway 2001:::::4

fw1# route -n show -inet6 | grep 2001:::::4 

2001:638:dfce:3000::4  52:01:8d:e4:fd:63  UHLc 
023015 - 3 vlan18



Why can't relayd add the route to the table and what does the following 
log concretely mean:



pfe_route: failed to add gateway 2001:638:dfce:3000::4: 22 Invalid argument



Am 28.06.23 um 16:57 schrieb Joerg Streckfuss:

Hello,

I'm trying to use the relayd router function to add host routes to the 
routing table with a route label for further processing by bgpd. The 
host ist directly connected to the firewall.


relayd.conf:

table  { 2001:::::4 }
router "service_v6" {
   route 2001:::::4/128
   forward to  port 80 check tcp
   rtlabel geo_service
}

fw1# relayd -vvvd
startup
socket_rlimit: max open files 1024
pfe: filter init done
socket_rlimit: max open files 1024
socket_rlimit: max open files 1024
socket_rlimit: max open files 1024
parent_tls_ticket_rekey: rekeying tickets
hce_notify_done: 2001:::::4 (tcp connect ok)
host 2001:::::4, check tcp (0ms,tcp connect ok), state 
unknown -> up, availability 100.00%

pfe_dispatch_hce: state 1 for host 1 2001:::::4
sync_routes: router service_v6 route 2001:::::4/128 gateway 
2001:::::4 up priority 0

hce_notify_done: 2001:::::4 (tcp connect ok)
pfe_route: failed to add gateway 2001:::::4: 22 Invalid 
argument

hce_notify_done: 2001:::::4 (tcp connect ok)
hce_notify_done: 2001:::::4 (tcp connect ok)
hce_notify_done: 2001:::::4 (tcp connect ok)


The route with the route label never pops up in the routing table. With 
IPv4 addresses the setup works as expected.


Any suggestions?





Re: OpenBSD 7.3 ixl SIOCSIFMEDIA: Operation not supported

2023-06-29 Thread Stuart Henderson
On 2023-06-28, Rachel Roch  wrote:
> Sadly the other side of the link is beyond my control, different company.  
> I'll certainly ask if they can turn on autonegotiation.

autonegotiation isn't really a thing with fibre.

"media autoselect" (i.e. the default) on fibre nics on OpenBSD isn't the
same thing as autonegotiation on copper. if you already get link, there
is probably no more to be done on your side.

not being able to force media might prevent talking at 1G with a 10G
SFP+, but that's usually easiest solved by using a 1G SFP in the SFP+
slot instead.

accessing stats from DOM (ifconfig ixl sff) probably requires chasing
API changes in the NIC firmware - those are running much newer firmware
than my working ixl(4) cards:

ixl3 at pci1 dev 0 function 3 "Intel X710 SFP+" rev 0x02: port 1, FW 6.80.48603 
API 1.7, msix, 2 queues, address f8:f2:1e:...