Re: ospf6d problem when a route already exists with a different nexthop
(ibuf)) == -1) @@ -444,7 +444,9 @@ switch (imsg.hdr.type) { case IMSG_KROUTE_CHANGE: - if (kr_change(imsg.data)) + count = (imsg.hdr.len - IMSG_HEADER_SIZE) / + sizeof(struct kroute); + if (kr_change(imsg.data,count)) log_warn(main_dispatch_rde: error changing route); break; diff -u ospf6d.uptodate/ospf6d.h ospf6d.patch1/ospf6d.h --- ospf6d.uptodate/ospf6d.hThu Sep 20 15:25:33 2012 +++ ospf6d.patch1/ospf6d.h Thu Sep 20 22:27:10 2012 @@ -526,7 +526,7 @@ /* kroute.c */ int kr_init(int); -int kr_change(struct kroute *); +int kr_change(struct kroute *, int); int kr_delete(struct kroute *); voidkr_shutdown(void); voidkr_fib_couple(void); diff -u ospf6d.uptodate/rde.c ospf6d.patch1/rde.c --- ospf6d.uptodate/rde.c Thu Sep 20 15:25:33 2012 +++ ospf6d.patch1/rde.c Thu Sep 27 17:51:59 2012 @@ -869,28 +869,36 @@ void rde_send_change_kroute(struct rt_node *r) { + int krcount = 0; struct kroutekr; struct rt_nexthop *rn; + struct ibuf *wbuf; - TAILQ_FOREACH(rn, r-nexthop, entry) { - if (!rn-invalid) - break; + if ((wbuf = imsg_create(iev_main-ibuf, IMSG_KROUTE_CHANGE, 0, 0, + sizeof(kr))) == NULL) { + return; } - if (!rn) - fatalx(rde_send_change_kroute: no valid nexthop found); - bzero(kr, sizeof(kr)); - kr.prefix = r-prefix; - kr.nexthop = rn-nexthop; - if (IN6_IS_ADDR_LINKLOCAL(rn-nexthop) || - IN6_IS_ADDR_MC_LINKLOCAL(rn-nexthop)) - kr.scope = rn-ifindex; - kr.ifindex = rn-ifindex; - kr.prefixlen = r-prefixlen; - kr.ext_tag = r-ext_tag; + TAILQ_FOREACH(rn, r-nexthop, entry) { + if (rn-invalid) + continue; + krcount++; - imsg_compose_event(iev_main, IMSG_KROUTE_CHANGE, 0, 0, -1, - kr, sizeof(kr)); + bzero(kr, sizeof(kr)); + kr.prefix = r-prefix; + kr.nexthop = rn-nexthop; + if (IN6_IS_ADDR_LINKLOCAL(rn-nexthop) || + IN6_IS_ADDR_MC_LINKLOCAL(rn-nexthop)) + kr.scope = rn-ifindex; + kr.ifindex = rn-ifindex; + kr.prefixlen = r-prefixlen; + kr.ext_tag = r-ext_tag; + imsg_add(wbuf, kr, sizeof(kr)); + } + if (krcount == 0) + fatalx(rde_send_change_kroute: no valid nexthop found); + imsg_close(iev_main-ibuf, wbuf); + imsg_event_add(iev_main); } void On Thu, 27 Sep 2012 19:09:58 +0200 Manuel Guesdon ml+openbsd.m...@oxymium.net wrote: | On Thu, 20 Sep 2012 18:00:26 +0200 | Claudio Jeker cje...@diehard.n-r-g.com wrote: | | | On Thu, Sep 20, 2012 at 05:19:53PM +0200, Manuel Guesdon wrote: | | Hi, | | | | After checking cvs tree, it seems that ospf6d isn't following changes done in | | ospfd. | | | | Is someone working on updating ospf6d to add changes done in ospfd ? (or may | | be it's not the best way to do ?). | | | | If it's a good idea to do it, I can try. Do you have some advice ? Should I | | try to apply a big diff between ospfd initial (i.e. 2007 version) and current | | state ? Or is there a way to retrieve each patch made to ospfd between 2007 | | and now ? | | | | A last question: ospf6d initial version was created by copying and modifying | | ospfd files; I presume it was done this way instead of having same code with | | #ifdef mecanism for good reasons. After 5 years of evolution, does these | | reasons still appear beoing valid (I just ask, I haven't sufficient knowledge | | to give an answer). | | | | | | OSPFv2 and OSPFv3 are similar but still to different to have a common | | source. We try to sync parts between the two daemons from time to time but | | in some parts the behaviour is to different so that syncing is almost | | impossible. | | OK. | | | I may sound like a broken record but we accept diffs. So if you think | | there are commits in ospfd that need to be synced over we will have a look | | at them. | | Here is a patch adapted from ospfd patch of Tue Sep 25 11:25:41 2007 | UTC (the one of version 1.52 of kroute.c): | | Last missing piece in the equal cost multipath support for ospfd. | Send all possible nexthops to the parent process and correctly sync | the RIB, FIB and kernel routing table. Based on initial work by pyr@. | OK pyr@ norby@ | PS: don't forget that you need to enable multipath support via a sysctl | | | It seems to solve my problem but not perfectly. | When starting ospf6d with the best link between 2 hosts down, fib
interfaces disappear when doing ospf6ctl reload
When running ospf6ctl reload, all interfaces disappear. It seems to come from IMSG_RECONF_IFACE message removal in rde.c v1.10 and ospf6d v1.8. Is another mechanism planned or should we re-add this IMSG_RECONF_IFACE message ? Manuel -- __ Manuel Guesdon - OXYMIUM
Re: ospf6d problem when a route already exists with a different nexthop
On Thu, 20 Sep 2012 18:00:26 +0200 Claudio Jeker cje...@diehard.n-r-g.com wrote: | On Thu, Sep 20, 2012 at 05:19:53PM +0200, Manuel Guesdon wrote: | Hi, | | After checking cvs tree, it seems that ospf6d isn't following changes done in | ospfd. | | Is someone working on updating ospf6d to add changes done in ospfd ? (or may | be it's not the best way to do ?). | | If it's a good idea to do it, I can try. Do you have some advice ? Should I | try to apply a big diff between ospfd initial (i.e. 2007 version) and current | state ? Or is there a way to retrieve each patch made to ospfd between 2007 | and now ? | | A last question: ospf6d initial version was created by copying and modifying | ospfd files; I presume it was done this way instead of having same code with | #ifdef mecanism for good reasons. After 5 years of evolution, does these | reasons still appear beoing valid (I just ask, I haven't sufficient knowledge | to give an answer). | | | OSPFv2 and OSPFv3 are similar but still to different to have a common | source. We try to sync parts between the two daemons from time to time but | in some parts the behaviour is to different so that syncing is almost | impossible. OK. | I may sound like a broken record but we accept diffs. So if you think | there are commits in ospfd that need to be synced over we will have a look | at them. Here is a patch adapted from ospfd patch of Tue Sep 25 11:25:41 2007 UTC (the one of version 1.52 of kroute.c): Last missing piece in the equal cost multipath support for ospfd. Send all possible nexthops to the parent process and correctly sync the RIB, FIB and kernel routing table. Based on initial work by pyr@. OK pyr@ norby@ PS: don't forget that you need to enable multipath support via a sysctl It seems to solve my problem but not perfectly. When starting ospf6d with the best link between 2 hosts down, fib contains 2 other routes comme from 2 other hosts (these 2 routes have equal cost). When the link came UP, these 2 routes are removed and replaced by the best route; that's alright. Next when the link goes down, the 2 alternative routes are well added in fib but the precedent best route is still in the fib (I see it with route -n -v show |grep TargetIP). May be an important point: TargetIP is an IPv6 on lo1. I can't find why; if you have any idea... I have a test network so I can make test easily... Manuel -- Cordialement, Manuel Guesdon -- __ Manuel Guesdon - OXYMIUM [demime 1.01d removed an attachment of type application/octet-stream which had a name of ospf6d-patch1]
Re: ospf6d problem when a route already exists with a different nexthop
Hi, After checking cvs tree, it seems that ospf6d isn't following changes done in ospfd. Is someone working on updating ospf6d to add changes done in ospfd ? (or may be it's not the best way to do ?). If it's a good idea to do it, I can try. Do you have some advice ? Should I try to apply a big diff between ospfd initial (i.e. 2007 version) and current state ? Or is there a way to retrieve each patch made to ospfd between 2007 and now ? A last question: ospf6d initial version was created by copying and modifying ospfd files; I presume it was done this way instead of having same code with #ifdef mecanism for good reasons. After 5 years of evolution, does these reasons still appear beoing valid (I just ask, I haven't sufficient knowledge to give an answer). Manuel On Sun, 9 Sep 2012 17:14:42 +0200 Manuel Guesdon ml+openbsd.m...@oxymium.net wrote: | Hi, | | When an ospf route already exists, ospf6d doesn't update the nexthop. | I have 6 routers (4 with openbsd 5.0, 2 with openbsd 4.9) running ospfd, | ospf6d and bgpd, routeur id is on lo1. | | For some reason (see at end for a way to reproduce it), one of the router | (openbsd 5.0 one) have multiple ospf ipv6 routes still in fib (even if no more | ospf6d or bgpd process is running). For exemple: | | root@core3: route -n get -inet6 :::a |route to: :::a | destination: :::a | gateway: fe80::5054:60ff:fe60:3a1%vlan216 | interface: vlan216 | if address: fe80::5054:60ff:fe60:348%vlan216 |priority: 32 (ospf) | flags: UP,GATEWAY,HOST,DONE | use mtuexpire | 4200 0 0 | | :::a is the loopback address of another router (the gateway is | obviously wrong as I've killed ospf6d and bgpd on the referenced host). | | when starting ospf6d, a new route for :::a is found but ospf6d | find the previous one and don't change the nexthop. And when killing | ospf6d it doesn't remove it. | | If I route delete -inet6 -host :::a | fe80::5054:60ff:fe60:3a1%vlan216, and restart ospf6d the problem disappear. | | I've took a look at ospf6d/kroute.c and found this route is processed like | that: | | kr_change(struct kroute *kroute) | { | struct kroute_node *kr; | int action = RTM_ADD; | | kroute-rtlabel = rtlabel_tag2id(kroute-ext_tag); | | if ((kr = kroute_find(kroute-prefix, kroute-prefixlen)) != | NULL) { | === goes here | | if (!(kr-r.flags F_KERNEL)) | action = RTM_CHANGE; | else { /* a non-ospf route already exists. not a problem */ | === goes here | if (!(kr-r.flags F_BGPD_INSERTED)) { | === goes here | do { | kr-r.flags |= F_OSPFD_INSERTED; | kr = kr-next; | } while (kr); | === exit (nexthop is unchanged) | return (0); | } | | | | This problem occurs when the prefix is announced by different | ospf peers with a different nexthop. Exemple: | | When starting ospf6d a first route is added learned from one ospf6d peer: | | root@core3: route -n get -inet6 :::8 |route to: :::8 | destination: :::8 | gateway: fe80::5054:60ff:fe60:365%vlan222 | interface: vlan222 | if address: fe80::5054:60ff:fe60:345%vlan222 |priority: 32 (ospf) | flags: UP,GATEWAY,HOST,DONE | use mtuexpire |0 0 0 | | Next a second route is learned (gateway on fe80::5054:60ff:fe60:321%vlan213 | which is the most direct route) but ospf6d doesn't update it. | | Here some traces I've added in ospf6d: | MG kr_change: prefix :::8/128 | MG send_rtmsg1: action 1, prefix :::8/128 | MG send_rtmsg2: action 1, nexthop: fe80::5054:60ff:fe60:365 | ... | MG kr_change: prefix :::8/128 | MG kr_change2: found prefix :::8/128 | MG kr_change: prefix :::8/128 !FKERNEL | MG send_rtmsg1: action 3, prefix :::8/128 | MG send_rtmsg2: action 3, nexthop: fe80::5054:60ff:fe60:321 | send_rtmsg: action 1, prefix :::8/128: File exists | | | After killing ospf6d, (first/bad) route is still here: | root@core3:usr.sbin$ route -n get -inet6 :::8 |route to: :::8 | destination: :::8 | gateway: fe80::5054:60ff:fe60:365%vlan222 | interface: vlan222 | if address: fe80::5054:60ff:fe60:345%vlan222 |priority: 32 (ospf) | flags: UP,GATEWAY,HOST,DONE | use mtuexpire | 28 0 0 | | I've retried multiple times and when the 1st learned route is the good one | (via vlan213) the route is well deleted when killing ospf6d. | | | I've tried to compare with ospfd and found that the following chnage seems to | handle nexthop change case: | http://www.openbsd.org/cgi-bin/cvsweb
ospf6d problem when a route already exists with a different nexthop
Hi, When an ospf route already exists, ospf6d doesn't update the nexthop. I have 6 routers (4 with openbsd 5.0, 2 with openbsd 4.9) running ospfd, ospf6d and bgpd, routeur id is on lo1. For some reason (see at end for a way to reproduce it), one of the router (openbsd 5.0 one) have multiple ospf ipv6 routes still in fib (even if no more ospf6d or bgpd process is running). For exemple: root@core3: route -n get -inet6 :::a route to: :::a destination: :::a gateway: fe80::5054:60ff:fe60:3a1%vlan216 interface: vlan216 if address: fe80::5054:60ff:fe60:348%vlan216 priority: 32 (ospf) flags: UP,GATEWAY,HOST,DONE use mtuexpire 4200 0 0 :::a is the loopback address of another router (the gateway is obviously wrong as I've killed ospf6d and bgpd on the referenced host). when starting ospf6d, a new route for :::a is found but ospf6d find the previous one and don't change the nexthop. And when killing ospf6d it doesn't remove it. If I route delete -inet6 -host :::a fe80::5054:60ff:fe60:3a1%vlan216, and restart ospf6d the problem disappear. I've took a look at ospf6d/kroute.c and found this route is processed like that: kr_change(struct kroute *kroute) { struct kroute_node *kr; int action = RTM_ADD; kroute-rtlabel = rtlabel_tag2id(kroute-ext_tag); if ((kr = kroute_find(kroute-prefix, kroute-prefixlen)) != NULL) { === goes here if (!(kr-r.flags F_KERNEL)) action = RTM_CHANGE; else { /* a non-ospf route already exists. not a problem */ === goes here if (!(kr-r.flags F_BGPD_INSERTED)) { === goes here do { kr-r.flags |= F_OSPFD_INSERTED; kr = kr-next; } while (kr); === exit (nexthop is unchanged) return (0); } This problem occurs when the prefix is announced by different ospf peers with a different nexthop. Exemple: When starting ospf6d a first route is added learned from one ospf6d peer: root@core3: route -n get -inet6 :::8 route to: :::8 destination: :::8 gateway: fe80::5054:60ff:fe60:365%vlan222 interface: vlan222 if address: fe80::5054:60ff:fe60:345%vlan222 priority: 32 (ospf) flags: UP,GATEWAY,HOST,DONE use mtuexpire 0 0 0 Next a second route is learned (gateway on fe80::5054:60ff:fe60:321%vlan213 which is the most direct route) but ospf6d doesn't update it. Here some traces I've added in ospf6d: MG kr_change: prefix :::8/128 MG send_rtmsg1: action 1, prefix :::8/128 MG send_rtmsg2: action 1, nexthop: fe80::5054:60ff:fe60:365 ... MG kr_change: prefix :::8/128 MG kr_change2: found prefix :::8/128 MG kr_change: prefix :::8/128 !FKERNEL MG send_rtmsg1: action 3, prefix :::8/128 MG send_rtmsg2: action 3, nexthop: fe80::5054:60ff:fe60:321 send_rtmsg: action 1, prefix :::8/128: File exists After killing ospf6d, (first/bad) route is still here: root@core3:usr.sbin$ route -n get -inet6 :::8 route to: :::8 destination: :::8 gateway: fe80::5054:60ff:fe60:365%vlan222 interface: vlan222 if address: fe80::5054:60ff:fe60:345%vlan222 priority: 32 (ospf) flags: UP,GATEWAY,HOST,DONE use mtuexpire 28 0 0 I've retried multiple times and when the 1st learned route is the good one (via vlan213) the route is well deleted when killing ospf6d. I've tried to compare with ospfd and found that the following chnage seems to handle nexthop change case: http://www.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/ospfd/kroute.c.diff?r1=1.52;r2=1.53;f=h May be common changes in ospfd weren't ported to ospf6d ? Manuel
problems on ldpd with multiple links between 2 hosts
Hi, I've made some tests on ldpd and found some problems/strange things with the following configuration: 2 hosts (v 5.0) - core3 (loopback 10.0.0.7) - core1 (loopback 10.0.0.9) 2 links between these 2 hosts: - vlan211 (on em9) core3 IP: 10.0.0.125 core1 IP: 10.0.0.126 - vlan212 (on em5) core3 IP: 10.0.0.121 core1 IP: 10.0.0.122 I've keeped only interesting part in command results (there some other ospf neighbors and interfaces). Sorry for this long post, I wanted to reproduce a problem I've got one time but failed to get it again (see a the end of this email). ospf is running on both hosts: core3: ID Pri StateDeadTime Address Iface Uptime 10.0.0.91 FULL/DR 00:00:34 10.0.0.122 vlan212 00:24:38 10.0.0.91 FULL/DR 00:00:34 10.0.0.126 vlan211 00:23:27 core1: ID Pri StateDeadTime Address Iface Uptime 10.0.0.71 FULL/BCKUP 00:00:31 10.0.0.121 vlan212 00:24:50 10.0.0.71 FULL/BCKUP 00:00:31 10.0.0.125 vlan211 00:23:40 ldpd.conf on core3: router-id 10.0.0.7 distribution independent retention liberal advertisement unsolicited interface vlan212 interface vlan211 same on core1 except that router-id is 10.0.0.9 I start ldpd on 2 hosts: core3 logs: Sep 8 14:04:59 core3 ldpd[5529]: startup Sep 8 14:05:00 core3 ldpd[5529]: mpath route not found Sep 8 14:05:05 core3 ldpd[30289]: Connection attempt from unknown neighbor 10.0.0.126: NO HELLO core1 logs: Sep 8 14:04:54 core1 ldpd[8601]: startup Sep 8 14:04:55 core1 ldpd[17310]: received notification from neighbor 10.0.0.7: Session Rejected, No Hello ldpd seems confused by notification received from same host on different links. root@core3:etc$ ldpctl sh nei ID State Address Iface Uptime 10.0.0.9OPERATIONAL/ACTIVE 10.0.0.126 vlan211 00:00:09 root@core1:etc$ ldpctl sh nei ID State Address Iface Uptime 10.0.0.7OPERATIONAL/ACTIVE 10.0.0.125 vlan211 00:00:13 === First problem: only routes from one interface are tagged: root@core1:etc$ ldpctl sh l Destination Nexthop Local LabelRemote Label In Use 10.200.0.176/29 10.0.0.12156 33 yes 10.200.0.176/29 10.0.0.12556 Untagged yes 10.100.0.0/24 10.0.0.12162 39 yes 10.100.0.0/24 10.0.0.12562 Untagged yes Tagged interface correspond to interface in fib: root@core1:etc$ route -n get 10.100.0.1 route to: 10.100.0.1 destination: 10.100.0.0 mask: 255.255.255.0 gateway: 10.0.0.121 interface: vlan212 if address: 10.0.0.122 mpls label: PUSH 39 priority: 32 (ospf) flags: UP,GATEWAY,DONE,MPATH,MPLS use mtuexpire 72 0 0 Now I shutdown vlan211 on core1 with ifconfig vlan211 down No logs on core3 on core1: Sep 8 14:15:03 core1 ldpd[17310]: interface vlan211 down Sep 8 14:15:03 core1 ospfd[23127]: send_packet: error sending packet on interface vlan211: Network is down Sep 8 14:15:03 core1 ospfd[23127]: interface vlan211 down Sep 8 14:15:07 core1 ldpd[17310]: send_packet: error sending packet on interface vlan211: Network is down root@core3:etc$ ospfctl sh nei ID Pri StateDeadTime Address Iface Uptime 10.0.0.91 FULL/DR 00:00:36 10.0.0.122 vlan212 00:37:17 10.0.0.91 DOWN/OTHER 00:00:54 10.0.0.126 vlan211 - root@core1:etc$ ospfctl sh nei ID Pri StateDeadTime Address Iface Uptime 10.0.0.71 FULL/BCKUP 00:00:33 10.0.0.121 vlan212 00:37:08 10.0.0.71 DOWN/DOWN00:01:18 10.0.0.125 vlan211 - root@core3:etc$ ldpctl sh nei ID State Address Iface Uptime 10.0.0.9OPERATIONAL/ACTIVE 10.0.0.126 vlan211 00:11:40 root@core1:etc$ ldpctl sh nei ID State Address Iface Uptime 10.0.0.7OPERATIONAL/DOWN 10.0.0.125 vlan211 00:11:35 Next I restore vlan211 with ifconfig vlan211 up no logs on core3 on core1: Sep 8 14:17:45 core1 ldpd[17310]: interface vlan211 up Sep 8 14:17:45 core1 ospfd[23127]: interface vlan211 up root@core3:etc$ ospfctl sh nei ID Pri StateDeadTime Address Iface Uptime 10.0.0.91 FULL/DR 00:00:37 10.0.0.122 vlan212 00:39:06 10.0.0.91 FULL/DR 00:00:37 10.0.0.126 vlan211 00:00:23 root@core1:etc$ ospfctl sh nei ID Pri StateDeadTime Address Iface Uptime 10.0.0.71 FULL/BCKUP 00:00:34 10.0.0.121 vlan212 00:39:28 10.0.0.71 FULL/BCKUP 00:00:34 10.0.0.125 vlan211 00:00:45 and shut down vlan212 on core1 with ifconfig vlan212 down Sep 8
Re: network bandwith with em(4)
On Sat, 5 Mar 2011 22:09:51 +0900 Ryan McBride mcbr...@openbsd.org wrote: | On Fri, Feb 25, 2011 at 08:40:10PM +0100, Manuel Guesdon wrote: | systat -s 2 vmstat: | | 3.2%Int 0.1%Sys 0.0%Usr 0.0%Nic 96.8%Idle | ||||||||||| | | The numbers presented here are calculated against the sum of your CPUs. | Since you are running bsd.mp with hyperthreading turned on, your machine | has 16 CPUs; each CPU accounts for about 6% of the total available so | the 3.2%Int value in your systat vmstat means that you have one cpu | (the only one that is actually working in the kernel) about 50% in | interrupt context. | | The exact behaviour varies from hardware to hardware, but it's not | surprising that you start losing packets at this level of load. OK. Understood. Thank you. I'll try SP kernel with mulithread disabled as soon as I can and make some tests. Manuel -- __ Manuel Guesdon - OXYMIUM
Re: network bandwith with em(4)
On Fri, 4 Mar 2011 22:53:30 +0900 Ryan McBride mcbr...@openbsd.org wrote: | On Thu, Mar 03, 2011 at 03:52:54PM +0100, Manuel Guesdon wrote: | | I think we already mentioned it that you will always see Ierr. The | | question is if the box is able to forward more then 150kpps. | | Yes that's one a the questions. We can divide it into 3 questions: | 1) is the limitation comes from hardware ? | 2) is the limitation comes from OpenBSD ? | 3) is the limitation comes from the way OpenBSD exploit hardware. | | 1) Except if someone explain by a+b why the hardware can't forward this | rate, I'm keep thinking it can do it (otherwise I don't see reason to sell | quad 1Gbps nic). | | Are you suggesting that because you have a quad-port gig nic, your box | should be able to do 6 *million* packets per second? By that logic my | 5-port Soekris net4801 should be able to handle 740kpps. (for reference, | the net4801 does about 3kpps with 4.9) No, I don't suggest that, I simply think it strange to have these kind of hardware specification (bus length and speed and bgps nic) and can't handle something like 160kpps in packets when the 'only' (i.e. no userland application) job of the server is to forward packets and that server seems to be 90% idle. | I'm ok to hear that I've purchased crappy motherboard card | or nic (but I'd like to understand why they are crappy). | | It has nothing to do with hardware crappiness, it has to do with your | expectations. Your box should certainly be able to fill a few of your | gig ports with 1500byte packets, but there is no way it'll handle a full | 4 gigabits / second of TCP syn packets. I don't expect that numbers. | I've spent days and days making tests, searches, reading kernel source | code and so on because I think it's interesting for the community to | find where the problem come from and how to solve it (if possible). If | finally the answer is that OpenBSD (or may be any other OS) can't | forward more than 150kpps without losing 1 to 20 pps with this | hardware, I'll live with it. | | Are you actually complaining about 1 to 20 errors per second? That's | 0.01% packet loss, welcome to ethernet. You will not see this change by | switching to different hardware or OS. I'm not complaining, I just try to see if it's 'normal' to have these loss when server seems not very loaded or if it hide a problem. | It /is/ possible that something is wrong with your box and you could be | getting a slightly higher throughput. But don't expect that we'll make | it handle 2 million PPS any time soon. Once again, I don't expect forwarding 2Mpps nor 4Gbps. | However, don't bother just telling us there's something to improve. | We've working on this for years, we've already made huge improvements, | and we're always looking for more. Perhaps the biggest limitation on | modern hardware is that we can't split the packet handling across | multiple CPUs, but your input provides exactly ZERO help with changing | that. Please see my previous messages: I've never said I see Ierrs, please fix it. Claudio suggested a possible mbuf leak problem and I've asked how can I try to confirm (or not) that. You've also pointed out high livelocks value so I've understood it as there's may be something wrong somewhere. I've provided requested information to help us trying to see if there's a problem or not. I'm not hardware expert, not driver expert and even not OpenBSD expert, I just try to understand and may be help improving things; All my apologies if my previous messages didn't reflect that. Manuel -- __ Manuel Guesdon - OXYMIUM
Re: network bandwith with em(4)
On Thu, 3 Mar 2011 00:51:46 + (UTC) Stuart Henderson s...@spacehopper.org wrote: | On 2011-02-28, Manuel Guesdon ml+openbsd.m...@oxymium.net wrote: | http://www.oxymium.net/tmp/core3-dmesg | | ipmi0 at mainbus0: version 2.0 interface KCS iobase 0xca2/2 spacing 1 | | ipmi is disabled in GENERIC. have you tried without it? Not on this server (I can't reboot it often) but on another one with same hardware: it doesn't seems to make difference (it still have Ierr). Manuel -- __ Manuel Guesdon - OXYMIUM
Re: network bandwith with em(4)
On Thu, 3 Mar 2011 11:12:09 +0100 Claudio Jeker cje...@diehard.n-r-g.com wrote: | On Thu, Mar 03, 2011 at 09:11:13AM +0100, Manuel Guesdon wrote: | On Thu, 3 Mar 2011 00:51:46 + (UTC) | Stuart Henderson s...@spacehopper.org wrote: | | | On 2011-02-28, Manuel Guesdon ml+openbsd.m...@oxymium.net wrote: | | http://www.oxymium.net/tmp/core3-dmesg | | | | ipmi0 at mainbus0: version 2.0 interface KCS iobase 0xca2/2 spacing 1 | | | | ipmi is disabled in GENERIC. have you tried without it? | | Not on this server (I can't reboot it often) but on another one with same | hardware: it doesn't seems to make difference (it still have Ierr). | | | This diff will help./sarcasm Of course and s/OpenBSD/FreeBSD/ may help too but none of these proposals seems very constructive. | I think we already mentioned it that you will always see Ierr. The | question is if the box is able to forward more then 150kpps. Yes that's one a the questions. We can divide it into 3 questions: 1) is the limitation comes from hardware ? 2) is the limitation comes from OpenBSD ? 3) is the limitation comes from the way OpenBSD exploit hardware. 1) Except if someone explain by a+b why the hardware can't forward this rate, I'm keep thinking it can do it (otherwise I don't see reason to sell quad 1Gbps nic). I'm ok to hear that I've purchased crappy motherboard card or nic (but I'd like to understand why they are crappy). The last 2 questions are still open in my mind. I've spent days and days making tests, searches, reading kernel source code and so on because I think it's interesting for the community to find where the problem come from and how to solve it (if possible). If finally the answer is that OpenBSD (or may be any other OS) can't forward more than 150kpps without losing 1 to 20 pps with this hardware, I'll live with it. But as we've already seen that increasing int/s improve performances (for good or bad reason), I keep thinking there's something to improve or fix but I may be wrong. Anyway, thank you for your work and help. Manuel -- __ Manuel Guesdon - OXYMIUM
Re: network bandwith with em(4)
On Wed, 2 Mar 2011 21:52:03 +0900 Ryan McBride mcbr...@openbsd.org wrote: | On Mon, Feb 28, 2011 at 12:49:01PM +0100, Manuel Guesdon wrote: | OK. Anyway NIC buffers restrict buffered packets number. But the problem | remain: why a (for exemple) dual Xeon E5520@2.27GHz with Intel PRO/1000 | (82576) can't route 150kpps without Ierr :-) | http://www.oxymium.net/tmp/core3-dmesg | | I've done some more comprehensive testing and talked to some other | developers, and it seems that 150kpps is in the range of what is | expected for such hardware with an unoptimized install. Thank you for the help ! | One thing that seems to have a big performance impact is | net.inet.ip.ifq.maxlen. If and only if your network cards are all | supported by MCLGETI (ie, they show LWM/CWM/HWM values in 'systat | mbufs', you can try increasing ifq.maxlen until you don't see | net.inet.ip.ifq.drops incrementing anymore under constant load. Yes all my nic interfaces have LWM/CWM/HWM values: IFACE LIVELOCKS SIZE ALIVE LWM HWM CWM System256 837715502 2k 1601252 em0 372k 4 4 256 4 em1 2582k 4 4 256 4 em2 3727512k 7 4 256 7 em382582k 4 4 256 4 em4 250722k63 4 25663 em536582k 8 4 256 8 em6 5012882k24 4 25624 em7 222k 4 4 256 4 em8 365512k23 4 25623 em9 520532k 5 4 256 4 I've already increased to 2048 some time ago with good effect on ifq.drops but even when ifq.drops doesn't increase, I still have Ierrs on interfaces (I've just verified this right now) :-) I've made some change to em some time ago to dump card stats with -debug option and it give me this stuff like this: --- em4: Dropped PKTS = 0 em4: Excessive collisions = 0 em4: Symbol errors = 0 em4: Sequence errors = 0 em4: Defer count = 3938 em4: Missed Packets = 17728103 em4: Receive No Buffers = 21687370 em4: Receive Length Errors = 0 em4: Receive errors = 0 em4: Crc errors = 0 em4: Alignment errors = 0 em4: Carrier extension errors = 0 em4: RX overruns = 1456725 em4: watchdog timeouts = 0 em4: XON Rcvd = 31813 em4: XON Xmtd = 2304158 em4: XOFF Rcvd = 935928 em4: XOFF Xmtd = 20031226 em4: Good Packets Rcvd = 33772245185 em4: Good Packets Xmtd = 20662758161 --- em4: Dropped PKTS = 0 em4: Excessive collisions = 0 em4: Symbol errors = 0 em4: Sequence errors = 0 em4: Defer count = 3938 em4: Missed Packets = 17728457 em4: Receive No Buffers = 21687421 em4: Receive Length Errors = 0 em4: Receive errors = 0 em4: Crc errors = 0 em4: Alignment errors = 0 em4: Carrier extension errors = 0 em4: RX overruns = 1456730 em4: watchdog timeouts = 0 em4: XON Rcvd = 31813 em4: XON Xmtd = 2304166 em4: XOFF Rcvd = 935928 em4: XOFF Xmtd = 20031588 em4: Good Packets Rcvd = 33772265127 em4: Good Packets Xmtd = 20662759039 So If I well understand this, the card indicate that there are Missed Packets because the nic have sometime not enough buffer space to store them which seems stange with 8000 int/s and an 40K buffer (40K for Rx, 24K for Tx as seen in if_em.c) One of my interrogation is how to know that the system is heavy loaded. systat -s 2 vmstat, give me these informations: Proc:r d s wCsw Trp Sys Int Sof Flt 14 149 2 509 2011898 31 3.5%Int 0.5%Sys 0.0%Usr 0.0%Nic 96.0%Idle ||||||||||| which make me think that the system is really not very loaded but I may miss a point Manuel -- __ Manuel Guesdon - OXYMIUM
Re: network bandwith with em(4)
seems 'normal' and be sure (as far as I can) it doesn't hide a more or less important problem :-) | The FIFO on the card don't matter that much. The problem is the DMA ring | and the amount of slots on the ring that are actually usable. This is the | CWM in the systat mbuf output. MCLGETI() reduces the buffers on the ring | to limit the work getting into the system over a specific network card. OK | One of my interrogation is how to know that the system is heavy loaded. | systat -s 2 vmstat, give me these informations: | | Proc:r d s wCsw Trp Sys Int Sof Flt |14 149 2 509 2011898 31 | | 3.5%Int 0.5%Sys 0.0%Usr 0.0%Nic 96.0%Idle | ||||||||||| | | which make me think that the system is really not very loaded but I may miss | a point | | | So you have this 3.5% Int and 0.5% Sys load and are still hitting tons of | LIVELOCKS (e.g. the counters increase all the time)? It really looks like | there is a different problem (the mentioned mbuf leak) slowing you down. :-) 2 points which may help: On a same hardware but with v 4.7, I have high livelocks too: IFACE LIVELOCKS SIZE ALIVE LWM HWM CWM System25694 271 2k84 615 lo0 em015202k 4 4 256 4 em1 1962k 5 4 256 4 em2 272212k 6 4 256 6 em3 12k 4 4 256 4 em4 12k 4 4 256 4 em5 484082k 7 4 256 7 em6 3792k 4 4 256 4 em7 2 em8 12k 4 4 256 4 em9 556122k 9 4 256 9 The 2 systems are generic MP kernel build with options: option MULTIPROCESSOR option MPLS And option EM_DEBUG on core3 (the 4.8 system): I've added it to try to debug this problem. core3 run ospf (v4 v6) and bgpd with 13 peers and around 344000 routes (3 peers feed 344000 route each). The problem was here before we run ospf6d. Manuel -- __ Manuel Guesdon - OXYMIUM mgues...@oxymium.net 4 rue Auguste Gillot - 93200 Saint-Denis - France Standard: 0 811 093 286 (Cout d'un appel local) Fax: +33 1 7473 3971 LD Support: +33 1 7473 3973 LD: +33 1 7473 3980 -- Cordialement, Manuel Guesdon -- __ Manuel Guesdon - OXYMIUM
Re: network bandwith with em(4)
On Thu, 24 Feb 2011 22:03:22 -0700 (MST) Theo de Raadt dera...@cvs.openbsd.org wrote: | We've got same problems (on a routeur, not a firewall). Increasing | MAX_INTS_PER_SEC to 24000 increased bandwith and lowered packet loss. | Our cards are Intel PRO/1000 (82576) and Intel PRO/1000 FP | (82576). | | Did you try to increase the number of descriptor? | #define EM_MAX_TXD 256 | #define EM_MAX_RXD 256 | | I've tried up to 2048 (and with MAX_INTS_PER_SEC = 16000) but it looks | worth. | | Say you increase this. | | That means on a single interrupt, the handler could be forced to handle | around 2000 packets. | | Nothing else will happen on the machine during that period. | | Can you say 'interrupt latency increase' boys and girls? OK. Anyway NIC buffers restrict buffered packets number. But the problem remain: why a (for exemple) dual Xeon E5520@2.27GHz with Intel PRO/1000 (82576) can't route 150kpps without Ierr :-) http://www.oxymium.net/tmp/core3-dmesg Manuel
Re: network bandwith with em(4)
On Mon, 28 Feb 2011 21:29:01 +0900 Ryan McBride mcbr...@openbsd.org wrote: | On Mon, Feb 28, 2011 at 12:49:01PM +0100, Manuel Guesdon wrote: | OK. Anyway NIC buffers restrict buffered packets number. But the problem | remain: why a (for exemple) dual Xeon E5520@2.27GHz with Intel PRO/1000 | (82576) can't route 150kpps without Ierr :-) | http://www.oxymium.net/tmp/core3-dmesg | | Turn off hyperthreading, run a uniprocessor kernel rather than bsd.mp. | I can't immediately tell if you're running i386 or amd64, but i386 will | probably be better. amd64 currently. | There may be something else going on here, because 150kpps should be | trivial for a box like this, but the advice above will certainly improve | your situation. Thank you ! I'll plan to test that ! | (Yes, it will hurt to know that 7 of your cores are doing nothing. Too | bad, they're just slowing you down now) Hum, I prefer to see it working well with only 1 core instead of working bad using 8 cores :-) Manuel -- __ Manuel Guesdon - OXYMIUM
Re: network bandwith with em(4)
Hi, On Fri, 25 Feb 2011 08:41:20 +0900 Ryan McBride mcbr...@openbsd.org wrote: .. | The output of `systat mbufs` is worth looking at, in particular the | figure for LIVELOCKS, and the LWM/CWM figures for the interface(s) in | question. | | If the livelocks value is very high, and the LWM/CWM numbers are very | small, Thnak you for your help, Ryan. It seems I'm in this situation: 5 usersLoad 0.17 0.15 0.10 (1-48 of 58)Fri Feb 25 20:27:44 2011 IFACE LIVELOCKS SIZE ALIVE LWM HWM CWM System256 820505446 2k 2571252 lo0 em0 342k 4 4 256 4 em1 2572k 4 4 256 4 em2 3383822k 7 4 256 7 em382582k 4 4 256 4 em4 226352k48 4 25648 em534702k 6 4 256 6 em6 4582412k28 4 25628 em7 82k 4 4 256 4 em8 332322k50 4 25650 em9 468782k 4 4 256 4 systat -s 2 vmstat: 5 usersLoad 0.22 0.17 0.10 Fri Feb 25 20:28:18 2011 memory totals (in KB)PAGING SWAPPING Interrupts real virtual free in out in out25589 total Active 741204741204 1761104 ops 1600 clock All 1278264 1278264 1761104 pages 11 ipi 1 em0 Proc:r d s wCsw Trp Sys Int Sof Flt forks em1 1532 5 117 2286799 33 fkppw2691 em2 fksvm em3 3.2%Int 0.1%Sys 0.0%Usr 0.0%Nic 96.8%Idle pwait6778 em4 ||||||||||| relck 382 em5 ||rlkok7328 em6 noram em7 Namei Sys-cacheProc-cacheNo-cache ndcpy6724 em8 Calls hits%hits %miss % fltcp 74 em9 3 zfod uhci1 cow ehci0 Disks wd0 cd0 sd0 25328 fmin ehci1 seeks 33770 ftarg pciide0 xfers itarg com0 speed 241 wired com1 sec pdfre pckbc0 pdscn pzidle 44 kmapent 81542 IPKTS 78860 OPKTS (it's on a device with MAX_INTS_PER_SEC=8000) |it is likely that the MCLGETI interface is protecting your system | from being completly flattened by forcing the em card to drop packets | (supported by your statement that the error rate is high). | | How about a _full_ dmesg, so someone can take a wild guess at what | your machine is capable of? http://www.oxymium.net/tmp/core3-dmesg This device is not overloaded but it drop packets :-( Manuel
Re: network bandwith with em(4)
On Wed, 23 Feb 2011 17:52:21 +0100 Patrick Lamaiziere patf...@davenulle.org wrote: | Le Tue, 22 Feb 2011 19:13:48 +0100, | Manuel Guesdon ml+openbsd.m...@oxymium.net a icrit : | | Hello, | | We've got same problems (on a routeur, not a firewall). Increasing | MAX_INTS_PER_SEC to 24000 increased bandwith and lowered packet loss. | Our cards are Intel PRO/1000 (82576) and Intel PRO/1000 FP | (82576). | | Did you try to increase the number of descriptor? | #define EM_MAX_TXD 256 | #define EM_MAX_RXD 256 | | I've tried up to 2048 (and with MAX_INTS_PER_SEC = 16000) but it looks | worth. Thank you ! I'll investigate this ! | My configuration is two firewalls in master/backup mode. On the first | one the two most busy links are on the first card (Fiber). On the | second, these two links are not on the same card, one is on the fiber | card and the other on the cupper card. I've noticed today that the | input Ierr rate is far lower on the second firewall than on the first. | | Is it possible to have a bottleneck on the ethernet card or on the bus? May be (but I'm not an expert :-). In my case, the bus doesn't seems to be the problem (cards are on the PCI #1 64-bit PCI Express on a X8DTU http://www.supermicro.com/products/motherboard/QPI/5500/X8DTU.cfm). Manuel -- __ Manuel Guesdon - OXYMIUM
Re: network bandwith with em(4)
Hi, On Tue, 22 Feb 2011 18:09:32 +0100 Patrick Lamaiziere patf...@davenulle.org wrote: | I'm using two ethernet cards Intel 1000/PRO quad ports (gigabit) on a | firewall (one fiber and one copper). | | The problem is that we don't get more than ~320 Mbits/s of bandwith | beetween the internal networks and internet (gigabit). | | As far I can see, on load there is a number of Ierr on the interface | connected to Internet (between 1% to 5%). | | Also the interrupt rate on this card is around ~7500 (using systat). In | the em(4) driver, there is a limitation of the interrupt rate at 8000/s. | | if_em.h | /* | * MAX_INTS_PER_SEC (ITR - Interrupt Throttle Register) | * The Interrupt Throttle Register (ITR) limits the delivery of | interrupts | * to a reasonable rate by providing a guaranteed inter-interrupt delay | * between interrupts asserted by the Ethernet controller. | */ | #define MAX_INTS_PER_SEC 8000 | | Do you think I can increase this value? The interrupt rate of the | machine is at max ~60% (top). We've got same problems (on a routeur, not a firewall). Increasing MAX_INTS_PER_SEC to 24000 increased bandwith and lowered packet loss. Our cards are Intel PRO/1000 (82576) and Intel PRO/1000 FP (82576). We still have Ierr (but lower count). I don't understand why we still get errors with a 90+%Idle system. I've made some calculations and for a 1Gbps link with 600 Bytes packets, we have to process 208 334 pps. With a 40KB RX buffer on nic (4/600=66 packets max in buffer) we only need 208334/66=3157 interrupts/s so 24000 and even 8000 interrupts/s should be enough :-( If someone have an explanation... Manuel
Re: OSPF6D on 4.7 not adding certain {passive} interfaces to RIB.
On Sun, 13 Feb 2011 17:36:01 + (GMT) a b rclo...@yahoo.co.uk wrote: | Awsome ! | | Thanks Manuel. | | Think I'll hold out for it to become an errata patch rather than applying the | interim one. | | I've also got an issue with BGPD not complying with announce all when talking | to an eBGP neighbor (redistributing to a private ASN peer). I'll do some more | digging around the PR database incase I've missed something, but if you know of | something off the top of your head like you did on this problem, feel free to | let me know ! I haven't found such problem. May be bad filter rules ? Manuel
Re: OSPF6D on 4.7 not adding certain {passive} interfaces to RIB.
Hi, On Sun, 13 Feb 2011 12:50:52 + (GMT) a b rclo...@yahoo.co.uk wrote: | I've got a curious issue. | ... | The loopback and vlan interfaces get added to the RIB without | problem. | | bnx1 does not get added to the RIB unless I remove the {passive} | statement, in | which case everything works fine. ... | Has anyone come accross the same issue ? Yes, see: http://wwhw.mail-archive.com/misc@openbsd.org/msg96980.html There a link to a patch from Patrick Coleman http://www.openbsd.org/query-pr.html Search PR 6559 Manuel
Re: ospf6d doesn't announce passive interfaces
Hi, On Tue, 9 Nov 2010 14:04:22 +0100 Jan Johansson janj+open...@wenf.org wrote: ... | I am now trying to replicate this setup for IPv6 using | ospf6d but it seems that it will only announce addresses on | active interfaces. FYI, having the same problem (on passive emX; I haven't tried on carp), I've applied your patch: http://patrick.ld.net.au/ospf6d-fix-passive-interfaces-mk2.patch which solve this problem but create a new one: loopback (lo1 in my case) is no more announced. PR opened: http://cvs.openbsd.org/cgi-bin/query-pr-wrapper?full=yesnumbers=6559 Manuel
Re: ospf6d doesn't announce passive interfaces
On Thu, 10 Feb 2011 00:21:59 +0800 Patrick Coleman blin...@gmail.com wrote: | On Wed, Feb 9, 2011 at 11:42 PM, Manuel Guesdon | ml+openbsd.m...@oxymium.net wrote: | Hi, | | On Tue, 9 Nov 2010 14:04:22 +0100 | Jan Johansson janj+open...@wenf.org wrote: | ... | | I am now trying to replicate this setup for IPv6 using | | ospf6d but it seems that it will only announce addresses on | | active interfaces. | | FYI, having the same problem (on passive emX; I haven't tried on carp), I've | applied your patch: | B http://patrick.ld.net.au/ospf6d-fix-passive-interfaces-mk2.patch | which solve this problem but create a new one: loopback (lo1 in my case) is | no more announced. | | Oops. I do intend to fix this; things have just been busy recently. | Hopefully soon. Thx ! I've made a (very) quik dirty change in rde.c: --- rde.c.patched Wed Feb 9 13:48:20 2011 +++ rde.c Wed Feb 9 17:50:04 2011 @@ -1476,13 +1476,15 @@ * This will not advertise backup carp interfaces (which have a link * state of down). */ - if (!(LINK_STATE_IS_UP(iface-linkstate)) || + if (iface-media_type!=IFT_LOOP + ( + !(LINK_STATE_IS_UP(iface-linkstate)) || !(iface-flags IFF_UP) || ((iface-state IF_STA_DOWN) !((iface-media_type == IFT_CARP) || (iface-cflags F_IFACE_PASSIVE))) || ((iface-linkstate == LINK_STATE_UNKNOWN) - (iface-media_type == IFT_CARP))) { +(iface-media_type == IFT_CARP { log_debug(orig_intra_lsa_rtr: area %s, interface %s: not including in LSA, inet_ntoa(area-id), iface-name); continue; which bring back the loopback announcement but it's really dirty :-) Manuel
Re: em(4) detailed errors
Hi, On Thu, 18 Nov 2010 16:38:55 +0100 Manuel Guesdon ml+openbsd.m...@oxymium.net wrote: | Is there a way to get detailed em(4) device errors without having to | recompile kernel with EM_DEBUG ? | I try to find in-errors reason(s) but netstat only gives errors as a sum of | dropped_pkts + stats.rxerrc + stats.crcerrs + sc-stats.algnerrc +... as far | as I can see :-( I took me some time to upgrade to 4.8 version and modify kernel to get detail info on demand. I still have the problem on multiple servers (but with very similar hardware and software). em4 at pci11 dev 0 function 0 Intel PRO/1000 (82576) rev 0x01: apic 9 int 15 (irq 15), address 00:25:90:05:53:3e em4: flags=8843UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST mtu 1500 lladdr 00:25:90:05:53:3e description: br1.th2 priority: 0 groups: pf-off media: Ethernet autoselect (1000baseT full-duplex,master,rxpause,txpause) status: active inet6 fe80::225:90ff:fe05:533e%em4 prefixlen 64 scopeid 0x5 #netstat -I em4 -d NameMtu Network Address IpktsIerrsOpkts Oerrs Colls Drop em4 1500 Link 00:25:90:05:53:3e 8936976317 4614835 5430820423 0 00 em4 1500 fe80::%em4/ fe80::225:90ff:fe 8936976317 4614835 5430820423 0 00 Detailed stats: em4: Dropped PKTS = 0 em4: Excessive collisions = 0 em4: Symbol errors = 0 em4: Sequence errors = 0 em4: Defer count = 353 em4: Missed Packets = 4241586 em4: Receive No Buffers = 5297798 em4: Receive Length Errors = 0 em4: Receive errors = 0 em4: Crc errors = 0 em4: Alignment errors = 0 em4: Carrier extension errors = 0 em4: RX overruns = 372913 em4: watchdog timeouts = 0 em4: XON Rcvd = 3086 em4: XON Xmtd = 592675 em4: XOFF Rcvd = 164449 em4: XOFF Xmtd = 4833995 em4: Good Packets Rcvd = 8936940571 em4: Good Packets Xmtd = 5430798347 At this time, the interface carry around 56mbps inbound and 35Mbps outbound Server load is 0.14 The em4 interface is connected to a an interface on another server with near same config (but I get same kind of problem for interfaces connected to switch with copper and fiber). Errors seems a little related to interface load but not very closely. Each servers have 2xQuad-ports cards (82576) + 2 ports on motherboard (82576 too). I was thinking of problem with interrupt mitigation. Any idea, comments, things to test ? Thank you ! Manuel
em(4) detailed errors
Hi, Is there a way to get detailed em(4) device errors without having to recompile kernel with EM_DEBUG ? I try to find in-errors reason(s) but netstat only gives errors as a sum of dropped_pkts + stats.rxerrc + stats.crcerrs + sc-stats.algnerrc +... as far as I can see :-( Manuel
Problem with OSPF static route redistribution and routing table
Hi, I have some problem with a redistributed static route not added to the routing table. On a routeur A, there is a static route: route add -net a.b.c.d/27 e.f.g.h (e.f.g.h is a carp IP on this router) route get a.b.c.d show the good gateway (e.f.g.h) ospfd.conf for this router have redistribute static set { metric 1 } On a routeur B, I find the static route when I do a ospfctl sh da ext LS age: 434 Options: *|*|-|-|-|-|-|* LS Type: AS External Link State ID: a.b.c.d (External Network Number) Advertising Router: IP of A Router LS Seq Number: 0x802b Checksum: 0xf321 Length: 36 Network Mask: 255.255.255.224 Metric type: 1 Metric: 1 Forwarding Address: e.f.g.h External Route Tag: 0 So far so good: the route is redistributed but on this B router, a route get a.b.c.d doesn't return the good final gateway (e.f.g.h) nor the A router; instead it returns the default gateway for this router. Additional element: Router B knows how to reach the final gateway e.f.g.h (route get e.f.g.h is correct). Any idea ? Manuel
IPMI local access
Hi, I've seen BMC local access seems impossible: http://www.mail-archive.com/misc@openbsd.org/msg93376.html Is it really impossible or did I missed some point ? Is there a reason for not implementing a local driver as /usr/src/sys/dev/ipmi.c seems to contain all the code needed to interact with bmc ? Manuel -- __ Manuel Guesdon - OXYMIUM