Modify

Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#15315 closed defect (fixed)

netifd: policy routing lookup main

Reported by: jernej@… Owned by: developers
Priority: normal Milestone: Chaos Calmer 15.05
Component: base system Version: Trunk
Keywords: netifd Cc:

Description

It seems that there is a bug in current trunk (r39859) that prevents the policy routing from working correctly. Using the following configuration:

config rule
        option dest '127.0.0.1/32'
        option lookup 'main'
        option priority 999

Results in the following rule:

999:	from all to 127.0.0.1 lookup 1

It would seem that the rule is added with lookup table set to 0 (which is RT_TABLE_UNSPEC). It appears to originate from system_resolve_rt_table in netifd where at the end of the function is a weird directive:

       /* do not consider main table special */
       if (table == RT_TABLE_MAIN)
               table = RT_TABLE_UNSPEC;

If the table is RT_TABLE_MAIN, the table is set to RT_TABLE_UNSPEC which causes the kernel to insert a rule with incrementing table numbers which are wrong (they are not 254)? Why is this good for?

Attachments (0)

Change History (4)

comment:1 Changed 4 years ago by mmitar@…

CCing.

comment:2 Changed 4 years ago by jernej@…

This is still an issue in latest trunk.

comment:4 Changed 4 years ago by jernej@…

The build now seems to fail because the new commits are missing on git.openwrt.org. Have they been pushed or are they periodically synced?

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.