| 1896 | } |
| 1897 | |
| 1898 | static inline void |
| 1899 | handle_msg(struct ff_msg *msg, uint16_t proc_id) |
| 1900 | { |
| 1901 | switch (msg->msg_type) { |
| 1902 | case FF_SYSCTL: |
| 1903 | handle_sysctl_msg(msg); |
| 1904 | break; |
| 1905 | case FF_IOCTL: |
| 1906 | #ifdef INET6 |
| 1907 | case FF_IOCTL6: |
| 1908 | #endif |
| 1909 | handle_ioctl_msg(msg); |
| 1910 | break; |
| 1911 | case FF_ROUTE: |
| 1912 | handle_route_msg(msg); |
| 1913 | break; |
| 1914 | case FF_TOP: |
| 1915 | handle_top_msg(msg); |
| 1916 | break; |
| 1917 | #ifdef FF_NETGRAPH |
| 1918 | case FF_NGCTL: |
| 1919 | handle_ngctl_msg(msg); |
| 1920 | break; |
| 1921 | #endif |
| 1922 | #ifdef FF_IPFW |
| 1923 | case FF_IPFW_CTL: |
| 1924 | handle_ipfw_msg(msg); |
| 1925 | break; |
| 1926 | #endif |
| 1927 | case FF_TRAFFIC: |
| 1928 | handle_traffic_msg(msg); |
| 1929 | break; |
| 1930 | #ifdef FF_KNI |
| 1931 | case FF_KNICTL: |
| 1932 | handle_knictl_msg(msg); |
| 1933 | break; |
| 1934 | #endif |
| 1935 | default: |
| 1936 | handle_default_msg(msg); |
| 1937 | break; |
| 1938 | } |
| 1939 | if (rte_ring_enqueue(msg_ring[proc_id].ring[msg->msg_type], msg) < 0) { |
| 1940 | if (msg->original_buf) { |
| 1941 | rte_free(msg->buf_addr); |
| 1942 | msg->buf_addr = msg->original_buf; |
| 1943 | msg->buf_len = msg->original_buf_len; |
| 1944 | msg->original_buf = NULL; |
| 1945 | } |
| 1946 | |
| 1947 | rte_mempool_put(message_pool, msg); |
| 1948 | } |
| 1949 | } |
| 1950 | |
| 1951 | static inline int |
| 1952 | process_msg_ring(uint16_t proc_id, struct rte_mbuf **pkts_burst) |
no test coverage detected