Bug 1097684 - Quagga do not create kernel routes
Summary: Quagga do not create kernel routes
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: quagga
Version: 20
Hardware: All
OS: Linux
unspecified
urgent
Target Milestone: ---
Assignee: Michal Sekletar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-05-14 10:24 UTC by Sergey
Modified: 2014-06-16 23:29 UTC (History)
12 users (show)

Fixed In Version: kernel-3.14.7-100.fc19
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-06-11 16:30:45 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Proposed patch for quagga (1.69 KB, patch)
2014-05-15 15:12 UTC, Michal Sekletar
no flags Details | Diff

Description Sergey 2014-05-14 10:24:29 UTC
Description of problem:

Quagga (zebra daemon) do not create learned or static routes in kernel table

Version-Release number of selected component (if applicable):
kernel 3.14.3-200.fc20.i686+PAE
quagga zebra version 0.99.22.4


How reproducible:
install and update Fedora 20
disable selinux
install quagga

in shell:

vtysh
conf t
ip route 22.33.44.55 255.255.255.0 11.22.33.44
log stdout
Ctrl^z
wr
quit

service stop zebra
/usr/sbin/zebra  -A 127.0.0.1 -f /etc/quagga/zebra.conf -u root -g root
2014/05/14 14:20:39 ZEBRA: Zebra 0.99.22.4 starting: vty@2601
2014/05/14 14:20:39 ZEBRA: netlink-cmd error: Operation not permitted, type=RTM_NEWROUTE(24), seq=6, pid=0


Actual results:
route 22.33.44.55 255.255.255.0 via 11.22.33.44 no int kernel route table
route -n

Expected results:
route 22.33.44.55 255.255.255.0 via 11.22.33.44 must see in route -n comand

Additional info:
trace zebra int route add moment
capset({_LINUX_CAPABILITY_VERSION_3, 0}, {CAP_NET_ADMIN|CAP_NET_RAW|CAP_SYS_ADMIN, CAP_NET_ADMIN|CAP_NET_RAW|CAP_SYS_ADMIN, 0}) = 0

sendmsg(6, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"4\0\0\0\30\0\5\4\7\0\0\0\0\0\0\0\2 \0\0\0\v\0\1\0\0\0\0\10\0\1\0"..., 52}], msg_controllen=0, msg_flags=0}, 0) = 52

capset({_LINUX_CAPABILITY_VERSION_3, 0}, {0, CAP_NET_ADMIN|CAP_NET_RAW|CAP_SYS_ADMIN, 0}) = 0

recvmsg(6, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"H\0\0\0\2\0\0\0\7\0\0\0\320\357\377\377\377\377\377\3774\0\0\0\30\0\5\4\7\0\0\0"..., 8192}], msg_controllen=0, msg_flags=0}, 0) = 72

Comment 1 Richard W.M. Jones 2014-05-15 09:40:24 UTC
I have the same thing.  Since a few days ago, ripd isn't
creating routes:

May 15 10:37:10 choo.home.annexia.org zebra[9973]: netlink-cmd error: Operation not permitted, type=RTM_NEWROUTE(24), seq=6, pid=0
May 15 10:37:10 choo.home.annexia.org zebra[9973]: netlink-cmd error: Operation not permitted, type=RTM_NEWROUTE(24), seq=7, pid=0
May 15 10:37:10 choo.home.annexia.org zebra[9973]: netlink-cmd error: Operation not permitted, type=RTM_NEWROUTE(24), seq=8, pid=0
May 15 10:37:10 choo.home.annexia.org zebra[9973]: netlink-cmd error: Operation not permitted, type=RTM_NEWROUTE(24), seq=9, pid=0

kernel 3.14.3-200.fc20.x86_64
quagga-0.99.22.4-1.fc20.x86_64

Comment 2 Richard W.M. Jones 2014-05-15 09:50:03 UTC
I asked on the quagga-users mailing list:
https://lists.quagga.net/pipermail/quagga-users/2014-May/013705.html

Comment 3 Michal Sekletar 2014-05-15 14:22:23 UTC
This is a kernel regression. Bug is caused by changes introduced in patch set linked bellow. Reassigning to the kernel.

http://www.spinics.net/lists/netdev/msg280198.html

Comment 4 Josh Boyer 2014-05-15 15:04:59 UTC
Upstream is aware of the impact on Quagga.  The net maintainer has said the patches are going to stay as-is as far as I can tell.  See last email below:

David Miller
	
May 8 (7 days ago)
		
to torvalds, stephen, luto, security, vgoyal, serge, ssorce, ebiederm, netdev, jorge
From: Linus Torvalds <torvalds>
Date: Thu, 8 May 2014 14:41:43 -0700

> Annoying. We may have to revert the changes because of the
> regression, even though it sounds like the new semantics would
> actually be preferred for the very application that regresses...

I think we really have to go with the new semantics, personally.

Comment 5 Michal Sekletar 2014-05-15 15:12:06 UTC
Created attachment 895972 [details]
Proposed patch for quagga

Comment 6 Michal Sekletar 2014-05-15 15:16:24 UTC
Here is a scratch build with proposed quagga patch. Would be great if someone could test it. Also comments on how to make quagga work with new semantics would be greatly appreciated.

http://koji.fedoraproject.org/koji/taskinfo?taskID=6852370

Comment 7 Richard W.M. Jones 2014-05-15 15:27:12 UTC
(In reply to Michal Sekletar from comment #6)
> Here is a scratch build with proposed quagga patch. Would be great if
> someone could test it. Also comments on how to make quagga work with new
> semantics would be greatly appreciated.
> 
> http://koji.fedoraproject.org/koji/taskinfo?taskID=6852370

Yup, works fine over here.

Comment 8 Michal Sekletar 2014-05-15 19:07:00 UTC
As per comment #4 reassigning back to quagga. If no one objects I will commit the proposed patch to workaround kernel behavior which is apparently going to stay.

Comment 9 Michal Sekletar 2014-05-16 10:43:37 UTC
FYI, I've changed my mind a bit and I won't be doing update just yet. I've sent patch upstream and once this is cleaned up there I'll backport whatever we'll come up with.

Comment 10 gcarter 2014-05-27 02:20:58 UTC
I can confirm the affects on 3.14 series kernels.

I do not have this problem with 3.13 series kernels.

To avoid, use a 3.13 kernel, either build or yum update.

The hypervisor doesn't seem to be affected, only the guests.

FYI

Comment 11 Michal Sekletar 2014-05-27 10:58:39 UTC
It looks like upstream doesn't care much that *routing* suite is unable to put actual routes in the kernel routing tables [0]. Nevertheless, I will be releasing bugfix update today, please test and leave karma.

[0] https://lists.quagga.net/pipermail/quagga-dev/2014-May/011338.html

Comment 12 Fedora Update System 2014-05-27 11:38:31 UTC
quagga-0.99.22.4-4.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/quagga-0.99.22.4-4.fc20

Comment 13 Fedora Update System 2014-05-28 02:54:45 UTC
Package quagga-0.99.22.4-4.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing quagga-0.99.22.4-4.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-6770/quagga-0.99.22.4-4.fc20
then log in and leave karma (feedback).

Comment 14 Josh Boyer 2014-06-03 11:35:45 UTC
FWIW, the upstream kernel maintainers found a patch that should fix quagga:

http://www.spinics.net/lists/netdev/msg284505.html

That was added into Linus' tree last night so it will be in 3.15 final.  I'll grab it for F19/F20 3.14.y kernels as well.

Comment 15 Michal Sekletar 2014-06-03 12:51:54 UTC
Patch I sent upstream will appear in next version of quagga so we don't really care about this kernel issue any more.

Comment 16 Josh Boyer 2014-06-03 12:53:51 UTC
OK, that's likely good overall.  Did you update quagga on F19 though, as that has the same kernel CVE fixes that introduced the issue.  If not, then the subsequent patch I'll be adding should fix things there.

Comment 17 Michal Sekletar 2014-06-03 13:53:53 UTC
Nope I didn't fix F19. To be honest I wasn't aware that those kernel patches were included in F19 as well. If you backport subsequent kernel fix we should be all set. Thanks!

Comment 18 Fedora Update System 2014-06-08 06:22:10 UTC
kernel-3.14.6-100.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/kernel-3.14.6-100.fc19

Comment 19 Fedora Update System 2014-06-08 06:24:46 UTC
kernel-3.14.6-200.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/kernel-3.14.6-200.fc20

Comment 20 Fedora Update System 2014-06-11 16:30:45 UTC
kernel-3.14.6-200.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 21 gcarter 2014-06-11 22:48:12 UTC
BGP topology mass update confirms 3.14.6 corrects the problem on a 40 node network with 1209 edges, part of which is virtualized.

I am getting route entries again.

Very good.

很好

Comment 22 Fedora Update System 2014-06-12 06:24:25 UTC
quagga-0.99.22.4-4.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 23 Fedora Update System 2014-06-12 12:16:21 UTC
kernel-3.14.7-100.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/kernel-3.14.7-100.fc19

Comment 24 Fedora Update System 2014-06-16 23:29:32 UTC
kernel-3.14.7-100.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.